From: Antoine Pelisse Date: Tue, 06 Aug 2013 06:22:19 GMT Subject: Re: [PATCH] remote-hg: add shared repo upgrade Message-ID: In-Reply-To: <7vwqnzj1gp.fsf@alter.siamese.dyndns.org> On Mon, Aug 5, 2013 at 11:02 PM, Junio C Hamano wrote: > Antoine Pelisse writes: > Is the untold > and obvious-to-those-who-are-familiar-with-this-codepath assumption > that it is guaranteed that there is at most one "*/clone/.hg" under > shared_path? No, there is no such assumption. That is why we create a repository just below if it doesn't exist (no copy was found). That's also why I don't see how we could split the patch. We could improve that part of the commit message: It's trivial to upgrade to the new organization by copying the Mercurial repo from one of the remotes (e.g. 'origin'), so let's do so. If we can't find any existing repo, we create an empty one. >> + # 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)