diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2012-11-04 03:13:26 +0100 |
---|---|---|
committer | Jeff King <peff@peff.net> | 2012-11-04 08:35:20 -0500 |
commit | ffaf84c6631e1ee381ca0d04b363ee5c82fe20ac (patch) | |
tree | 28caaf39026a940f86e51807260eab051b3be4de /contrib | |
parent | b4e956f7ef8c8d8e30577277b0ebd0840327d42f (diff) | |
download | git-ffaf84c6631e1ee381ca0d04b363ee5c82fe20ac.tar.gz |
remote-hg: add support to push URLs
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/remote-helpers/git-remote-hg | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg index 45629e022f..a5023c92fa 100755 --- a/contrib/remote-helpers/git-remote-hg +++ b/contrib/remote-helpers/git-remote-hg @@ -9,12 +9,13 @@ # Then you can clone with: # git clone hg::/path/to/mercurial/repo/ -from mercurial import hg, ui, bookmarks, context +from mercurial import hg, ui, bookmarks, context, util import re import sys import os import json +import shutil NAME_RE = re.compile('^([^<>]+)') AUTHOR_RE = re.compile('^([^<>]+?)? ?<([^<>]+)>$') @@ -574,6 +575,12 @@ def main(args): url = args[2] peer = None + if alias[4:] == url: + is_tmp = True + alias = util.sha1(alias).hexdigest() + else: + is_tmp = False + gitdir = os.environ['GIT_DIR'] dirname = os.path.join(gitdir, 'hg', alias) branches = {} @@ -604,6 +611,9 @@ def main(args): die('unhandled command: %s' % line) sys.stdout.flush() - marks.store() + if not is_tmp: + marks.store() + else: + shutil.rmtree(dirname) sys.exit(main(sys.argv)) |