-
- string[] cmd = { "ls-files" , "-m" }; // list the modified files..
- var ret = this.git(cmd);
- var stash = ret.length> 1 ;
-
-
- cmd = { "stash" };
- if (stash) { this.git(cmd); }
-
- cmd = { "checkout", branchname };
- this.git(cmd);
-
- cmd = { "merge", "master" };
- this.git(cmd);
-
- cmd = { "stash", "pop" };
- if (stash) { this.git(cmd); }
-
+ try {
+ string[] cmd = { "ls-files" , "-m" }; // list the modified files..
+ var ret = this.git(cmd);
+ stash = ret.length> 1 ;
+
+
+ cmd = { "stash" };
+ if (stash) { this.git(cmd); }
+
+ cmd = { "checkout", branchname };
+ this.git(cmd);
+ } catch(Error e) {
+ GitMonitor.gitmonitor.pauseError(e.message);
+ return false;
+
+ }
+ try {
+ string[] cmd = { "merge", "master" };
+ this.git(cmd);
+ } catch(Error e) {
+ try {
+ string[] cmd = { "mergetool" };
+ this.git(cmd);
+ cmd = { "commit", "-m" , "Fix merge conflicts from master" };
+ this.git(cmd);
+ } catch(Error ee) {
+ GitMonitor.gitmonitor.pauseError(ee.message);
+ return false;
+ }
+ }
+ try {
+ string[] cmd = { "stash", "pop" };
+ if (stash) { this.git(cmd); }
+ } catch(Error ee) {
+ GitMonitor.gitmonitor.pauseError(ee.message);
+ return false;
+ }
+