sapling/hgext
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
..
convert convert: keep branch switching merges with ancestors (issue3340) 2012-06-18 18:19:28 +02:00
highlight hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
inotify hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
largefiles largefiles: lowercase messages 2012-06-12 14:18:18 +02:00
zeroconf hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
__init__.py Re-add hgext/__init__.py 2005-09-29 12:49:01 -07:00
acl.py acl: user docs for the "!" prefix in user or group names 2012-05-30 21:47:51 -03:00
bugzilla.py bugzilla: stop bugs always being marked as fixed in xmlrpc (issue3484) 2012-06-06 16:44:17 +01:00
children.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
churn.py churn: lowercase message 2012-06-12 14:18:18 +02:00
color.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
eol.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
extdiff.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
factotum.py factotum: add man reference to help output 2012-05-04 09:14:55 -07:00
fetch.py fetch: lowercase abort message 2012-06-12 14:18:18 +02:00
gpg.py consistency: use REV instead of REVISION 2012-06-20 16:49:04 +02:00
graphlog.py graphlog: turn getlogrevs() into a generator 2012-05-08 22:43:44 +02:00
hgcia.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
hgk.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
histedit.py histedit: use stable iteration order for processing bookmarks 2012-06-30 03:34:41 +02:00
interhg.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
keyword.py keyword: use ui.formatter for kwfiles output 2012-06-28 15:06:41 +01:00
mq.py strip: update help to state than you can strip public changeset 2012-06-28 18:39:16 +02:00
notify.py merge with stable 2012-06-13 20:14:28 +02:00
pager.py pager: use ui._isatty infrastructure 2012-05-20 14:33:49 -05:00
patchbomb.py patchbomb: lowercase status messages 2012-06-12 14:18:18 +02:00
progress.py progress: use ui._isatty 2012-05-20 14:37:20 -05:00
purge.py purge: lowercase messages 2012-06-12 14:18:18 +02:00
rebase.py merge with stable 2012-06-29 00:40:52 -05:00
record.py merge with stable 2012-07-01 21:20:30 -05:00
relink.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
schemes.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
share.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
transplant.py consistency: use REV instead of REVISION 2012-06-20 16:49:04 +02:00
win32mbcs.py hgext: mark all first-party extensions as such 2012-05-15 14:37:49 -05:00
win32text.py win32text: lowercase warning message 2012-06-12 14:18:18 +02:00