Re: [PATCH 2/2] remote-hg: add shared repo upgrade
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Aug 9, 2013, 20:24 UTC
- Message-ID
- <CAMP44s3KkwWnTb7=w-oviGRrsXk+g_L0yL9=xyywSpobmeExOw@mail.gmail.com>
- In-Reply-To
- <CALWbr2yAitLSNGj2qwz4C8Ugm8wHnGTf4ndZSbPcFToczWaWEA@mail.gmail.com>
On Fri, Aug 9, 2013 at 3:19 PM, Antoine Pelisse <apelisse@gmail.com> wrote:
Show 11 quoted lines
> On Fri, Aug 9, 2013 at 10:03 PM, Felipe Contreras > <felipe.contreras@gmail.com> wrote: >> 6796d49 (remote-hg: use a shared repository store) introduced a bug by >> making the shared repository '.git/hg', which is already used before >> that patch, so clones that happened before that patch, fail after that >> patch, because there's no shared Mercurial repo. > > Does that still hold ? You are creating the shared_path repository > just below, so it should work without the patch. > The real reason for this patch is to avoid having to re-clone from a > potential slow source, is it not ?
Yeah, that's true.
Show 19 quoted lines
>> + # 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) >> + break >> + > > By the way, I liked my version better, that is: > > if os.path.exists(local_hg): > shutil.copytree(local_hg, hg_path) > break > > Simplifying the if not condition: continue else: break
I prefer my version because if there's any need to add more lines, they don't have to be indented. That's why a lot of code ends up having unnecessary indentation.
-- Felipe Contreras