This is an archive of the discontinued Mercurial Wiki

Information here is likely very out-of-date (Learn more)

Evolve Extension

This extension is not distributed along with Mercurial releases

Author: Pierre-Yves David for Various companies

Contents

  1. Introduction
  2. Additional Commands
  3. Additional UI Messages
  4. Setup

(i) This extension enable and enhance the inprogress ChangesetEvolution work. See the dedicated page for details before using it.

Code repository: https://www.mercurial-scm.org/repo/evolve/

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: https://www.mercurial-scm.org/doc/evolution/

2. Additional Commands

uncommit
extracts changes from a commit into the working directory,
fold
gathers changes from multiple changesets into a single one,
split
dispatch changes from a single changesets into multiple one,
prune
discards changesets (using obsolescence markers),
touch
replaces a changeset with a different one containing the same payload, but with a different hash,
prev
moves to the parent of the current changeset,
next
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

The extension is available on PyPi

To install use

$ pip install --user hg-evolve

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 =

EvolveExtension (last edited 2017年08月30日 12:42:33 by RyanMcElroy )

AltStyle によって変換されたページ (->オリジナル) /