Roadmap for supporting parallel import of files

John Arbash Meinel john at arbash-meinel.com
Wed Jul 15 21:28:38 BST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

James Westby wrote:
> James Westby wrote:
>> The often talked about proposal that would handle this, and more, is
>> path tokens:
>>
>>   http://bazaar-vcs.org/DraftSpecs/PathTokens
>>
>> Does that proposed solution have the consensus of the developers as the
>> way to tackle this issue? If not, are there any alternative proposals?
> 
> Does anyone have an answer to any of these questions?
> 
> I realise it's a busy time to be asking this, but I'd just like to start
> with an idea of whether there is a solution to implement, or whether we
> need to find a solution first.
> 
> Thanks,
> 
> James
> 
> 

Well, rebasing would be a possible alternative. (Supply some way to
describe the tree shape such that you regenerate revisions that seem the
same on the other side.) This would generally just be a different tack,
which would be a single command that sets up the equivalences, and then
regenerates whatever history you need to regenerate.

One nice things is that this would let you avoid having 2 copies of the
whole ancestry going back in time from the merge point.


Another way would be getting away from file-ids altogether, though that
is likely to be a much larger and invasive change. (And larger doubts as
to whether we want to do it.)

IIRC, path tokens are essentially identical to file-ids, except when you
copy or merge you generate *new* ids, and set a record somewhere
indicating the relevant equivalences. I believe the idea is to avoid
'merge other' from seeing 'oh you have this exact id' and not noticing
that there is another one that should match. So instead you always get a
miss, and force a lookup in the equivalence layer.

Anyway, its the best proposal that *I've* heard of or come up with
myself. As such it probably wins the "it exists and would do the job"
award :).

Though if I was spending my time and effort, I might consider a rebase
style operation first.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpeO/YACgkQJdeBCYSNAAOtHQCgzLbZkduHjFMa7CSd3DM6qhgH
7hYAn3k4kvR6zbGw/camry316jRwyQ1h
=uWoB
-----END PGP SIGNATURE-----



More information about the bazaar mailing list