More merge base discussion [was: monotone's LCA+DOM algo for selecting a merge base]
Aaron Bentley
aaron.bentley at utoronto.ca
Tue Feb 21 14:11:43 GMT 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
John A Meinel wrote:
> Sounds reasonable to me. It seems perfectly suited for something like
> the 'stat-cache'. Which would just have "revision-id\0distance" one per
> line.
>
> I don't know what the delimiter should be, especially since I don't know
> what our future revision-id spec is going to be. '\0' is a safe bet that
> we won't ever allow it, but I don't know about any other character.
I think it might be a good idea to escape the entries, to ensure no
future-compatability worries. Then we could use '=' or ':'.
> I think what actually happened is that I merged you, and resolved all
> the conflicts. And then when I merged you again, it picked Robert as a
> base, and I had to resolve *your* conflicts again, not integration
> conflicts.
Hmm, possibly that makes sense. But it's fairly surprising when it happens.
I've had some discussion with Monotone's Nathaniel Stone, and he says:
"anything involving dominators is _definitely_ not _optimal_. All we
claim is that we think it is more _safe_"
He also pointed out that it's pretty easy to detect whether there's a
criss-cross: If you have more than one minimal common ancestor, you have
a criss-cross. If you have an LCA, you have no criss-cross.
If we can generalize this to detect all criss-crosses, then we can use
the data to filter the results of our existing algorithm, which I think
is still pretty good.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFD+x+f0F+nu1YWqI0RAg1FAJ4//pkoTCuXfGX6EyG4ZwsI0oyPNwCeIufw
/PRZktyYBtvzq3JxKizkd4E=
=3fBh
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list