public bool debug = false;
public Gee.HashMap<string,bool> ignore_files;
+ public GitBranch currentBranch;
/**
* index of.. matching gitpath..
public void loadBranches()
{
+ this.branches = new Gee.HashMap<string,GitBranch>();
+
string[] cmd = { "branch", "--no-color", "--verbose", "--no-abbrev" , "-a" };
var res = this.git( cmd );
var lines = res.split("\n");
if (!br.parseBranchListItem(lines[i])) {
continue;
}
+ GLib.debug("add branch %s", br.realName());
+
branches.set(br.realName(), br);
+ if (br.active) {
+ this.currentBranch = br;
+ }
}
}
+ public string branchesToString()
+ {
+ var ret = "";
+ foreach( var br in this.branches.values) {
+ if (br.name == "") {
+ continue;
+ }
+ ret += ret.length > 0 ? "," : "";
+ ret += br.name;
+
+ }
+ return ret;
+
+ }
+
+ public void setActiveTicket(RooTicket ticket, string branchname)
+ {
+ this.createBranchNamed(branchname);
+ FileUtils.set_contents(this.gitdir + "/.gitlive-active-ticket" , ticket.id);
+ }
+
+ public void createBranchNamed(string branchname)
+ {
+ string[] cmd = { "checkout", "-b" , branchname };
+ this.git(cmd);
+ this.loadBranches(); // update branch list...
+ }
+
/**
* add: