Skip to content

Commit

Permalink
Merge branch 'fc/remote-hg-shared-setup'
Browse files Browse the repository at this point in the history
* fc/remote-hg-shared-setup:
  remote-hg: add shared repo upgrade
  remote-hg: ensure shared repo is initialized
  • Loading branch information
Junio C Hamano committed Sep 4, 2013
2 parents 2bdd872 + 3baacc5 commit 4f5e972
Showing 1 changed file with 18 additions and 5 deletions.
23 changes: 18 additions & 5 deletions contrib/remote-helpers/git-remote-hg
Original file line number Diff line number Diff line change
Expand Up @@ -391,11 +391,24 @@ def get_repo(url, alias):
os.makedirs(dirname)
else:
shared_path = os.path.join(gitdir, 'hg')
if not os.path.exists(shared_path):
try:
hg.clone(myui, {}, url, shared_path, update=False, pull=True)
except:
die('Repository error')

# check and upgrade old organization
hg_path = os.path.join(shared_path, '.hg')
if os.path.exists(shared_path) and not os.path.exists(hg_path):
repos = os.listdir(shared_path)
for x in repos:
local_hg = os.path.join(shared_path, x, 'clone', '.hg')
if not os.path.exists(local_hg):
continue
if not os.path.exists(hg_path):
shutil.move(local_hg, hg_path)
shutil.rmtree(os.path.join(shared_path, x, 'clone'))

# setup shared repo (if not there)
try:
hg.peer(myui, {}, shared_path, create=True)
except error.RepoError:
pass

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

0 comments on commit 4f5e972

Please sign in to comment.