From 5dc71dfeb8b58b02cc9d466d2f4e7289dad3bce8 Mon Sep 17 00:00:00 2001 From: "Samir L. Boulema" Date: Wed, 29 Jun 2016 15:30:10 +0200 Subject: [PATCH] 3.3 Only delete branches when operation is successful --- GitFlow/Commands/GitFlowCommands.cs | 188 +++++++++++----------- GitFlow/Commands/MainMenuCommands.cs | 48 +++--- GitFlow/Resources/GettingStartedGuide.txt | 49 +----- GitFlow/Resources/ReleaseNotes.txt | 85 ---------- GitFlow/TGIT.csproj | 4 - GitFlow/TGITPackage.cs | 2 +- GitFlow/source.extension.vsixmanifest | 2 +- 7 files changed, 121 insertions(+), 257 deletions(-) delete mode 100644 GitFlow/Resources/ReleaseNotes.txt diff --git a/GitFlow/Commands/GitFlowCommands.cs b/GitFlow/Commands/GitFlowCommands.cs index 290addc..79cb16b 100644 --- a/GitFlow/Commands/GitFlowCommands.cs +++ b/GitFlow/Commands/GitFlowCommands.cs @@ -1,30 +1,28 @@ -using EnvDTE; -using SamirBoulema.TGIT.Helpers; +using SamirBoulema.TGIT.Helpers; using Microsoft.VisualBasic; using System; +using System.IO; using Microsoft.VisualStudio.Shell; namespace SamirBoulema.TGIT.Commands { public class GitFlowCommands { - private ProcessHelper processHelper; - private CommandHelper commandHelper; - private FileHelper fileHelper; - private GitHelper gitHelper; - private DTE dte; - private OptionPageGrid options; - private string gitBin; + private readonly ProcessHelper processHelper; + private readonly CommandHelper commandHelper; + private readonly FileHelper fileHelper; + private readonly GitHelper gitHelper; + private readonly OptionPageGrid options; + private readonly string gitBin; private readonly OleMenuCommandService mcs; public GitFlowCommands(ProcessHelper processHelper, CommandHelper commandHelper, GitHelper gitHelper, FileHelper fileHelper, - DTE dte, OptionPageGrid options, OleMenuCommandService mcs) + OptionPageGrid options, OleMenuCommandService mcs) { this.processHelper = processHelper; this.commandHelper = commandHelper; this.gitHelper = gitHelper; this.fileHelper = fileHelper; - this.dte = dte; this.options = options; gitBin = fileHelper.GetMSysGit(); this.mcs = mcs; @@ -72,12 +70,11 @@ private void StartFeatureCommand(object sender, EventArgs e) */ processHelper.StartProcessGui( "cmd.exe", - string.Format("/c cd \"{1}\" && " + - "echo ^> git checkout {2} && \"{4}\" checkout {2} && " + - "echo ^> git pull && \"{4}\" pull && " + - "echo ^> git checkout -b {3}/{0} {2} && \"{4}\" checkout -b {3}/{0} {2}", - featureName, solutionDir, options.DevelopBranch, options.FeatureBranch, gitBin), - string.Format("Starting feature {0}", featureName) + $"/c cd \"{solutionDir}\" && " + + FormatCLICommand($"checkout {options.DevelopBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"checkout -b {options.FeatureBranch}/{featureName} {options.DevelopBranch}", true), + $"Starting feature {featureName}" ); } @@ -95,9 +92,9 @@ private void StartFeatureGitHubCommand(object sender, EventArgs e) processHelper.StartProcessGui( "cmd.exe", $"/c cd \"{solutionDir}\" && " + - $"echo ^> git checkout {options.MasterBranch} && \"{gitBin}\" checkout {options.MasterBranch} && " + - $"echo ^> git pull && \"{gitBin}\" pull && " + - $"echo ^> git checkout -b {options.FeatureBranch}/{featureName} {options.MasterBranch} && \"{gitBin}\" checkout -b {options.FeatureBranch}/{featureName} {options.MasterBranch}", + FormatCLICommand($"checkout {options.MasterBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"checkout -b {options.FeatureBranch}/{featureName} {options.MasterBranch}", true), $"Starting feature {featureName}" ); } @@ -111,21 +108,26 @@ private void FinishFeatureCommand(object sender, EventArgs e) /* 1. Switch to the develop branch * 2. Pull latest changes on develop * 3. Merge the feature branch to develop - * 4. Delete the local feature branch - * 5. Delete the remote feature branch - * 6. Push all changes to develop + * 4. Push all changes to develop + * 5. Delete the local feature branch + * 6. Delete the remote feature branch */ processHelper.StartProcessGui( "cmd.exe", - string.Format("/c cd \"{1}\" && " + - "echo ^> git checkout {2} && \"{4}\" checkout {2} && " + - "echo ^> git pull && \"{4}\" pull && " + - "echo ^> git merge --no-ff {3}/{0} && \"{4}\" merge --no-ff {3}/{0} && " + - "echo ^> git branch -d {3}/{0} && \"{4}\" branch -d {3}/{0} && " + - "echo ^> git push origin --delete {3}/{0} && \"{4}\" push origin --delete {3}/{0} && " + - "echo ^> git push origin {2} && \"{4}\" push origin {2}", - featureName, solutionDir, options.DevelopBranch, options.FeatureBranch, gitBin), - string.Format("Finishing feature {0}", featureName)); + $"/c cd \"{solutionDir}\" && " + + FormatCLICommand($"checkout {options.DevelopBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"merge --no-ff {options.FeatureBranch}/{featureName}") + + FormatCLICommand($"push origin {options.DevelopBranch}") + + FormatCLICommand($"branch -d {options.FeatureBranch}/{featureName}") + + FormatCLICommand($"push origin --delete {options.FeatureBranch}/{featureName}", true), + $"Finishing feature {featureName}" + ); + } + + private string FormatCLICommand(string gitCommand, bool appendNextLine = false) + { + return $"echo ^> {Path.GetFileNameWithoutExtension(gitBin)} {gitCommand} && \"{gitBin}\" {gitCommand}{(appendNextLine ? " && " : string.Empty)}"; } private void FinishFeatureGitHubCommand(object sender, EventArgs e) @@ -137,19 +139,19 @@ private void FinishFeatureGitHubCommand(object sender, EventArgs e) /* 1. Switch to the master branch * 2. Pull latest changes on master * 3. Merge the feature branch to master - * 4. Delete the local feature branch - * 5. Delete the remote feature branch - * 6. Push all changes to master + * 4. Push all changes to master + * 5. Delete the local feature branch + * 6. Delete the remote feature branch */ processHelper.StartProcessGui( "cmd.exe", $"/c cd \"{solutionDir}\" && " + - $"echo ^> git checkout {options.MasterBranch} && \"{gitBin}\" checkout {options.MasterBranch} && " + - $"echo ^> git pull && \"{gitBin}\" pull && " + - $"echo ^> git merge --no-ff {options.FeatureBranch}/{featureName} && \"{gitBin}\" merge --no-ff {options.FeatureBranch}/{featureName} && " + - $"echo ^> git branch -d {options.FeatureBranch}/{featureName} && \"{gitBin}\" branch -d {options.FeatureBranch}/{featureName} && " + - $"echo ^> git push origin --delete {options.FeatureBranch}/{featureName} && \"{gitBin}\" push origin --delete {options.FeatureBranch}/{featureName} && " + - $"echo ^> git push origin {options.MasterBranch} && \"{gitBin}\" push origin {options.MasterBranch}", + FormatCLICommand($"checkout {options.MasterBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"merge --no-ff {options.FeatureBranch}/{featureName}") + + FormatCLICommand($"push origin {options.MasterBranch}") + + FormatCLICommand($"branch -d {options.FeatureBranch}/{featureName}") + + FormatCLICommand($"push origin --delete {options.FeatureBranch}/{featureName}", true), $"Finishing feature {featureName}"); } @@ -166,12 +168,11 @@ private void StartReleaseCommand(object sender, EventArgs e) */ processHelper.StartProcessGui( "cmd.exe", - string.Format("/c cd \"{1}\" && " + - "echo ^> git checkout {2} && \"{4}\" checkout {2} && " + - "echo ^> git pull && \"{4}\" pull && " + - "echo ^> git checkout -b {3}/{0} {2} && \"{4}\" checkout -b {3}/{0} {2}", - releaseVersion, solutionDir, options.DevelopBranch, options.ReleaseBranch, gitBin), - string.Format("Starting release {0}", releaseVersion) + $"/c cd \"{solutionDir}\" && " + + FormatCLICommand($"checkout {options.DevelopBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"checkout -b {options.ReleaseBranch}/{releaseVersion} {options.DevelopBranch}", true), + $"Starting release {releaseVersion}" ); } @@ -188,29 +189,29 @@ private void FinishReleaseCommand(object sender, EventArgs e) * 5. Switch to the develop branch * 6. Pull latest changes on develop * 7. Merge the release branch to develop - * 8. Delete the local release branch - * 9. Delete the remote release branch - * 10. Push all changes to develop - * 11. Push all changes to master - * 12. Push the tag + * 8. Push all changes to develop + * 9. Push all changes to master + * 10. Push the tag + * 11. Delete the local release branch + * 12. Delete the remote release branch */ processHelper.StartProcessGui( "cmd.exe", - string.Format("/c cd \"{1}\" && " + - "echo ^> git checkout {4} && \"{5}\" checkout {4} && " + - "echo ^> git pull && \"{5}\" pull && " + - "echo ^> git merge --no-ff {3}/{0} && \"{5}\" merge --no-ff {3}/{0} && " + - "echo ^> git tag {0} && \"{5}\" tag {0} && " + - "echo ^> git checkout {2} && \"{5}\" checkout {2} && " + - "echo ^> git pull && \"{5}\" pull && " + - "echo ^> git merge --no-ff {3}/{0} && \"{5}\" merge --no-ff {3}/{0} && " + - "echo ^> git branch -d {3}/{0} && \"{5}\" branch -d {3}/{0} && " + - "echo ^> git push origin --delete {3}/{0} && \"{5}\" push origin --delete {3}/{0} && " + - "echo ^> git push origin {2} && \"{5}\" push origin {2} && " + - "echo ^> git push origin {4} && \"{5}\" push origin {4} && " + - "echo ^> git push origin {0} && \"{5}\" push origin {0}", - releaseName, solutionDir, options.DevelopBranch, options.ReleaseBranch, options.MasterBranch, gitBin), - string.Format("Finishing release {0}", releaseName)); + $"/c cd \"{solutionDir}\" && " + + FormatCLICommand($"checkout {options.MasterBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"merge --no-ff {options.ReleaseBranch}/{releaseName}") + + FormatCLICommand($"tag {releaseName}") + + FormatCLICommand($"checkout {options.DevelopBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"merge --no-ff {options.ReleaseBranch}/{releaseName}") + + FormatCLICommand($"push origin {options.DevelopBranch}") + + FormatCLICommand($"push origin {options.MasterBranch}") + + FormatCLICommand($"push origin {releaseName}") + + FormatCLICommand($"branch -d {options.ReleaseBranch}/{releaseName}") + + FormatCLICommand($"push origin --delete {options.ReleaseBranch}/{releaseName}", true), + $"Finishing release {releaseName}" + ); } private void StartHotfixCommand(object sender, EventArgs e) @@ -226,12 +227,11 @@ private void StartHotfixCommand(object sender, EventArgs e) */ processHelper.StartProcessGui( "cmd.exe", - string.Format("/c cd \"{1}\" && " + - "echo ^> git checkout {2} && \"{4}\" checkout {2} && " + - "echo ^> git pull && \"{4}\" pull && " + - "echo ^> git checkout -b {3}/{0} {2} && \"{4}\" checkout -b {3}/{0} {2}", - hotfixVersion, solutionDir, options.MasterBranch, options.HotfixBranch, gitBin), - string.Format("Starting hotfix {0}", hotfixVersion) + $"/c cd \"{solutionDir}\" && " + + FormatCLICommand($"checkout {options.MasterBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"checkout -b {options.HotfixBranch}/{hotfixVersion} {options.MasterBranch}", true), + $"Starting hotfix {hotfixVersion}" ); } @@ -244,33 +244,33 @@ private void FinishHotfixCommand(object sender, EventArgs e) /* 1. Switch to the master branch * 2. Pull latest changes on master * 3. Merge the hotfix branch to master - * 4. Tag the release + * 4. Tag the hotfix * 5. Switch to the develop branch * 6. Pull latest changes on develop * 7. Merge the hotfix branch to develop - * 8. Delete the local hotfix branch - * 9. Delete the remote hotfix branch - * 10. Push all changes to develop - * 11. Push all changes to master - * 12. Push the tag + * 8. Push all changes to develop + * 9. Push all changes to master + * 10. Push the tag + * 11. Delete the local hotfix branch + * 12. Delete the remote hotfix branch */ processHelper.StartProcessGui( "cmd.exe", - string.Format("/c cd \"{1}\" && " + - "echo ^> git checkout {4} && \"{5}\" checkout {4} && " + - "echo ^> git pull && \"{5}\" pull && " + - "echo ^> git merge --no-ff {3}/{0} && \"{5}\" merge --no-ff {3}/{0} && " + - "echo ^> git tag {0} && \"{5}\" tag {0} && " + - "echo ^> git checkout {2} && \"{5}\" checkout {2} && " + - "echo ^> git pull && \"{5}\" pull && " + - "echo ^> git merge --no-ff {3}/{0} && \"{5}\" merge --no-ff {3}/{0} && " + - "echo ^> git branch -d {3}/{0} && \"{5}\" branch -d {3}/{0} && " + - "echo ^> git push origin --delete {3}/{0} && \"{5}\" push origin --delete {3}/{0} && " + - "echo ^> git push origin {2} && \"{5}\" push origin {2} && " + - "echo ^> git push origin {4} && \"{5}\" push origin {4} && " + - "echo ^> git push origin {0} && \"{5}\" push origin {0}", - hotfixName, solutionDir, options.DevelopBranch, options.HotfixBranch, options.MasterBranch, gitBin), - string.Format("Finishing hotfix {0}", hotfixName)); + $"/c cd \"{solutionDir}\" && " + + FormatCLICommand($"checkout {options.MasterBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"merge --no-ff {options.HotfixBranch}/{hotfixName}") + + FormatCLICommand($"tag {hotfixName}") + + FormatCLICommand($"checkout {options.DevelopBranch}") + + FormatCLICommand("pull") + + FormatCLICommand($"merge --no-ff {options.HotfixBranch}/{hotfixName}") + + FormatCLICommand($"push origin {options.DevelopBranch}") + + FormatCLICommand($"push origin {options.MasterBranch}") + + FormatCLICommand($"push origin {hotfixName}") + + FormatCLICommand($"branch -d {options.HotfixBranch}/{hotfixName}") + + FormatCLICommand($"push origin --delete {options.HotfixBranch}/{hotfixName}", true), + $"Finishing hotfix {hotfixName}" + ); } } } diff --git a/GitFlow/Commands/MainMenuCommands.cs b/GitFlow/Commands/MainMenuCommands.cs index 659caab..48be438 100644 --- a/GitFlow/Commands/MainMenuCommands.cs +++ b/GitFlow/Commands/MainMenuCommands.cs @@ -7,13 +7,13 @@ namespace SamirBoulema.TGIT.Commands { public class MainMenuCommands { - private ProcessHelper processHelper; - private CommandHelper commandHelper; - private FileHelper fileHelper; - private GitHelper gitHelper; - private DTE dte; - private OptionPageGrid options; - private OleMenuCommandService mcs; + private readonly ProcessHelper processHelper; + private readonly CommandHelper commandHelper; + private readonly FileHelper fileHelper; + private readonly GitHelper gitHelper; + private readonly DTE dte; + private readonly OptionPageGrid options; + private readonly OleMenuCommandService mcs; public MainMenuCommands(ProcessHelper processHelper, CommandHelper commandHelper, GitHelper gitHelper, FileHelper fileHelper, DTE dte, OptionPageGrid options, OleMenuCommandService mcs) @@ -62,41 +62,41 @@ private void ShowChangesCommand(object sender, EventArgs e) string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:repostatus /path:\"{0}\" /closeonend:0", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:repostatus /path:\"{solutionDir}\" /closeonend:0"); } private void PullCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:pull /path:\"{0}\" /closeonend:0", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:pull /path:\"{solutionDir}\" /closeonend:0"); } private void FetchCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:fetch /path:\"{0}\" /closeonend:0", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:fetch /path:\"{solutionDir}\" /closeonend:0"); } private void CommitCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:commit /path:\"{0}\" /logmsg:\"{1}\" /closeonend:0", solutionDir, - gitHelper.GetCommitMessage(options.CommitMessage, dte))); + processHelper.StartTortoiseGitProc( + $"/command:commit /path:\"{solutionDir}\" /logmsg:\"{gitHelper.GetCommitMessage(options.CommitMessage, dte)}\" /closeonend:0"); } private void PushCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; - processHelper.StartTortoiseGitProc(string.Format("/command:push /path:\"{0}\" /closeonend:0", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:push /path:\"{solutionDir}\" /closeonend:0"); } private void ShowLogCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; - processHelper.StartTortoiseGitProc(string.Format("/command:log /path:\"{0}\" /closeonend:0", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:log /path:\"{solutionDir}\" /closeonend:0"); } private void DiskBrowserCommand(object sender, EventArgs e) { @@ -108,69 +108,69 @@ private void RepoBrowserCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; - processHelper.StartTortoiseGitProc(string.Format("/command:repobrowser /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:repobrowser /path:\"{solutionDir}\""); } private void CreateStashCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:stashsave /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:stashsave /path:\"{solutionDir}\""); } private void ApplyStashCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:reflog /ref:refs/stash /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:reflog /ref:refs/stash /path:\"{solutionDir}\""); } private void BranchCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:branch /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:branch /path:\"{solutionDir}\""); } private void SwitchCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:switch /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:switch /path:\"{solutionDir}\""); } private void MergeCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:merge /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:merge /path:\"{solutionDir}\""); } private void RevertCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; fileHelper.SaveAllFiles(); - processHelper.StartTortoiseGitProc(string.Format("/command:revert /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:revert /path:\"{solutionDir}\""); } private void CleanupCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; - processHelper.StartTortoiseGitProc(string.Format("/command:cleanup /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:cleanup /path:\"{solutionDir}\""); } private void ResolveCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; - processHelper.StartTortoiseGitProc(string.Format("/command:resolve /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:resolve /path:\"{solutionDir}\""); } private void SyncCommand(object sender, EventArgs e) { string solutionDir = fileHelper.GetSolutionDir(); if (string.IsNullOrEmpty(solutionDir)) return; - processHelper.StartTortoiseGitProc(string.Format("/command:sync /path:\"{0}\"", solutionDir)); + processHelper.StartTortoiseGitProc($"/command:sync /path:\"{solutionDir}\""); } } } diff --git a/GitFlow/Resources/GettingStartedGuide.txt b/GitFlow/Resources/GettingStartedGuide.txt index 2e3fb92..17def76 100644 --- a/GitFlow/Resources/GettingStartedGuide.txt +++ b/GitFlow/Resources/GettingStartedGuide.txt @@ -5,51 +5,4 @@ Installation: 1. Install the TGIT extension 2. Install TortoiseGIT (https://code.google.com/p/tortoisegit/) -3. Install MSysGit (http://msysgit.github.io/) - -Options: --------- - -TGIT has several GitFlow options: "Develop branch prefix", "Feature branches prefix", "Master branch prefix", "Release branches prefix". -These options determine the prefix of the branches used in the gitflow branching model. -http://nvie.com/posts/a-successful-git-branching-model/ - -TGIT also has an option to specify a default commit message. You can change this to regular text or use the folowing macros: -https://msdn.microsoft.com/en-us/library/c02as0cs.aspx - -Gitflow: --------- - -So what exactly are those gitflow menu items doing? - -- Start New Feature - 1. Switch to the develop branch - 2. Pull latest changes on develop - 3. Create and switch to a new branch - -- Finish Feature - 1. Switch to the develop branch - 2. Pull latest changes on develop - 3. Merge the feature branch to develop - 4. Delete the local feature branch - 5. Delete the remote feature branch - 6. Push all changes to develop - -- Start New Release - 1. Switch to the develop branch - 2. Pull latest changes on develop - 3. Create and switch to a new release branch - -- Finish Release - 1. Switch to the master branch - 2. Pull latest changes on master - 3. Merge the release branch to master - 4. Tag the release - 5. Switch to the develop branch - 6. Pull latest changes on develop - 7. Merge the release branch to develop - 8. Delete the local release branch - 9. Delete the remote release branch - 10. Push all changes to develop - 11. Push all changes to master - 12. Push the tag \ No newline at end of file +3. Install MSysGit (http://msysgit.github.io/) \ No newline at end of file diff --git a/GitFlow/Resources/ReleaseNotes.txt b/GitFlow/Resources/ReleaseNotes.txt deleted file mode 100644 index 2190216..0000000 --- a/GitFlow/Resources/ReleaseNotes.txt +++ /dev/null @@ -1,85 +0,0 @@ -3.0 -- Added the context menu to HTML and CSS files - -2.9 -- Support the new VS"15" "Open Folder" feature -- Check if repo is using gitflow or githubflow - -2.8 -- Visual Studio "15" compatibility - -2.7 -- Improve processing of GIT commands - -2.6 -- Fixed bug in the "Diff with previous version" feature - -2.5 -- Only enable Finish features when on the correct branch -- New icons -- Added G -- Improved repo credentials - -2.3.2 -- Added buttons to GitFlow output window - - Resolve button when conflicts are detected - - Show changes button when uncommitted changes are detected - -2.1 -- Added Sync option - -2.0 -- Added Resolve option -- Fixed bug in the "Diff with previous version" feature - -1.9 -- Added Start/Finish hotfix gitflow options - -1.8.3 -- Fix bug with entering repo credentials - -1.8.2 -- Fix bug with entering repo credentials - -1.8.1 -- Fix bug with Finish release command - -1.8 -- Code cleanup -- Fixed bug with commit messages -- Fixed bug with Finish release command -- TortoiseGit does not need to be in your PATH anymore -- MSysGit does not need to be in your PATH anymore - -1.7.6 -- Added Start/Finish release gitflow options -- Improved Gitflow output -- Prompt for missing username and email -- When saving files also save solution and project files - -1.6.1 -- Menu title changes to fit VS style -- Apply Stash only enabled when stashes are available -- Configurable default commit message (https://msdn.microsoft.com/en-us/library/c02as0cs.aspx) - -1.5 -- Save files before using a GIT function - -1.4 -- Improved foolproofing -- Added Visual Studio 2015 CTP support - -1.3 -- Small bugfixes - -1.2 -- Improved Gitflow output - -1.1.1 -- Improved Gitflow features -- Fixed bug in the "Diff with previous version" feature -- Added option screen to set the develop and feature branch name -- Added Visual Studio 14 CTP support - -1.0 -- First public version \ No newline at end of file diff --git a/GitFlow/TGIT.csproj b/GitFlow/TGIT.csproj index 8e7dd87..8f051fe 100644 --- a/GitFlow/TGIT.csproj +++ b/GitFlow/TGIT.csproj @@ -215,10 +215,6 @@ true - - Always - true - Always true diff --git a/GitFlow/TGITPackage.cs b/GitFlow/TGITPackage.cs index 0c0ac65..396d813 100644 --- a/GitFlow/TGITPackage.cs +++ b/GitFlow/TGITPackage.cs @@ -48,7 +48,7 @@ protected override void Initialize() new ContextMenuCommands(processHelper, commandHelper, gitHelper, fileHelper, dte, options).AddCommands(); - new GitFlowCommands(processHelper, commandHelper, gitHelper, fileHelper, dte, options, mcs).AddCommands(); + new GitFlowCommands(processHelper, commandHelper, gitHelper, fileHelper, options, mcs).AddCommands(); // Add all menus OleMenuCommand tgitMenu = commandHelper.CreateCommand(PkgCmdIDList.TGitMenu); diff --git a/GitFlow/source.extension.vsixmanifest b/GitFlow/source.extension.vsixmanifest index 20559d6..9c272f8 100644 --- a/GitFlow/source.extension.vsixmanifest +++ b/GitFlow/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + TGIT Control TortoiseGIT from within Visual Studio http://visualstudiogallery.msdn.microsoft.com/be8a61ca-9358-4f43-80e3-4fc73b09dff3