[RFC] Multi-parent diffs
Aaron Bentley
aaron.bentley at utoronto.ca
Tue Apr 10 19:49:03 BST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
John Arbash Meinel wrote:
> Aaron Bentley wrote:
>> The problem is then: how to you handle the fact that the annotations are
>> different?
> I think we need to discuss annotations in general, though. As I think it
> would be reasonable to split annotations out into a separate file/cache,
> rather than storing them inline. I'm still happy that we generate them
> as we go, rather than after the fact. But most of the time when
> extracting contents, you just care about the contents, not the
> annotations. So having them mixed means you have to do extra processing
> to ignore the extra information.
That's true, though splitting them out makes our model just a bit more
complicated, e.g. one more thing that might go wrong during fetch.
But annotations, all by themselves, would be highly compressible.
> Which would also let us doing fancier things with how we store the
> delta, since it would be decoupled from the line-based annotation store.
> Some things like making "human understandable" annotations, versus
> "optimally small" deltas, etc.
> I realize you have been thinking of other things for "line identity"
> which may effect this more, so it isn't something that I'm strictly
> advocating. As we need to evaluate the alternatives.
I think line identity is neither helped nor harmed by storing
annotations separately. Doing line identity would mean adding a line
number to the annotation: the line number that the line had when it was
introduced.
Actually, storing annotations separately might make it easier to
associate line with a different file from the one it's currently in.
Which would make edge merging easier.
> I think 'hg' gets away with this because they don't have shared
> repositories which can mix 10 different projects in the same files.
Yes, you'd need a very good "fetch" to untangle all that.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGG9wf0F+nu1YWqI0RAtkmAJ9N4BjKKHk0D52jv6aun9gy/T7l0ACeM5C/
bGySsZJEqxZxGThI/sxBkx8=
=X5Hy
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list