[MERGE] Explain revision/range identifiers

Aaron Bentley aaron at aaronbentley.com
Fri Sep 5 03:05:59 BST 2008


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

Robert Collins wrote:
> It doesn't really matter if we're
> strictly changeset orientated or not: the diff and merge commands *act*
> as if we're using half open ranges. merge X..Y, when X is not already in
> the local tree, does a cherrypick and *does not include* content unique
> to X. Its half open.

It does not include content that was added before X, and it does not
include content that was added after Y.  It is symmetrical.

diff -r 2..4 does not mean "show me the changes introduced in 3 and 4".
 It means "show me the difference between 2 and 4".

If we were to say "show me the changes introduced in 3 and 4", that
really means "show me the difference from 2..3 and the difference from
3..4", because revisions aren't changesets.  "introduced in" has no
meaning without reference to a parent revision.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIwJQH0F+nu1YWqI0RAkPdAJsFsrIPpiOdttMqRKfE3dn5Tmvm4gCfSEKM
wVWZGWD0xhqwtFHUj28OGDQ=
=M8Ef
-----END PGP SIGNATURE-----



More information about the bazaar mailing list