cache.set( path, this);
}
this.loadBranches();
+ this.loadActiveTicket();
}
public bool is_wip_branch()
{
return !FileUtils.test(this.gitdir + "/.gitlive-disable-autocommit" , FileTest.EXISTS);
}
+ public void set_autocommit(bool val)
+ {
+
+ var cur = this.is_autocommit();
+ GLib.debug("SET auto commit : %s <= %s", val ? "ON" : "OFF", cur ? "ON" : "OFF");
+ if (cur == val) {
+ return; // no change..
+ }
+ if (!val) {
+ FileUtils.set_contents(this.gitdir + "/.gitlive-disable-autocommit" , "x");
+ } else {
+ // it exists...
+ FileUtils.remove(this.gitdir + "/.gitlive-disable-autocommit" );
+ }
+
+ }
+
+ public bool is_auto_branch ()
+ {
+ return FileUtils.test(this.gitdir + "/.gitlive-enable-auto-branch" , FileTest.EXISTS);
+ }
+
+ public void set_auto_branch(bool val)
+ {
+
+ var cur = this.is_auto_branch();
+ GLib.debug("SET auto branch : %s <= %s", val ? "ON" : "OFF", cur ? "ON" : "OFF");
+
+ if (cur == val) {
+ return; // no change..
+ }
+ if (val) {
+ FileUtils.set_contents(this.gitdir + "/.gitlive-enable-auto-branch" , "x");
+ } else {
+ // it exists...
+ FileUtils.remove(this.gitdir + "/.gitlive-enable-auto-branch" );
+ }
+
+ }
public bool is_autopush ()
{
return !FileUtils.test(this.gitdir + "/.gitlive-disable-autopush" , FileTest.EXISTS);
}
+ public void set_autopush(bool val)
+ {
+
+ var cur = this.is_autopush();
+ GLib.debug("SET auto push : %s <= %s", val ? "ON" : "OFF", cur ? "ON" : "OFF");
+ if (cur == val) {
+ return; // no change..
+ }
+ if (!val) {
+ FileUtils.set_contents(this.gitdir + "/.gitlive-disable-autopush" , "");
+ } else {
+ // it exists...
+ FileUtils.remove(this.gitdir + "/.gitlive-disable-autopush" );
+ }
+
+ }
+
+
Gee.HashMap<string,GitBranch> branches;
}
GitMonitor.gitmonitor.start();
}
-
-
-
+
public bool doMerge(string action, string ticket_id, string commit_message)
{
var ret = "";
if (action == "CLOSE" || action == "LEAVE") {
-
try {
- var oldbranch = this.currentBranch.name;
- this.setActiveTicket(null, "master");
- string [] cmd = { "merge", "--squash", oldbranch };
- this.git( cmd );
- cmd = { "commit", "-a" , "-m", commit_message };
- this.git( cmd );
- this.push();
- this.loadBranches(); // updates lastrev..
+ var oldbranch = this.currentBranch.name;
+ this.setActiveTicket(null, "master");
+ string [] cmd = { "merge", "--squash", oldbranch };
+ this.git( cmd );
+ cmd = { "commit", "-a" , "-m", commit_message };
+ this.git( cmd );
+ this.push();
+ this.loadBranches(); // updates lastrev..
- var notification = new Notify.Notification(
+ var notification = new Notify.Notification(
"Merged branch %s to master".printf(oldbranch),
"",
"dialog-information"
}
return false;
}
+
+ public void loadActiveTicket()
+ {
+ this.activeTicket = null;
+ if (!FileUtils.test(this.gitdir + "/.gitlive-active-ticket" , FileTest.EXISTS)) {
+ return;
+ }
+ string ticket_id;
+ FileUtils.get_contents(this.gitdir + "/.gitlive-active-ticket" , out ticket_id);
+ if (ticket_id.length < 1) {
+ return;
+ }
+ this.activeTicket = RooTicket.singleton().getById(ticket_id.strip());
+
+
+ }
+
- public bool setActiveTicket(RooTicket ticket, string branchname)
+ public bool setActiveTicket(RooTicket? ticket, string branchname)
{
if (!this.createBranchNamed(branchname)) {
return false;
}
- FileUtils.set_contents(this.gitdir + "/.gitlive-active-ticket" , ticket.id);
+ if (ticket != null) {
+ FileUtils.set_contents(this.gitdir + "/.gitlive-active-ticket" , ticket.id);
+ } else {
+ FileUtils.remove(this.gitdir + "/.gitlive-active-ticket" );
+ }
this.activeTicket = ticket;
return true;
}
} catch(Error e) {
GitMonitor.gitmonitor.pauseError(e.message);
return false;
-
}
try {
- string[] cmd = { "merge", "master" };
- this.git(cmd);
+ if (branchname != "master") {
+ string[] cmd = { "merge", "master" };
+ this.git(cmd);
+ this.push();
+ //cmd = { "commit", "-a" , "-m", "merge master changes" };
+ //git chethis.git( cmd );
+ }
+
} catch(Error e) {
string[] cmd = { "checkout", "master" };
this.git(cmd);
string[] cmd = { "checkout", "-b" , branchname };
this.git(cmd);
-
- this.push();
+
+ cmd = { "push", "-u" , "origin" ,"HEAD" };
+ this.git(cmd);
+
} catch(Error ee) {
GitMonitor.gitmonitor.pauseError(ee.message);
return false;
this.loadBranches(); // update branch list...
- GitMonitor.gitmonitor.runQueue(); // commit any outstanding...
+ //GitMonitor.gitmonitor.runQueue(); // no point - we have hidden the queue..
return true;
}
public string push () throws Error, SpawnError
{
// should
- return this.git({ "push", "--all" });
+ return this.git({ "push" });
}