branches.get(lname).remote = rname;
}
- if (!branches.has_key(rname)) {
+ if (!branches.has_key(rname) || !branches.has_key(lname) ) {
continue;
}
branches.get(lname).remoterev = branches.get(rname).lastrev;
branches.get(rname).name = lname;
}
- foreach(var br in local.values) {
+ foreach(var br in branches.values) {
GLib.debug("BRANCH:\n%s\n" , br.toString());
+ if (br.name.length > 0 || ! /^remotes\/origin\//.match(br.remote)) {
+ GLib.debug("SKIP - track exists");
+ continue;
+ }
+ var newname = br.remote.replace("remotes/origin/","");
+ if (branches.has_key(newname)) {
+ GLib.debug("SKIP - have branch already");
+ continue;
+ }
+
+
+ repo.git( { "branch" ,"--track" , newname, "origin/" + newname} );
+ //
+ br.name = newname;
+ local.set(br.name, br);
}
/*