Size: 2512
Comment: update doc url
|
Size: 2563
Comment: clarify repository location.
|
Deletions are marked like this. | Additions are marked like this. |
Line 12: | Line 12: |
Code repository: http://42.netv6.net/evolve-main/ | Code repository: http://hg.netv6.net/evolve-main/ |
Line 52: | Line 52: |
$ hg clone https://bitbucket.org/marmoute/mutable-history -u stable | $ hg clone http://hg.netv6.net/evolve-main/ |
Line 59: | Line 59: |
evolve = <dir>/mutable-history/hgext/evolve.py | evolve = <dir>/evolve-main/hgext/evolve.py |
Line 62: | Line 62: |
/!\ Evolve requires the latest Mercurial version: 2.5 | /!\ We have various compatibility branch (check hg branches), but we recommend using evolve with the latest Stable mercurial version |
Evolve Extension
This extension is not distributed along with Mercurial releases
Author: Pierre-Yves David for Various company
This feature is experimental, to be used only by experienced Mercurial users that understand the underlying concepts
Code repository: http://hg.netv6.net/evolve-main/
1. Introduction
The evolve extension is an experimental implementation of the ChangesetEvolution concept. Most of its content has been moved into core except:
- additional history rewriting commands
- the evolve command to automatically solve troubles
- some user interface warning messages related to obsolete changeset troubles
The evolve extension enables the ChangesetEvolution feature, changing some of Mercurial's default behavior.
- history rewriting commands do not strip changesets anymore; they make them obsolete.
- history rewriting commands will work on any changesets, possibly creating unstable changesets.
pull and push exchange obsolescence data with other evolve-enabled repositories - this may have a performance impact!
Current official Documentation: http://evolution.experimentalworks.net/doc/
2. Additional Commands
- uncommit
- extracts changes from a commit into the working directory
- fold
- gathers changes from multiple changesets into a single one
- prune
- discards changesets (using obsolescence markers)
- touch
- replaces a changeset with a different one containing the same payload, but with a different hash
- gdown
- moves to the parent of the current changeset
- gup
- moves to the child of the current changeset
- evolve
- automatically resolves troubles affecting changesets
3. Additional UI Messages
- a warning is issued when the current working directory parent becomes obsolete
- a warning is issued when a command results in more troubled changesets
4. Setup
First you have to download the extension code. Pick a directory <dir> in your working environment, cd into that and clone evolve. Like this:
$ cd <dir> $ hg clone http://hg.netv6.net/evolve-main/
Then configure your .hgrc to enable the extension by adding the following lines (remember to replace <dir> with the path where you just cloned the extension):
[extensions] evolve = <dir>/evolve-main/hgext/evolve.py
We have various compatibility branch (check hg branches), but we recommend using evolve with the latest Stable mercurial version