[PATCH 0 of 2 ] an optional format flag to force --pull on clone

Wagner Bruna wagner.bruna+mercurial at gmail.com
Fri Dec 9 14:11:09 CST 2011


On 12/09/2011 04:28 PM, Matt Mackall wrote:
> On Fri, 2011-12-09 at 15:57 -0200, Wagner Bruna wrote:
>> This adds an optional 'pullonclone' format flag to force
>> --pull usage when cloning from the repository. It is intended
>> as a workaround for filesystems with poor hardlink support.
> 
> So does this mean there are hardlink issues still out there? If so, why
> haven't we heard about them? And why would papering over them like this
> be the right answer?

No new issues that I'm aware of. But this would be less error-prone than
remembering to use --pull for some known situations (the AFS issues mentioned
on "hg help clone", for instance). Also, network filesystems are notorious for
poor hardlink support, and this would provide a ready workaround for
yet-unknown hardlink bugs.

> Or is it meant to disable pre-1.7.1 clients (the last revision
> I'm aware of that had such issues)? If so, it hits way too wide a mark by
> disabling 1.7 through 2.0. Simply upgrading to the dotencode format will
> disable direct pulls by all clients before 1.7, leaving only 1.7 itself
> vulnerable, if you happen to be at risk for:
> 
>  http://mercurial.selenic.com/bts/issue1866

Disabling 1.7 clients would be an added bonus, yes. Unfortunately I didn't
have time before to make this patch good enough for sending. But speaking as a
repository server admin, I'd still enable this flag, to be 100% sure.

> And --pull is really not the right answer: it significantly slower
> than plain old copy.

If this functionality is considered useful enough for inclusion, I could
change it to copy the store (like already done for local cross-device clones)
and fix the repository requirements afterwards.

Thanks,
Wagner


More information about the Mercurial-devel mailing list