Skip to content

Commit

Permalink
remote-hg: store converted URL
Browse files Browse the repository at this point in the history
Mercurial might convert the URL to something more appropriate, like an
absolute path. Lets store that instead of the original URL, which won't
work from a different working directory if it's relative.

Suggested-by: Max Horn <max@quendi.de>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Max Horn <max@quendi.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Felipe Contreras authored and Junio C Hamano committed Jan 15, 2013
1 parent eacf011 commit e6bc8a3
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions contrib/remote-helpers/git-remote-hg
Original file line number Diff line number Diff line change
Expand Up @@ -720,6 +720,14 @@ def do_export(parser):
if peer:
parser.repo.push(peer, force=False)

def fix_path(alias, repo, orig_url):
repo_url = util.url(repo.url())
url = util.url(orig_url)
if str(url) == str(repo_url):
return
cmd = ['git', 'config', 'remote.%s.url' % alias, "hg::%s" % repo_url]
subprocess.call(cmd)

def main(args):
global prefix, dirname, branches, bmarks
global marks, blob_marks, parsed_refs
Expand Down Expand Up @@ -766,6 +774,9 @@ def main(args):
repo = get_repo(url, alias)
prefix = 'refs/hg/%s' % alias

if not is_tmp:
fix_path(alias, peer or repo, url)

if not os.path.exists(dirname):
os.makedirs(dirname)

Expand Down

0 comments on commit e6bc8a3

Please sign in to comment.