sapling/hgext/convert
Patrick Mezard e029e6740d convert: keep branch switching merges with ancestors (issue3340)
When running convert with a filemap, merge parents which are ancestors
of other parents are ignored. This is hardly a problem when parents
belong to the same branch, but the result could be confusing when named
branches are involved. With:

  -o-a1-a2-a3...     <- A
    \           \
     b1-b2-b3...-m-  <- B

If all b* revisions are discarded, it is useful to preserve 'm' even if
it is empty after filtering to record the branch switch.

This patch makes filemap preserve "ancestor parents" if there is no
"non-ancestor parent" on the same branch than the merge revision.

Remarks:
- I am not completely convinced by the reasons given above and those
  detailed by Matt in this thread:

http://selenic.com/pipermail/mercurial-devel/2012-May/040627.html

  The properties we try to preserve are not clearly defined. That said,
  I know this patch already helped someone on IRC and the tests output
  look reasonable.

- This is a new version of the original "convert: filemap must preserve
  fast-forward merges" patch. It has exactly the same output for 2
  parents merges, the additional complexity is here to handle more than
  two parents.
2012-06-18 18:19:28 +02:00
..
__init__.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
bzr.py cleanup: replace naked excepts with except Exception: ... 2012-05-12 16:02:46 +02:00
common.py cleanup: replace naked excepts with more specific ones 2012-05-12 16:02:45 +02:00
convcmd.py convert: lowercase status and abort messages 2012-06-12 14:18:18 +02:00
cvs.py cleanup: eradicate long lines 2012-05-12 15:54:54 +02:00
cvsps.py cleanup: replace naked excepts with more specific ones 2012-05-12 16:02:45 +02:00
darcs.py i18n: use locale insensitive format for datetimes as intermediate representation (issue3398) 2012-04-26 02:41:20 +09:00
filemap.py convert: keep branch switching merges with ancestors (issue3340) 2012-06-18 18:19:28 +02:00
git.py cleanup: replace naked excepts with except Exception: ... 2012-05-12 16:02:46 +02:00
gnuarch.py backout 17bc9a6bb165 (issue3077) (issue3071) 2011-10-29 11:02:23 -05:00
hg.py revlog: descendants(*revs) becomes descendants(revs) (API) 2012-06-01 12:45:16 -07:00
monotone.py cleanup: replace naked excepts with except Exception: ... 2012-05-12 16:02:46 +02:00
p4.py i18n: use locale insensitive format for datetimes as intermediate representation (issue3398) 2012-04-26 02:41:20 +09:00
subversion.py convert: check for failed svn import in debugsvnlog and abort cleanly 2012-06-29 01:51:48 +02:00
transport.py Remove FSF mailing address from GPL headers 2012-01-06 16:27:13 +01:00