# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1506853401 -3600 # Node ID ba5b271298e91e340913e219a4798da76b083730 # Parent b400759fd6d2c4d4e043cfbabbce659d7c3d8f7d README: move CHANGELOG to a new file diff -r b400759fd6d2 -r ba5b271298e9 CHANGELOG --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CHANGELOG Sun Oct 01 11:23:21 2017 +0100 @@ -0,0 +1,601 @@ +Changelog +========= + +6.7.1 - in progress +------------------- + + * stack: fix evolution previous for simple split + +6.7.0 -- 2017-09-27 +------------------- + + * compatibility with change in future 4.4 at this release date, + * documentation: improvement to content, wording and graphs, + * obslog: improved templatability, + * obslog/log: improve verb used to describe and evolution, + * pstatus/pdiff: update to full command. They now appears in the help, + * uncommit: add a --interactive option (4.3+ only). + + * push: add a --topic option to mirror --bookmark and --branch, + * stack: improve display of interleaved topic, + * stack: improve display of merge commit, + * topic: add a new 'debugconvertbookmark' commands (4.3+ only), + It helps migrating from bookmark feature branch to topic feature branch, + * topic: --age flag also shows the user who last touched the topic, + * topic: be more informative about topic activation and deactivation, + * topic: gain a --current flag, + * topic: small clarification and cleanup on various output. + +6.6.0 -- 2017-07-25 +------------------- + + - amend: add a --extract flag to move change back to the working copy, + (same as uncommit, but accessible through the amend commit) + - split: now properly refuse to split public changeset, + - commands: unify and improve the pre-rewrite validation and error message, + - uncommit: add support for --current-date and --current-user option, + - fold: add support for --current-date and --current-user option, + - metaedit: add support for --current-date and --current-user option, + - split: add support for --current-date and --current-user option, + - compat: use various new API instead of the one deprecated in 4.3, + (when available) + - documentation: various minor documentation update. + +topic (0.2.0): + + - topic: add --age option to sort topic by the most recently touched, + - topic: add a 't0' to access the root of a topic while keeping it active, + - topic: allow 'hg prev' to me move to 't0', + - topic: add a config option to enforce topic on new commit, + (experimental.enforce-topic) + - topic: make command names valid as expected, even if ui.strict=true. + +6.5.0 -- 2017-07-02 +------------------- + +features: + + - obslog: gain a --patch flag to display changes introduced by the evolution + (Currently limited to in simple case only) + - log: display obsolescence fate by default, (future 4.3 only) + - doc: various minor improvement. + +bugfixes: + + - evolve: fix branch preservation for merge, + - obsfate: improve support for advanced template reformating, + - split: preserve author of the splitted changeset. + - grab: properly fix hg executable on windows. + +topic (0.1.0): + + - stack: also show the unstable status for the current changeset, (issue5553) + - stack: properly abort when and unknown topic is requested, + - stack: add basic and raw support for named branches, + - topic: changing topic on revs no longer adds extra instability, (issue5441) + - topic: topics: rename '--change' flag to '--rev' flag, + - topic: multiple large performance improvements, + - topic: various small output improvement, + - topic: improved topic preservation for various commands. + + +6.4.0 -- 2017-06-16 +------------------- + + - template: signifiant improvement to the '{obsfate}' template (now 4.2+ only) + - template: fix 'successors' and 'precursors' template to expose hex-node + - effect flag: the experiment is now active by default, + (see 'hg help -e evolve' to opt out) + - effect flag: fix a small bug related to hidden changeset, + - obscache: reduce impact on large repository + - obshashrange: install a '.max-revs' option see extension help for details + +6.3.1 -- 2017-06-01 +------------------- + + - also backport the "revelant-markers" fix when using "evolve.serveronly" + +6.3.0 -- 2017-05-31 +------------------- + + - olog: add an 'obslog' alias + - olog: add an '--all' option to show the whole obsolescence history tree. + - evolution: add an experiment to track the effect of rewrites. + (See hg help - evolve for details) + - exchange: fix the "relevant-markers" algorithm to include inline prune. + This will impact discovery of obsmarkers between server and client if one + still uses the old algorithm. Please upgrade both clients and servers as + soon as possible. + (See changeset 176d1a0ce385 in core Mercurial for details) + - obsdiscovery: add a config flag to disable all obsmarkers discovery + (See hg help - evolve for details) + - template: add a 'precursors' template that display the closests precursors of changesets + - template: add a 'successors' template that display the closests successors of changesets + - template: add a 'obsfate' template that display how a changeset has evolved + - new discovery experiment: add options to restrict memory consumption on + large repository (see "hg help -e evolve" for details). + - evolve: fix --rev handling in --list mode + +6.2.1 -- 2017-05-23 +------------------- + + - prune: fix a crash related to color handling, + - next: fix a crash related to color handling, + - discovery: document the 'obshashrange' experiment, + - cache: reduce the warming load in case of reset, + - cache: add a 'experimental.obshashcache.warm-cache' option to allow + disabling post transaction cache warming. + +6.2.0 -- 2017-05-18 +------------------- + + - olog: a new command to inspect the obs-history of a changeset (hg-4.0 + only), + - topic: have thg display topic name if possible, + - blackbox: log more information about discovery and cache computation, + - obscache: more efficient update in the (rare) case of a transaction adding + markers without changesets, + - obscache: fix more cache invalidation propagation, + - obscache: also enable the new cache (from 6.1.0) for 'evolve.server-only', + - obshashrange-cache: update incrementally in the (common) case of a + transaction not affecting existing range, + - obshashrange-cache: keep the cache warm after each transaction, + - topic: now requires Mercurial 4.0 or above, + - stack: now display if current revision is in bad state (issue5533), + - stack: fix json output to be valid json. + +6.1.0 -- 2017-05-03 +------------------- + + - improve message about obsolete working copy parent, + - improve message issued when accessing hidden nodes (4.2 only), + - introduce a new caches to reduce the impact of evolution on read-only commands, + - add a 'experimental.auto-publish' config. See `hg help -e evolve` for details. + - fix the propagation of some some cache invalidation, + +6.0.1 -- 2017-04-20 +------------------- + + - template: adapt to change in 4.2, + - fix 'debugrecordpruneparents' (outdated API usage) + - checkheads: give priority to updated 4.2 code, + - serveronly: fix repository initialization. + +6.0.0 -- 2017-03-31 +------------------- + +- push: improved detection of obsoleted remote branch (issue4354), +- drop compatibility for Mercurial < 3.8, +- removed old (unpackaged) pushexperiment extension, +- move all extensions in the official 'hgext3rd' namespace package, +- add the "topic" experimental extensions. See the README.topic file for details +- officially ship 'evolve.serveronly' extensions. That extensions contains + only the part related to exchange and is intended to be used by server. + + Using the extension will enable evolution, use 'experimental.evolution=!' + to disable obsmarkers echange. The old '__temporary__.advertiseobsolete' + option is no longer supported. + +- a new prototype of obsmarker discovery is available. The prototype is still + at early stage and not recommended for production. + Examples of current limitations: + + - write access to the repo is highly recommanded for all operation, + - large memory footprint, + - initial caching is slow, + - unusable on large repo (because of various issue pointed earlier), + - likely to constains various bugs. + + It can be tested by setting `experimental.obshashrange=1` on both client and + server. It is recommanded to get in touch with the evolve maintainer if you + decide to test it. + +- the 'debugrecordpruneparents' have been moved into the 'evolve.legacy' + separate extension. enable that extentions if you need to convert/update + markers in an old repository. + +5.6.1 -- 2017-02-28 +------------------- + +- fix a crash that sometime happened when evolving merges. + +5.6.0 -- 2017-02-01 +------------------- + +- compatibility with Mercurial 4.1. +- improvement of prune error message. +- fold: require --from flag for folding revisions to working copy +- fix crash when trying to fold an empty revision set (issue5453) +- uncommit: preserve copy information of remaining files (issue5403) + +5.5.0 -- 2016-10-30 +------------------- + +- The {obsolete} template now yield "obsolete" or "". +- compatibility with Mercurial 4.0 +- Fix erroneous manifest computation when solving 'bumped' changeset. +- split: avoid crash on empty commit (issue5191), +- next: improve locking to avoid issue with working copy parent (issue5244) +- prev: improve locking to avoid issue with working copy parent (issue5244) +- evolve: fix abort suggestion to include '.' in 'hg update -C .' + +5.4.1 -- 2016-08-01 +------------------- + + - compat with Mercurial 3.9 + +5.4.0 -- 2016-05-06 +------------------- + +- Some collaboration with the topic experimental extensions, + - hg evolve --all with consider all troubles in your current topic, + - preserve 'topic' during evolve, + - 'next' and 'prev' restrict themself to the current topic by default, +- remove the dangerous 'kill' alias for 'prune' (because 'hg kill -1' without + the leading 'hg' will give you an hardtime) +- during 'hg evolve' skip unsupported merge instead of aborting +- various documentation fix and update +- hg summary now suggest 'hg evolve --continue when appropriate` +- compatibility with Mercurial 3.8 'hgext' namespace package. +- small improvement to the `hg split` instruction +- add a 'metaedit' command to rewrite changeset meta data. + +5.3.0 -- 2016-02-11 +------------------- + +- split: add a new command to split changesets, +- tests: drop our copy of 'run-tests.py' use core one instead, +- bookmark: do all bookmark movement within a transaction. +- evolve: compatibility with Mercurial 3.7 +- evolve: support merge with a single obsolete parent (hg-3.7+ only) +- evolve: prevent added file to be marked as unknown if evolve fails (issue4966) +- evolve: stop relying on graftstate file for save evolve state + (for `hg evolve --continue`) +- evolve: fix divergence resolution when it result in an empty commit + (issue4950) (hg-3.5+ only) +- no longer lock the repository for `hg parents` (issue4895) +- updated help for the `evolve` command + +5.2.1 -- 2015-11-02 +------------------- + +- add compatibility with Mercurial 3.6 +- prune: fixed possible issue with lock and bookmark +- next/prev: fixed possible issue with lock and bookmark +- add some progress data during changesets discovery +- take advantage of dirstate/transaction collaboration + +5.2.0 -- 2015-06-25 +------------------- + +- evolve: gain a --rev option to control what revisions to evolve (issue4391) +- evolve: revision are processed in the order they stack on destination +- evolve: properly skip unstable revision with non-evolved unstable parent +- evolve: gain --unstable --divergent --bumped flag to select the trouble +- evolve: issue more useful error message and hint when evolve has nothing to + do as invocated. +- evolve: bare `hg evolve` commands now abort when multiple changesets could be + a target. +- evolve: `hg evolve --all` only evolve changeset that will end up as + descendant of the current working copy. The old behavior of `--all` + in now in `--all --any`. +- evolve: add a 'experimental.evolutioncommands' for fine grained commands + enabling +- next/prev: requires `--merge` to move with uncommitted changes +- next: significantly reword error messages +- next: add a --evolve flag to evolve aspiring children when on a head + +5.1.5 -- 2015-06-23 +------------------- + +- minor documentation cleanup +- support -i option for `hg amend` if commit supports it (3.4) +- fix the `debugrecordpruneparents` utility +- fix some possible crash during command abort (release nonexistent transaction) +- fix simple4server bug tracker URL +- compatibility with bookmark API change in future Mercurial 3.5 +- prune no longer move the active bookmark for no reason (issue4559) +- evolve: stop reporting divergence base as missing when we actually have it +- significant performance improvement for all revsets. +- provide a hint of how to update to the successor of an obsolete working copy + parent. + +5.1.4 -- 2015-04-23 +------------------- + +- significant documentation update +- fix issue4616: pulling with bundle2 would crash if common marker when + discovered on non-served changesets. +- fix the debugobsrelsethashtree command + +5.1.3 -- 2015-04-20 +------------------- + +- discovery: fix misbehaving discovery across python version +- pull: properly install the bundle2 par generator + (avoid sending all markers for each pull) +- commit: avoid potential deadlock (acquires wlock before lock) +- graft: avoid potential deadlock (acquires wlock before lock) + +5.1.2 -- 2015-04-01 +------------------- + +- evolve: prevent a crash in httpclient_pushobsmarkers() when pushing + +5.1.1 -- 2015-03-05 +------------------- + +- debugobsconvert: fix invalid markers during conversion +- discovery: cache some of the obs hash computation to improve performance (issue4518) +- revset: fix some crash with (issue4515) + +5.1 -- 2015-01-30 +------------------- + +- evolve: explicitly disable bookmark on evolve (issue4432) +- evolve: don't abort Mercurial on version mismatch +- compatibility with mercurial 3.3 + +5.0.2 -- 2014-12-14 +------------------- + +- evolve: remove dependency to the rebase extension + +5.0.1 -- 2014-11-25 +------------------- + +- amend: fix --logfile argument +- evolve: preserve branch change when evolving +- evolve: fix potential crash while solving `bumped` changesets. +- uncommit: abort when rev specifies the current changeset +- evolve: various message improvement +- evolve: fix selection of changeset to evolve from the middle of a stack (issue4434) +- evolve: make next/prev only move bookmarks optionally +- evolve: tell user which "base of divergent changeset" is not found + +5.0.0 -- 2014-10-22 +------------------- + +- drop compat with Mercurial pre 3.2 +- uncommit: add a --rev argument +- evolve: add a `working directory now at xxxxxxxxxx` message +- evolve: automatically translate obsolete hashes when evolving +- properly skip marker creating if patch apply cleanly +- prune: work around a massive slowdown from lazy revset +- grab: "fix" the grab alias on window + +- fix an issue where prune performance were quadratic with the number of + changesets pruned. +- pull: use discovery to pull less obsmarkers through bundle2 + + +4.1.0 -- 2014-08-08 +------------------- + +- amend: add -D/--current-date option +- amend: add -U/--current-user option +- evolve: add a --tool option +- evolve: add a --confirm option +- mark "commit -o", "graft -o" and "graft -O" as deprecated since they are + unlikely to eventually make it into core. +- push obsmarkers and phases in the same transaction than changesets + (when using hg >= 3.1 and bundle2-exp is enabled) +- hide message about the obsolescence marker exchange behind a + `experimental.verbose-obsolescence-exchange` variable (default to False). + +4.0.1 -- 2014-08-08 +------------------- + +- createmarkers() accept an iterable (for compat with other extension) + +4.0.0 -- 2014-06-03 +------------------- + +- 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 + - use bundle2 as transport when available. + + - add a hook related to the new commands + +3.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 (requires 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 alias + +3.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 options + +3.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.8 + +3.1.0 -- 2013-02-11 +------------------- + +- amend: drop deprecated --change option for amend +- alias: add a grab alias 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 metadata + +3.0.0 -- 2013-02-02 +------------------- + +- compatibility with 2.5 + +2.2.0 -- +------------------- + +- make evolve smarter at picking next troubled to solved without --any + +2.1.0 -- 2012-12-03 +------------------- + +- qsync fixes +- have qfold ask for commit message + +2.0.0 -- 2012-10-26 +------------------- + +- compat with mercurial 2.4 + +1.1.0 -- 2012-10-26 +------------------- + +- fix troubles creation reporting from rebase +- rename latecomer to bumped +- renamed conflicting to divergent +- smarter divergent handling + +1.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 hgweb + +1.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 misused + + +0.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, test + +0.6 -- 2012-07-31 +------------------- + +- obsolete: change warning output to match mercurial core on +- qsync: ignore nonexistent nodes +- make compat server both compatible with "dump" and "dump%i" version + +0.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 prune + + +0.4.1 -- 2012-07-10 +------------------- + +- [convert] properly exclude null successors from conversion +- Ignore buggy marker in newerversion + + +0.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 more + +0.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 not handle conflict +- template: add an {obsolete} keyword + +0.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` diff -r b400759fd6d2 -r ba5b271298e9 MANIFEST.in --- a/MANIFEST.in Sun Oct 01 11:18:36 2017 +0100 +++ b/MANIFEST.in Sun Oct 01 11:23:21 2017 +0100 @@ -20,6 +20,7 @@ include hgext3rd/topic/*.py include MANIFEST.in include README +include CHANGELOG include README-topic include setup.py include tests/*.py diff -r b400759fd6d2 -r ba5b271298e9 README --- a/README Sun Oct 01 11:18:36 2017 +0100 +++ b/README Sun Oct 01 11:23:21 2017 +0100 @@ -117,605 +117,3 @@ In addition, we have compatibility branches to check tests on older version of Mercurial. They are the "mercurial-x.y" branches. They are used to apply expected test change only, no code change should happen there. - -Changelog -========= - -6.7.1 - in progress -------------------- - - * stack: fix evolution previous for simple split - -6.7.0 -- 2017-09-27 -------------------- - - * compatibility with change in future 4.4 at this release date, - * documentation: improvement to content, wording and graphs, - * obslog: improved templatability, - * obslog/log: improve verb used to describe and evolution, - * pstatus/pdiff: update to full command. They now appears in the help, - * uncommit: add a --interactive option (4.3+ only). - - * push: add a --topic option to mirror --bookmark and --branch, - * stack: improve display of interleaved topic, - * stack: improve display of merge commit, - * topic: add a new 'debugconvertbookmark' commands (4.3+ only), - It helps migrating from bookmark feature branch to topic feature branch, - * topic: --age flag also shows the user who last touched the topic, - * topic: be more informative about topic activation and deactivation, - * topic: gain a --current flag, - * topic: small clarification and cleanup on various output. - -6.6.0 -- 2017-07-25 -------------------- - - - amend: add a --extract flag to move change back to the working copy, - (same as uncommit, but accessible through the amend commit) - - split: now properly refuse to split public changeset, - - commands: unify and improve the pre-rewrite validation and error message, - - uncommit: add support for --current-date and --current-user option, - - fold: add support for --current-date and --current-user option, - - metaedit: add support for --current-date and --current-user option, - - split: add support for --current-date and --current-user option, - - compat: use various new API instead of the one deprecated in 4.3, - (when available) - - documentation: various minor documentation update. - -topic (0.2.0): - - - topic: add --age option to sort topic by the most recently touched, - - topic: add a 't0' to access the root of a topic while keeping it active, - - topic: allow 'hg prev' to me move to 't0', - - topic: add a config option to enforce topic on new commit, - (experimental.enforce-topic) - - topic: make command names valid as expected, even if ui.strict=true. - -6.5.0 -- 2017-07-02 -------------------- - -features: - - - obslog: gain a --patch flag to display changes introduced by the evolution - (Currently limited to in simple case only) - - log: display obsolescence fate by default, (future 4.3 only) - - doc: various minor improvement. - -bugfixes: - - - evolve: fix branch preservation for merge, - - obsfate: improve support for advanced template reformating, - - split: preserve author of the splitted changeset. - - grab: properly fix hg executable on windows. - -topic (0.1.0): - - - stack: also show the unstable status for the current changeset, (issue5553) - - stack: properly abort when and unknown topic is requested, - - stack: add basic and raw support for named branches, - - topic: changing topic on revs no longer adds extra instability, (issue5441) - - topic: topics: rename '--change' flag to '--rev' flag, - - topic: multiple large performance improvements, - - topic: various small output improvement, - - topic: improved topic preservation for various commands. - - -6.4.0 -- 2017-06-16 -------------------- - - - template: signifiant improvement to the '{obsfate}' template (now 4.2+ only) - - template: fix 'successors' and 'precursors' template to expose hex-node - - effect flag: the experiment is now active by default, - (see 'hg help -e evolve' to opt out) - - effect flag: fix a small bug related to hidden changeset, - - obscache: reduce impact on large repository - - obshashrange: install a '.max-revs' option see extension help for details - -6.3.1 -- 2017-06-01 -------------------- - - - also backport the "revelant-markers" fix when using "evolve.serveronly" - -6.3.0 -- 2017-05-31 -------------------- - - - olog: add an 'obslog' alias - - olog: add an '--all' option to show the whole obsolescence history tree. - - evolution: add an experiment to track the effect of rewrites. - (See hg help - evolve for details) - - exchange: fix the "relevant-markers" algorithm to include inline prune. - This will impact discovery of obsmarkers between server and client if one - still uses the old algorithm. Please upgrade both clients and servers as - soon as possible. - (See changeset 176d1a0ce385 in core Mercurial for details) - - obsdiscovery: add a config flag to disable all obsmarkers discovery - (See hg help - evolve for details) - - template: add a 'precursors' template that display the closests precursors of changesets - - template: add a 'successors' template that display the closests successors of changesets - - template: add a 'obsfate' template that display how a changeset has evolved - - new discovery experiment: add options to restrict memory consumption on - large repository (see "hg help -e evolve" for details). - - evolve: fix --rev handling in --list mode - -6.2.1 -- 2017-05-23 -------------------- - - - prune: fix a crash related to color handling, - - next: fix a crash related to color handling, - - discovery: document the 'obshashrange' experiment, - - cache: reduce the warming load in case of reset, - - cache: add a 'experimental.obshashcache.warm-cache' option to allow - disabling post transaction cache warming. - -6.2.0 -- 2017-05-18 -------------------- - - - olog: a new command to inspect the obs-history of a changeset (hg-4.0 + only), - - topic: have thg display topic name if possible, - - blackbox: log more information about discovery and cache computation, - - obscache: more efficient update in the (rare) case of a transaction adding - markers without changesets, - - obscache: fix more cache invalidation propagation, - - obscache: also enable the new cache (from 6.1.0) for 'evolve.server-only', - - obshashrange-cache: update incrementally in the (common) case of a - transaction not affecting existing range, - - obshashrange-cache: keep the cache warm after each transaction, - - topic: now requires Mercurial 4.0 or above, - - stack: now display if current revision is in bad state (issue5533), - - stack: fix json output to be valid json. - -6.1.0 -- 2017-05-03 -------------------- - - - improve message about obsolete working copy parent, - - improve message issued when accessing hidden nodes (4.2 only), - - introduce a new caches to reduce the impact of evolution on read-only commands, - - add a 'experimental.auto-publish' config. See `hg help -e evolve` for details. - - fix the propagation of some some cache invalidation, - -6.0.1 -- 2017-04-20 -------------------- - - - template: adapt to change in 4.2, - - fix 'debugrecordpruneparents' (outdated API usage) - - checkheads: give priority to updated 4.2 code, - - serveronly: fix repository initialization. - -6.0.0 -- 2017-03-31 -------------------- - -- push: improved detection of obsoleted remote branch (issue4354), -- drop compatibility for Mercurial < 3.8, -- removed old (unpackaged) pushexperiment extension, -- move all extensions in the official 'hgext3rd' namespace package, -- add the "topic" experimental extensions. See the README.topic file for details -- officially ship 'evolve.serveronly' extensions. That extensions contains - only the part related to exchange and is intended to be used by server. - - Using the extension will enable evolution, use 'experimental.evolution=!' - to disable obsmarkers echange. The old '__temporary__.advertiseobsolete' - option is no longer supported. - -- a new prototype of obsmarker discovery is available. The prototype is still - at early stage and not recommended for production. - Examples of current limitations: - - - write access to the repo is highly recommanded for all operation, - - large memory footprint, - - initial caching is slow, - - unusable on large repo (because of various issue pointed earlier), - - likely to constains various bugs. - - It can be tested by setting `experimental.obshashrange=1` on both client and - server. It is recommanded to get in touch with the evolve maintainer if you - decide to test it. - -- the 'debugrecordpruneparents' have been moved into the 'evolve.legacy' - separate extension. enable that extentions if you need to convert/update - markers in an old repository. - -5.6.1 -- 2017-02-28 -------------------- - -- fix a crash that sometime happened when evolving merges. - -5.6.0 -- 2017-02-01 -------------------- - -- compatibility with Mercurial 4.1. -- improvement of prune error message. -- fold: require --from flag for folding revisions to working copy -- fix crash when trying to fold an empty revision set (issue5453) -- uncommit: preserve copy information of remaining files (issue5403) - -5.5.0 -- 2016-10-30 -------------------- - -- The {obsolete} template now yield "obsolete" or "". -- compatibility with Mercurial 4.0 -- Fix erroneous manifest computation when solving 'bumped' changeset. -- split: avoid crash on empty commit (issue5191), -- next: improve locking to avoid issue with working copy parent (issue5244) -- prev: improve locking to avoid issue with working copy parent (issue5244) -- evolve: fix abort suggestion to include '.' in 'hg update -C .' - -5.4.1 -- 2016-08-01 -------------------- - - - compat with Mercurial 3.9 - -5.4.0 -- 2016-05-06 -------------------- - -- Some collaboration with the topic experimental extensions, - - hg evolve --all with consider all troubles in your current topic, - - preserve 'topic' during evolve, - - 'next' and 'prev' restrict themself to the current topic by default, -- remove the dangerous 'kill' alias for 'prune' (because 'hg kill -1' without - the leading 'hg' will give you an hardtime) -- during 'hg evolve' skip unsupported merge instead of aborting -- various documentation fix and update -- hg summary now suggest 'hg evolve --continue when appropriate` -- compatibility with Mercurial 3.8 'hgext' namespace package. -- small improvement to the `hg split` instruction -- add a 'metaedit' command to rewrite changeset meta data. - -5.3.0 -- 2016-02-11 -------------------- - -- split: add a new command to split changesets, -- tests: drop our copy of 'run-tests.py' use core one instead, -- bookmark: do all bookmark movement within a transaction. -- evolve: compatibility with Mercurial 3.7 -- evolve: support merge with a single obsolete parent (hg-3.7+ only) -- evolve: prevent added file to be marked as unknown if evolve fails (issue4966) -- evolve: stop relying on graftstate file for save evolve state - (for `hg evolve --continue`) -- evolve: fix divergence resolution when it result in an empty commit - (issue4950) (hg-3.5+ only) -- no longer lock the repository for `hg parents` (issue4895) -- updated help for the `evolve` command - -5.2.1 -- 2015-11-02 -------------------- - -- add compatibility with Mercurial 3.6 -- prune: fixed possible issue with lock and bookmark -- next/prev: fixed possible issue with lock and bookmark -- add some progress data during changesets discovery -- take advantage of dirstate/transaction collaboration - -5.2.0 -- 2015-06-25 -------------------- - -- evolve: gain a --rev option to control what revisions to evolve (issue4391) -- evolve: revision are processed in the order they stack on destination -- evolve: properly skip unstable revision with non-evolved unstable parent -- evolve: gain --unstable --divergent --bumped flag to select the trouble -- evolve: issue more useful error message and hint when evolve has nothing to - do as invocated. -- evolve: bare `hg evolve` commands now abort when multiple changesets could be - a target. -- evolve: `hg evolve --all` only evolve changeset that will end up as - descendant of the current working copy. The old behavior of `--all` - in now in `--all --any`. -- evolve: add a 'experimental.evolutioncommands' for fine grained commands - enabling -- next/prev: requires `--merge` to move with uncommitted changes -- next: significantly reword error messages -- next: add a --evolve flag to evolve aspiring children when on a head - -5.1.5 -- 2015-06-23 -------------------- - -- minor documentation cleanup -- support -i option for `hg amend` if commit supports it (3.4) -- fix the `debugrecordpruneparents` utility -- fix some possible crash during command abort (release nonexistent transaction) -- fix simple4server bug tracker URL -- compatibility with bookmark API change in future Mercurial 3.5 -- prune no longer move the active bookmark for no reason (issue4559) -- evolve: stop reporting divergence base as missing when we actually have it -- significant performance improvement for all revsets. -- provide a hint of how to update to the successor of an obsolete working copy - parent. - -5.1.4 -- 2015-04-23 -------------------- - -- significant documentation update -- fix issue4616: pulling with bundle2 would crash if common marker when - discovered on non-served changesets. -- fix the debugobsrelsethashtree command - -5.1.3 -- 2015-04-20 -------------------- - -- discovery: fix misbehaving discovery across python version -- pull: properly install the bundle2 par generator - (avoid sending all markers for each pull) -- commit: avoid potential deadlock (acquires wlock before lock) -- graft: avoid potential deadlock (acquires wlock before lock) - -5.1.2 -- 2015-04-01 -------------------- - -- evolve: prevent a crash in httpclient_pushobsmarkers() when pushing - -5.1.1 -- 2015-03-05 -------------------- - -- debugobsconvert: fix invalid markers during conversion -- discovery: cache some of the obs hash computation to improve performance (issue4518) -- revset: fix some crash with (issue4515) - -5.1 -- 2015-01-30 -------------------- - -- evolve: explicitly disable bookmark on evolve (issue4432) -- evolve: don't abort Mercurial on version mismatch -- compatibility with mercurial 3.3 - -5.0.2 -- 2014-12-14 -------------------- - -- evolve: remove dependency to the rebase extension - -5.0.1 -- 2014-11-25 -------------------- - -- amend: fix --logfile argument -- evolve: preserve branch change when evolving -- evolve: fix potential crash while solving `bumped` changesets. -- uncommit: abort when rev specifies the current changeset -- evolve: various message improvement -- evolve: fix selection of changeset to evolve from the middle of a stack (issue4434) -- evolve: make next/prev only move bookmarks optionally -- evolve: tell user which "base of divergent changeset" is not found - -5.0.0 -- 2014-10-22 -------------------- - -- drop compat with Mercurial pre 3.2 -- uncommit: add a --rev argument -- evolve: add a `working directory now at xxxxxxxxxx` message -- evolve: automatically translate obsolete hashes when evolving -- properly skip marker creating if patch apply cleanly -- prune: work around a massive slowdown from lazy revset -- grab: "fix" the grab alias on window - -- fix an issue where prune performance were quadratic with the number of - changesets pruned. -- pull: use discovery to pull less obsmarkers through bundle2 - - -4.1.0 -- 2014-08-08 -------------------- - -- amend: add -D/--current-date option -- amend: add -U/--current-user option -- evolve: add a --tool option -- evolve: add a --confirm option -- mark "commit -o", "graft -o" and "graft -O" as deprecated since they are - unlikely to eventually make it into core. -- push obsmarkers and phases in the same transaction than changesets - (when using hg >= 3.1 and bundle2-exp is enabled) -- hide message about the obsolescence marker exchange behind a - `experimental.verbose-obsolescence-exchange` variable (default to False). - -4.0.1 -- 2014-08-08 -------------------- - -- createmarkers() accept an iterable (for compat with other extension) - -4.0.0 -- 2014-06-03 -------------------- - -- 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 - - use bundle2 as transport when available. - - - add a hook related to the new commands - -3.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 (requires 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 alias - -3.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 options - -3.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.8 - -3.1.0 -- 2013-02-11 -------------------- - -- amend: drop deprecated --change option for amend -- alias: add a grab alias 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 metadata - -3.0.0 -- 2013-02-02 -------------------- - -- compatibility with 2.5 - -2.2.0 -- -------------------- - -- make evolve smarter at picking next troubled to solved without --any - -2.1.0 -- 2012-12-03 -------------------- - -- qsync fixes -- have qfold ask for commit message - -2.0.0 -- 2012-10-26 -------------------- - -- compat with mercurial 2.4 - -1.1.0 -- 2012-10-26 -------------------- - -- fix troubles creation reporting from rebase -- rename latecomer to bumped -- renamed conflicting to divergent -- smarter divergent handling - -1.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 hgweb - -1.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 misused - - -0.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, test - -0.6 -- 2012-07-31 -------------------- - -- obsolete: change warning output to match mercurial core on -- qsync: ignore nonexistent nodes -- make compat server both compatible with "dump" and "dump%i" version - -0.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 prune - - -0.4.1 -- 2012-07-10 -------------------- - -- [convert] properly exclude null successors from conversion -- Ignore buggy marker in newerversion - - -0.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 more - -0.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 not handle conflict -- template: add an {obsolete} keyword - -0.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`