From e30473c185442a9ac137f3841fe2d05e0e5ec81a Mon Sep 17 00:00:00 2001 From: Felipe Contreras Date: Sun, 4 Nov 2012 03:13:37 +0100 Subject: [PATCH] remote-hg: add option to not track branches Some people prefer it this way. % git config --global remote-hg.track-branches false Signed-off-by: Felipe Contreras Signed-off-by: Jeff King --- contrib/remote-helpers/git-remote-hg | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg index dbe309acfe..a9ae8446fb 100755 --- a/contrib/remote-helpers/git-remote-hg +++ b/contrib/remote-helpers/git-remote-hg @@ -449,14 +449,9 @@ def list_head(repo, cur): g_head = (head, node) def do_list(parser): - global branches, bmarks, mode + global branches, bmarks, mode, track_branches repo = parser.repo - for branch in repo.branchmap(): - heads = repo.branchheads(branch) - if len(heads): - branches[branch] = heads - for bmark, node in bookmarks.listbookmarks(repo).iteritems(): bmarks[bmark] = repo[node] @@ -464,7 +459,12 @@ def do_list(parser): list_head(repo, cur) - if mode != 'hg': + if track_branches: + for branch in repo.branchmap(): + heads = repo.branchheads(branch) + if len(heads): + branches[branch] = heads + for branch in branches: print "? refs/heads/branches/%s" % branch @@ -713,16 +713,22 @@ def main(args): global prefix, dirname, branches, bmarks global marks, blob_marks, parsed_refs global peer, mode, bad_mail, bad_name + global track_branches alias = args[1] url = args[2] peer = None - cmd = ['git', 'config', '--get', 'remote-hg.hg-git-compat'] hg_git_compat = False + track_branches = True try: + cmd = ['git', 'config', '--get', 'remote-hg.hg-git-compat'] if subprocess.check_output(cmd) == 'true\n': hg_git_compat = True + track_branches = False + cmd = ['git', 'config', '--get', 'remote-hg.track-branches'] + if subprocess.check_output(cmd) == 'false\n': + track_branches = False except subprocess.CalledProcessError: pass -- 2.11.4.GIT