Mercurial > public > mercurial-scm > hg-stable
comparison 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 |
comparison
equal
deleted
inserted
replaced
406:d8abb687d501 | 407:0e0d0670b2bc |
---|---|
1033 | 1033 |
1034 for f, n in mw.iteritems(): | 1034 for f, n in mw.iteritems(): |
1035 if f in m2: | 1035 if f in m2: |
1036 s = 0 | 1036 s = 0 |
1037 | 1037 |
1038 # is the wfile new since m1, and match m2? | |
1039 if n not in m1: | |
1040 t1 = self.wfile(f).read() | |
1041 t2 = self.file(f).revision(m2[f]) | |
1042 if cmp(t1, t2) == 0: | |
1043 mark[f] = 1 | |
1044 n = m2[f] | |
1045 del t1, t2 | |
1046 | |
1038 # are files different? | 1047 # are files different? |
1039 if n != m2[f]: | 1048 if n != m2[f]: |
1040 a = ma.get(f, nullid) | 1049 a = ma.get(f, nullid) |
1041 # are both different from the ancestor? | 1050 # are both different from the ancestor? |
1042 if n != a and m2[f] != a: | 1051 if n != a and m2[f] != a: |