From d33736b91e5bdee2a751dce3d4199d22244ca786 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Tue, 15 Jan 2019 17:10:29 +0800 Subject: [PATCH] Fix #5662 - Gitlive - create a tracking branch --- GitBranch.vala | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/GitBranch.vala b/GitBranch.vala index a30808be..84a83312 100644 --- a/GitBranch.vala +++ b/GitBranch.vala @@ -103,7 +103,7 @@ public class GitBranch : Object 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; @@ -111,8 +111,23 @@ public class GitBranch : Object 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); } /* -- 2.39.2