Windows long path experimenting report

Paul Moore p.f.moore at gmail.com
Fri Jun 20 14:59:48 UTC 2008


On 20/06/2008, Peter Arrenbrecht <peter.arrenbrecht at gmail.com> wrote:
> In the hope of further stimulating the discussion, I have another
> proposal, even though it is not fully satisfactory to me at this
> point. It follows Adrian's and Patrick's idea that maybe we should
> accept the need for a different format and, thus, manual intervention
> when filesystem-level interoperability is desired[1]. This could also
> be applied to your proposal, meaning it would be optional to turn on
> the encoding you propose.
[...]

Interesting. I'm sure there's scope for something here. Just the idea
that multiple encodings are possible, selected at clone time, is
useful. That way people have the choice when needed, but don't suffer
unless it's necessary.

> Problems:
>
> It seems the max path length is really a limit on the total length. So
> when configuring the max repo store path length, one would really have
> to take into account the length of the path to the repo itself. And
> that would limit the locations it could then be copied to. Horrid.
> This is why I currently propose a limit of 260/2 for Windows' default
> as a compromise.

Hmm, rather than do this, I'd suggest allowing for up to MAX_PATH
(maybe MAX_PATH-3, see below) and leave it up to the user (with a
suitable warning, if Mercurial hits a problem) to locate the
repository appropriately. (MAX_PATH-3 ensures that putting the repo at
C:\ will always work).



More information about the Mercurial-devel mailing list