# HG changeset patch # User Pierre-Yves David # Date 1332862156 -7200 # Node ID 7151691b85efdd0bf2d2bcbbff7820e8a2de15bf # Parent 37d3300786a744c34a22f610ddc741a9ece3bac8# Parent 06c942f9bac6c4b80f8947ab6cbee58f5762a195 merge with auc improvement diff -r 37d3300786a7 -r 7151691b85ef docs/evolve-faq.rst --- a/docs/evolve-faq.rst Tue Mar 27 17:16:30 2012 +0200 +++ b/docs/evolve-faq.rst Tue Mar 27 17:29:16 2012 +0200 @@ -4,16 +4,19 @@ --------------------------------------------------------------------- + Add a changeset: ``commit`` ------------------------------------------------------------ -Just use commit as usual. +Just use commit as usual. New changeset will be in the `draft` phase. Rewrite a changeset: ``amend`` ------------------------------------------------------------ -A new command ``hg amend`` is added by the extension. it write a new changeset -combining working-directory parent changes and working directory parent changes. +A new command ``hg amend`` is added by the extension. It writes a new +changeset combining working-directory parent changes and parent. It +will work on any `draft` or `secret` changeset. It will not work on +`public` changesets. To understand what the result of amend will be I do use the two following aliases [#]_:: @@ -24,12 +27,11 @@ # status what amend will look likes pstatus=status --rev .^ -It take various options to choose the user, the date and the branch of the -result. see ``hg help amend for detail`` +It takes various options to pick an author, a date and the branch of the +result... (see ``hg help amend`` for details). -This command can be invoqued on any mutable changeset even changeset with -children ! - +This command can even be invoked on changesets with children (provided +none is public) ! .. note:: the amend command is very similar to mq's ``qrefresh``, a ``refresh`` alias for amend is also available. But note that contrary to @@ -42,14 +44,17 @@ .. [#] (added by enable.sh) + Move a changeset: ``graft`` ------------------------------------------------------------ -the graft command introduced in 2.0 allows to "copy changes from other branches -onto the current branch" +The graft command introduced in 2.0 allows to "copy changes from other +branches onto the current branch". -The graft command have been altered to be able to create an obsolete marker from -the copy result to the copy source, acting like changeset movement operation. +The graft command has been altered to allow the creation of an +obsolete marker indicating both the result cset and its source +(actually recording changeset movements). + This is achieved using a new flag `-O` (or `old-obsolete`) [#]_. @@ -66,7 +71,7 @@ Delete a changeset: ``kill`` ------------------------------------------------------------ -A new ``kill`` command allow to remove a changeset. +A new ``kill`` command allows to remove a changeset. Just use ``hg kill ``. @@ -83,8 +88,6 @@ .. note:: those command only exist for the convenience of getting qpush and qpop feeling back. - They are - collapse changesets: ``amend`` ------------------------------------------------------------ @@ -101,14 +104,17 @@ Stabilize history: ``stabilize`` ------------------------------------------------------------ -When you rewrite changeset with children without rewriting those children you -create *unstable* changeset and *suspended obsolete* changeset +When you rewrite (amend) a changeset with children without rewriting +those children you create *unstable* changesets and *suspended +obsolete* changesets. + +When you are finished amending a given changeset you will want to +declare it stable, in other words rebase its former descendants on its +newest version. This is not done automatically to avoid the +proliferation of useless hidden changesets. .. warning:: ``hg stabilize`` have no --continue to use after conflict - resolution. is conflict occurs use:: - - $ hg up -C . # cancel the failed merge - $ hg stabilize -n # go get a command to execute + resolution .. warning:: stabilization does not handle deletion yet. @@ -121,16 +127,21 @@ Fix my history afterward: ``kill -n`` ------------------------------------------------------------ -sometime you need to create obsolete marker by hand. This may happen when -upstream applied some of you patches for example. +Sometimes you need to create an obsolete marker by hand. This may happen when +upstream has applied some of you patches for example. you can use ``hg kill --new `` to add obsolete marker. +export to mq: ``synchronize`` +------------------------------------------------------------ + +Another extension allows to export + view change to your file ------------------------------------------------------------ -Another extension allows to export +Another extension allows to export view diff from the last amend ------------------------------------------------------------ @@ -149,11 +160,6 @@ $ hg clone http://hg-dev.octopoid.net/hgwebdir.cgi/hgview/ -Prevent my unfinished changeset to get published ------------------------------------------------------------- - -The easiest way is to set them in the private phase - Important Note =====================================================================