Merge branch 'mh/remote-hg-mode-bits-fix'
authorJunio C Hamano <gitster@pobox.com>
Tue, 22 Jan 2013 04:15:40 +0000 (20:15 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 22 Jan 2013 04:15:40 +0000 (20:15 -0800)
Update to the Hg remote helper (in contrib/).

* mh/remote-hg-mode-bits-fix:
remote-hg: fix handling of file perms when pushing

1  2 
contrib/remote-helpers/git-remote-hg
index 7c74d8bfdcf178d861be87f36bd3c894c81c2e42,5974976f028d6d27ee5c69b1afb6823ed0509b1a..328c2dc76dd33e47cfe69064757631e9717771e6
@@@ -53,7 -53,7 +53,7 @@@ def gittz(tz)
      return '%+03d%02d' % (-tz / 3600, -tz % 3600 / 60)
  
  def hgmode(mode):
-     m = { '0100755': 'x', '0120000': 'l' }
+     m = { '100755': 'x', '120000': 'l' }
      return m.get(mode, '')
  
  def get_config(config):
@@@ -720,14 -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
      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)