[PATCH] transaction: enable hardlink backups for non-windows systems

Durham Goode durham at fb.com
Thu Mar 2 15:24:14 EST 2017



On 3/2/17 11:55 AM, Augie Fackler wrote:
>
>> On Mar 2, 2017, at 12:37 PM, Durham Goode <durham at fb.com> wrote:
>>
>> On 3/2/17 8:09 AM, Ryan McElroy wrote:
>>>
>>>
>>> On 3/2/17 7:46 AM, Yuya Nishihara wrote:
>>>> On Wed, 1 Mar 2017 17:55:25 -0800, Jun Wu wrote:
>>>>> According to
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__bz.mercurial-2Dscm.org_show-5Fbug.cgi-3Fid-3D4546-3A&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=Jw8rundaE7TbmqBYd1txIQ&m=vjW-XcGbq_x7AbgPtmJ8lHDdDLYljlyx2xvUxSdf4IE&s=6scd8qQkJR-0MXuZo-p47gjTcBa4U3m-ZywPbWfxOKI&e=
>>>>>
>>>>>
>>>>>   Testing with mercurial 3.2 and 3.3 to a Linux samba server worked
>>>>> without
>>>>>   issue in the few tests I've done.  This suggests the most likely
>>>>> cause is
>>>>>   an NTFS/Windows based file server?
>>>>>
>>>>> So I think at least we can have a whitelist (instead of a blacklist)
>>>>> that
>>>>> allows Linux to use real hardlinks. Just ignore OS X or Windows for now.
>>>> She said a Linux samba server had no problem, not a Linux client with
>>>> Windows
>>>> server.
>>>
>>> Sounds like just changing this is a non-starter then. How about using a
>>> config option, so people like us can get the perf benefits in places
>>> where we are not concerned about the possible downsides (because we
>>> prevent clones onto NFS/CIFS shares, for example)? Would anyone object
>>> to turning this into an option that defaults to off?
>>
>> Might be hard to get a config option down to this level, since there's no ui object around here, but we could probably move the 'False' value to a module level variable so extensions could at least set it to True.
>
> I worry about such a config knob (see my previous statements about people actually choosing to turn on SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_SLEEP_FOR_TIMESTAMPS and then being surprised when they get the promised corruption) in core. I’d welcome a change like this that would let an out-of-tree extension with extensive warnings make the desired changes though.

Earlier this morning I sent a patch "util: add allowhardlinks module 
variable" V2 to do just this. Let me know if you think it needs more 
scary comments.


More information about the Mercurial-devel mailing list