1. Dan Villiom Podlaski Christiansen
  2. mutable-history

Overview

HTTPS SSH
============================= Mutable History For Mercurial ============================= Extends Mercurial feature related to Changeset Evolution This extension provides several commands to mutate history and deal with issues it may raise. It also: - enables the "Changeset Obsolescence" feature of mercurial, - issues several warning messages when troubles appear in your repository. **These extensions are experimental and are not meant for production.** You can quicky enable it by adding the line below to the extensions section of you hgrc:: evolve=PATH/TO/evolve.py But it's recommended to look at the doc in the first place. See doc/ directory for details. Online version of the doc is available: http://hg-lab.logilab.org/doc/mutable-history/html/ Contribute ================== The simplest way to contribute is to issue a pull request on bitbucket. However, some cutting edge change may be found in a mutable repository hosted by logilab before they are published. http://hg-lab.logilab.org/wip/mutable-history/ Make sure to check lastest draft changeset before submitting new changeset. Changelog ================== 3.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 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 unexistent 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 convertion - 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 nto 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`