[PATCH] introduce dotpath repositories (issue793)

Adrian Buehlmann adrian at cadifra.com
Tue Jun 17 12:35:03 CDT 2008



On 17.06.2008 18:59, Matt Mackall wrote:
> On Tue, 2008-06-17 at 18:37 +0200, Adrian Buehlmann wrote:
>> On 17.06.2008 17:56, Matt Mackall wrote:
>>> On Tue, 2008-06-17 at 11:58 +0200, Adrian Buehlmann wrote:
>>>> # HG changeset patch
>>>> # User Adrian Buehlmann <adrian at cadifra.com>
>>>> # Date 1213657406 -7200
>>>> # Node ID 167916a01b15fec17d27f5998b882c8609f79303
>>>> # Parent  bb1575f74f27070e3c58083608837c192dd8df35
>>>> introduce dotpath repositories (issue793)
>>>>
>>>> This change adds a new entry 'dotpath' in the .hg/requires file
>>>> of new repositories.
>>> Have you considered that this will really confuse people on Unix?
>> In that variant, it's more a demonstration that the whole testsuite
>> passes fine with that new encoding code in effect for all tests
>> and that the patch is in accordance with CompatibilityRules.
>>
>> I intend to do a variant of the patch, where the new encoding is
>> *off* by default for new repos and can be turned on with a let's say
>>
>> [format]
>> dotpath = True
>>
>> in the default per install Mercurial.ini of the binary Windows
>> packages.
> 
> The whole point of this exercise is to improve the ability of Unix and
> Windows folks to share repos, right? Perhaps, say, via a network drive
> or USB stick. Making all the repo files apparently vanish for half the
> users doesn't seem like the best way to do that. Yes, it's dead simple,
> but there are numerous other dead simple alternatives that leave the
> names readable.

"The whole point of this exercise is to improve the ability of Unix and
Windows folks to share repos, right?"

Yes, by introducing a new repo format which can handle issue793. The
whole purpose is to fix issue793, which is best done by introducing a new
repo layout. The ability to share repos is indeed improved with this patch.

"Making all the repo files apparently vanish for half the
users doesn't seem like the best way to do that"

That's a wrong description of what the patch does. They don't vanish.
It's a new repo format, in accordance with CompatibilityRules. And it
uses the capabilities of Mercurial to detect new repository features.

"... there are numerous other dead simple alternatives that leave the
names readable."

No. There aren't. As I have laid out in my various responses in the
thread starting at http://selenic.com/pipermail/mercurial/2008-June/019547.html
and in my posts at http://www.selenic.com/mercurial/bts/issue793.

For example the \\?\C:\aux.i hack leaves files that can't be handled
by explorer.exe and archivers and thus produces repositories on Windows that
can't be copied via Samba network drives and USB sticks, which defeats the
whole purpose of a common repository layout that can be transferred on the
file system level between Windows and unix. The new proposed repo format
can do that for repositories described in issue793.





More information about the Mercurial-devel mailing list