Mercurial > public > mercurial-scm > hg
diff mercurial/hg.py @ 407:0e0d0670b2bc
[PATCH] Merging identical changes from another branch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Merging identical changes from another branch
From: Michael A Fetterman <Michael.Fetterman@cl.cam.ac.uk>
The issue comes up when a local uncommitted *new* file (i.e. not in the
current manifest) is being merged with an identical file from a branch.
Since the file is not in the current manifest (it's either in the
current "to-be-added" list, or in the "unknown" state), there's no
(local) node from which to create a mergepoint.
manifest hash: 4e64ce654a6473524789a97bbaf8bff61b4343af
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCuM/1ywK+sNU5EO8RAn7xAKCJoH/CgzVK4h4xPJDrd2lY9XOINACgmt01
92uuMswZXcoCchQAaxew7C0=
=qRsk
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Tue, 21 Jun 2005 18:41:57 -0800 |
parents | 99470ae6b424 |
children | 3695fbd2c33b |
line wrap: on
line diff
--- a/mercurial/hg.py Tue Jun 21 18:35:32 2005 -0800 +++ b/mercurial/hg.py Tue Jun 21 18:41:57 2005 -0800 @@ -1035,6 +1035,15 @@ if f in m2: s = 0 + # is the wfile new since m1, and match m2? + if n not in m1: + t1 = self.wfile(f).read() + t2 = self.file(f).revision(m2[f]) + if cmp(t1, t2) == 0: + mark[f] = 1 + n = m2[f] + del t1, t2 + # are files different? if n != m2[f]: a = ma.get(f, nullid)