X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=GitRepo.vala;h=034d535cf852d482fff3024648d854f165b3dedb;hb=1245856c12bd5161158d057fc603ae5f4b0dfcee;hp=6108c1eebf7dbd66f0fe24e2c129515917d3c2f3;hpb=55d94ffcc22b705da1d4149afd5d4cfb453136ba;p=gitlive diff --git a/GitRepo.vala b/GitRepo.vala index 6108c1ee..034d535c 100644 --- a/GitRepo.vala +++ b/GitRepo.vala @@ -32,7 +32,7 @@ public class GitRepo : Object } return _GitRepo; } - + /** * index of.. matching gitpath.. */ @@ -247,9 +247,7 @@ public class GitRepo : Object } GitMonitor.gitmonitor.start(); } - - - + public bool doMerge(string action, string ticket_id, string commit_message) { @@ -258,14 +256,14 @@ public class GitRepo : Object var ret = ""; if (action == "CLOSE" || action == "LEAVE") { - try { - var oldbranch = this.currentBranch.name; - this.setActiveTicket(null, "master"); + var oldbranch = this.currentBranch.name; + this.setActiveTicket(null, "master"); string [] cmd = { "merge", "--squash", oldbranch }; this.git( cmd ); - cmd = { "commit", "--m", commit_message }; + cmd = { "commit", "-a" , "-m", commit_message }; this.git( cmd ); + this.push(); this.loadBranches(); // updates lastrev.. var notification = new Notify.Notification( @@ -369,33 +367,39 @@ public class GitRepo : Object } try { - string[] cmd = { "merge", "master" }; - this.git(cmd); + if (branchname != "master") { + string[] cmd = { "merge", "master" }; + this.git(cmd); + cmd = { "commit", "-a" , "-m", commit_message }; + 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; - } + string[] cmd = { "checkout", "master" }; + this.git(cmd); + GitMonitor.gitmonitor.pauseError( + "Use\n\na) git checkout %s\nb) git mergetool\nc) git commit\nd) git push\n d) stash pop \ne) start gitlive again\n".printf( + branchname) + + e.message + ); + return false; + } - try { + try { string[] cmd = { "stash", "pop" }; if (stash) { this.git(cmd); } } catch(Error ee) { GitMonitor.gitmonitor.pauseError(ee.message); return false; } - + this.push(); } else { try { string[] cmd = { "checkout", "-b" , branchname }; this.git(cmd); + + this.push(); } catch(Error ee) { GitMonitor.gitmonitor.pauseError(ee.message); return false; @@ -412,8 +416,7 @@ public class GitRepo : Object notification.set_timeout(5); notification.show(); - - + this.loadBranches(); // update branch list... GitMonitor.gitmonitor.runQueue(); // commit any outstanding... return true; @@ -579,7 +582,7 @@ public class GitRepo : Object public string push () throws Error, SpawnError { // should - return this.git({ "push", "origin", "HEAD" }); + return this.git({ "push", "--all" }); }