Solving long paths by hashing

Dirkjan Ochtman dirkjan at ochtman.nl
Sun Jun 29 05:28:43 CDT 2008


Adrian Buehlmann wrote:
> Questions left:
> Does streamclone really need to walk the store like that?
> Would it be possible to eliminate this use of util.decodefilename?

Well, I think what it does is walking all the files and passing their 
name, size and contents to the client so that the client can just save 
the revlog contents under the appropriate file name, using the encoding 
that the client hg prefers, so there's no way around that, really.

The alternative is discovering all filenames in some other way than 
walking the store, but it seems that would involve either walking 
manifests for all changesets in the changelog or reading each filelog, 
checking out the manifest in which it last appeared, then read that 
manifest to find any files that are still missing, or something. Both of 
these aren't going to be very efficient, it seems.

Cheers,

Dirkjan



More information about the Mercurial-devel mailing list