On Sun, Aug 4, 2013 at 8:51 AM, Jörn Hees <dev@xxxxxxxxxxxx> wrote: > On 4 Aug 2013, at 15:31, Felipe Contreras <felipe.contreras@xxxxxxxxx> wrote: >> This is my solution: >> >> --- a/contrib/remote-helpers/git-remote-hg.py >> +++ b/contrib/remote-helpers/git-remote-hg.py >> @@ -391,11 +391,22 @@ 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 >> + shutil.copytree(local_hg, hg_path) >> + >> + # setup shared repo (if not there) >> + try: >> + hg.peer(myui, {}, shared_path, create=True) > > Didn't look this up, this will raise the error below when it exists already? Exactly. -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html