Differences between revisions 5 and 6
Revision 5 as of 2013-02-09 11:00:27
Size: 1404
Comment: fix list
Revision 6 as of 2013-02-09 11:17:42
Size: 2106
Comment: add setup setup and more data about consequence of enable evolve
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
/!\ The evolve extension enables ChangesetEvolution feature. Changing somes of default Mercurial behavior.

* history rewriting commands do not strip changesets anymore, they turn them obsolete.
* history rewriting commands accept to work on any changesets possibly creating unstable changesets
* pull and push exchanges obsolescence data with other evolve enabled repository (This may have performance impact)
Line 37: Line 43:

== Setup ==


Setting up the evolve extension is simple:

{{{
  $ hg clone https://bitbucket.org/marmoute/mutable-history -u stable
  $ echo '[extensions]\nevolve=$PWD/mutable-history/hgext/evolve.py' >> ~/.hgrc
}}}

/!\ Evolve requires the latest Mercurial version: 2.5

Evolve Extension

This extension is not distributed along with Mercurial releases

Author: Pierre-Yves David for Logilab

/!\ This feature is experimental to be used only by experienced Mercurial user that understand underlying concept

1. Introduction

The evolve extension is an experimental implementation of the ChangesetEvolution concept. Most of it's content have been moved into core except:

  • additional history rewriting commands
  • the evolve command to automatically solves troubles
  • some user interface warning messages related to obsolescence changesets troubles,

/!\ The evolve extension enables ChangesetEvolution feature. Changing somes of default Mercurial behavior.

* history rewriting commands do not strip changesets anymore, they turn them obsolete. * history rewriting commands accept to work on any changesets possibly creating unstable changesets * pull and push exchanges obsolescence data with other evolve enabled repository (This may have performance impact)

Current official home page: http://hg-lab.logilab.org/doc/mutable-history/html/

2. Additional Commands

uncommit
extracts changes from a commit
fold
gather changes from multiple changesets in a single one
prune
discard changesets (using obsolescence marker)
touch
replace a changesets with one with the same payload but with a different node
gdown
move to the parent of the current checkout changeset
gdown
move to the children of the current checkout changeset
evolve
automatically solve troubles affecting changesets

3. Additional UI Messages

  • issue a warning when current working directory parent becomes obsolete
  • issue a warning when a commands result in more troubled changesets

4. Setup

Setting up the evolve extension is simple:

  $ hg clone https://bitbucket.org/marmoute/mutable-history -u stable
  $ echo '[extensions]\nevolve=$PWD/mutable-history/hgext/evolve.py' >> ~/.hgrc

/!\ Evolve requires the latest Mercurial version: 2.5

EvolveExtension (last edited 2017-08-30 12:42:33 by RyanMcElroy)