aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Contreras <felipe.contreras@gmail.com>2012-11-04 03:13:37 +0100
committerJeff King <peff@peff.net>2012-11-04 08:35:21 -0500
commite30473c185442a9ac137f3841fe2d05e0e5ec81a (patch)
treec109335cee5ac5ed0fc2814e794b58c90014bd1b
parentaefc605ada7fe00e1c6b8d4bf3aa17dc07855769 (diff)
downloadgit-e30473c185442a9ac137f3841fe2d05e0e5ec81a.tar.gz
git-e30473c185442a9ac137f3841fe2d05e0e5ec81a.tar.xz
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 <felipe.contreras@gmail.com> Signed-off-by: Jeff King <peff@peff.net>
-rwxr-xr-xcontrib/remote-helpers/git-remote-hg22
1 files changed, 14 insertions, 8 deletions
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index dbe309acf..a9ae8446f 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