evolve: make exchange output compact in the old pushkey case too.
=============================Mutable History For Mercurial=============================This package supplies the ``evolve`` extension for Mercurial, whichprovides several commands to mutate history and deal with theresulting issues.It also: - enables the "changeset obsolescence" feature of Mercurial - issues several warning messages when trouble appears in your repository**This extension is experimental and not yet meant for production.**You can enable it by adding the line below to the ``extensions``section of your hgrc:: evolve = PATH/TO/mutable-history/hgext/evolve.pyWe recommend reading the documentation first. An online version isavailable here: http://hg-lab.logilab.org/doc/mutable-history/html/Or see the ``doc/`` directory for a local copy.Contribute==========The simplest way to contribute is to issue a pull request on Bitbucket(https://bitbucket.org/marmoute/mutable-history). Please don't forgetto update and run the tests when you fix a bug or add a feature. Torun the tests: cd tests python run-tests.py --with-hg=/path/to/hgHowever, some cutting-edge changes may be found in a mutable repository hostedby logilab before they are published. http://hg-lab.logilab.org/wip/mutable-history/Be sure to check latest draft changeset before submitting new changesets.Changelog=========4.0.0 --- require Mercurial version 3.0.1 or above- some compatibility fixes with future 3.1.0- deprecated `gup` and `gdown` in favor of prev and next- record parent of pruned parent at prune time- added a `debugobsstorestat` command to gather data on obsmarker content.- added a `debugrecordpruneparents` command to upgrade existing prune marker with parent information. Please run it once per repo after upgrading.- improvement to obsolescence marker exchange: - added progress when pushing obsmarkers - added multiple output during obsolescence markers exchange - only push markers relevant to pushed subset - add a new experimental way to exchange marker (when server support): - added progress when pulling obsmarkers - only pull markers relevant to pulled subset - avoid exchanging common markers in some case - add a hook related to the new commands3.3.2 -- 2014-05-14- fix a bug where evolve were creating changeset with 2 parents on windows (fix issues #16, #35 and #42)- adds a --obsolete flag to import (requieres Mercurial 3.0)- prune: update to successor rather than parent when pruning '.' with -s- fold: add missing --message and --logfile option- fold: add squash as an alias3.3.1 -- 2014-04-23- various language fix- active bookmark now move when using prev/next (#37)- fix some preservation of rename information on evolve (#33)- abort when evolve tries to move a node on top of itself (will helps on the #35 front)- fold: enable --date and --user options3.3.0 -- 2014-03-04- raise Mercurial's minimal requirement to 2.7- drop `latercomer` and `conflicting` compatibility. Those old alias are deprecated for a long time now.- add verbose hint about how to handle corner case by hand. This should help people until evolve is able to to it itself.- removed the qsync extension. The only user I knew about (logilab) is not using it anymore. It not compatible with coming Mercurial version 2.9.- add progress indicator for long evolve command- report troubles creation from `hg import`3.2.0 -- 2013-11-15- conform to the Mercurial custom of lowercase messages- added a small extension to experiment with obsolescence marker push- amend: drop the deprecated note option- amend: use core mechanism for amend (fix multiple bugs)- parents command: add "working directory parent is obsolete" message- evolve command: allow updating to the successor if the parent is obsolete- gdown and gup commands: add next and previous alias, respectively- make grab aliases compatible with Mercurial 2.8- Tested with 2.6, 2.7 and 2.83.1.0 -- 2013-02-11- amend: drop deprecated --change option for amend- alias: add a grab aliast to be used instead of graft -O- touch: add a --duplicate option to *not* obsolete the old version- touch: fix touching multiple revision at the same time- evolve: add a --all option- prune: various minor improvements- prune: add option to prune a specific bookmark- prune: add -u and -d option to control metadata3.0.0 -- 2013-02-02- compatibility with 2.52.2.0 --- make evolve smarter at picking next troubled to solved without --any2.1.0 -- 2012-12-03- qsync fixes- have qfold ask for commit message2.0.0 -- 2012-10-26- compat with mercurial 2.41.1.0 -- 2012-10-26- fix troubles creation reporting from rebase- rename latecomer to bumped- renamed conflicting to divergent- smarter divergent handling1.0.2 -- 2012-09-19- fix hg fold bug- fix hg pull --rebase- fix detection of conflict with external tools- adapt to core movement (caches and --amend)1.0.1 -- 2012-08-31- documentation improvement- fix a performance bug with hgweb1.0 -- 2012-08-29- Align with Mercurial version 2.3 (drop 2.2 support).- stabilize handle killed parent- stabilize handle late comer- stabilize handle conflicting- stabilize get a --continue switch- merge and update ignore extinct changeset in most case.- new "troubled()" revset- summary now reports troubles changesets- new touch command- new fold command- new basic olog alias- rebase refuse to work on public changeset again- rebase explicitly state that there is nothing to rebase because everything is extinct() when that happen.- amend now cleanly abort when --change switch is misused0.7 -- 2012-08-06- hook: work around insanely huge value in obsolete pushkey call- pushkey: properly handle abort during obsolete markers push- amend: wrap the whole process in a single transaction.- evolve: tweak and add EOL to kill warning- obsolete: fix doc, rebase no longer aborts with --keep- obsolete/evolve: fix grammar in prerequisite messages- evolve: avoid duplication in graft wrapper- evolve: graft --continue is optional, test0.6 -- 2012-07-31- obsolete: change warning output to match mercurial core on- qsync: ignore unexistent nodes- make compat server both compatible with "dump" and "dump%i" version0.5 -- 2012-07-16- obsolete: Detect conflicting changeset!- obsolete: adapt to core: marker are written in transaction now- evolve: add the solve alias to obsolete- doc: big update of terms and summary of the concept- evolve: switch the official name for "kill" to prune0.4.1 -- 2012-07-10- [convert] properly exclude null successors from convertion- Ignore buggy marker in newerversion0.4.0 -- 2012-07-06- obsolete: public changeset are no longer latecomer.- obsolete: move to official binary format- adapt for new mercurial- obsolete: we are not compatible with 2.1 any more0.3.0 -- 2012-06-27- - obsolete: Add "latecomer" error detection (stabilize does not handle resolution yet)- evolve: Introduce a new `uncommit` command to remove change from a changeset- rebase: allow the use of --keep again- commit: --amend option create obsolete marker (but still strip)- obsolete: fewer marker are created when collapsing revision.- revset: add, successors(), allsuccessors(), precursors(), allprecursors(), latecomer() and hidden()- evolve: add `prune` alias to `kill`.- stabilize: clearly state that stabilize does nto handle conflict- template: add an {obsolete} keyword0.2.0 -- 2012-06-20- stabilize: improve choice of the next changeset to stabilize- stabilize: improve resolution of several corner case- rebase: handle removing empty changesets- rebase: handle --collapse- evolve: add `obsolete` alias to `kill`- evolve: add `evolve` alias to `stabilize`