Mercurial > hg
view tests/test-hgcia.t @ 12727:52971985be14
backout: provide linear backout as a default (without --merge option)
This changes backouts changeset to retain linear history, .e. it is committed
as a child of the working directory parent, not the reverted changeset
parent.
The default behavior was previously to just commit a reverted change as a
child of the backed out changeset - thus creating a new head. Most of
the time, you would use the --merge option, as it does not make sense to
keep this dangling head as is.
The previous behavior could be obtained by using 'hg update --clean .' after a
'hg backout --merge'.
The --merge option itself is not affected by this change. There is also
still an autocommit of the backout if a merge is not needed, i.e. in case
the backout is the parent of the working directory.
Previously we had (pwd = parent of the working directory):
pwd older
backout auto merge
backout --merge auto commit
With the new linear approach:
pwd older
backout auto commit
backout --merge auto commit
auto: commit done by the backout command
merge: backout also already committed but explicit merge and commit needed
commit: user need to commit the update/merge
author | Gilles Moris <gilles.moris@free.fr> |
---|---|
date | Fri, 10 Sep 2010 10:28:18 +0200 |
parents | 01c6be8361df |
children | c322890b03e6 |
line wrap: on
line source
Test the CIA extension $ cat >> $HGRCPATH <<EOF > [extensions] > hgcia= > > [hooks] > changegroup.cia = python:hgext.hgcia.hook > > [cia] > user = testuser > project = testproject > test = True > EOF $ hg init src $ hg init cia $ cd src $ echo foo > foo $ hg ci -Amfoo adding foo $ hg push ../cia pushing to ../cia searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files <message> <generator> <name>Mercurial (hgcia)</name> <version>0.1</version> <url>http://hg.kublai.com/mercurial/hgcia</url> <user>testuser</user> </generator> <source> <project>testproject</project> <branch>default</branch> </source> <body> <commit> <author>test</author> <version>0:e63c23eaa88a</version> <log>foo</log> <files><file action="add">foo</file></files> </commit> </body> <timestamp>0</timestamp> </message>