##// END OF EJS Templates
context: possibly yield initial fctx in blockdescendants()...
context: possibly yield initial fctx in blockdescendants() If initial 'fctx' has changes in line range with respect to its parents, we yield it first. This makes 'followlines(..., descend=True)' consistent with 'descendants()' revset which yields the starting revision. We reuse one iteration of blockancestors() which does exactly what we want. In test-annotate.t, adjust 'startrev' in one case to cover the situation where the starting revision does not touch specified line range.

File last commit:

r31056:37ab9e20 default
r31992:3e47a40d default
Show More
test-histedit-fold.t
543 lines | 11.2 KiB | text/troff | Tads3Lexer
/ tests / test-histedit-fold.t
Mads Kiilerich
spelling: fixes from spell checker
r21024 Test histedit extension: Fold commands
Pierre-Yves David
test: improve documentation of some histedit tests...
r19015 ======================================
This test file is dedicated to testing the fold command in non conflicting
case.
Initialization
---------------
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ . "$TESTDIR/histedit-helpers.sh"
$ cat >> $HGRCPATH <<EOF
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 > [alias]
> logt = log --template '{rev}:{node|short} {desc|firstline}\n'
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 > [extensions]
> histedit=
> EOF
Pierre-Yves David
test: improve documentation of some histedit tests...
r19015
Simple folding
--------------------
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 $ addwithdate ()
> {
> echo $1 > $1
> hg add $1
> hg ci -m $1 -d "$2 0"
> }
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ initrepo ()
> {
> hg init r
> cd r
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 > addwithdate a 1
> addwithdate b 2
> addwithdate c 3
> addwithdate d 4
> addwithdate e 5
> addwithdate f 6
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 > }
$ initrepo
log before edit
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 $ hg logt --graph
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 @ 5:178e35e0ce73 f
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 4:1ddb6c90f2ee e
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 3:532247a8969b d
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 2:ff2c9fa2018b c
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 1:97d72e5f12c7 b
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 0:8580ff50825a a
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 $ hg histedit ff2c9fa2018b --commands - 2>&1 <<EOF | fixbundle
> pick 1ddb6c90f2ee e
> pick 178e35e0ce73 f
> fold ff2c9fa2018b c
> pick 532247a8969b d
Pierre-Yves David
test: improve documentation of some histedit tests...
r19015 > EOF
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
log after edit
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 $ hg logt --graph
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 @ 4:c4d7f3def76d d
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 3:575228819b7e f
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 2:505a591af19e e
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 1:97d72e5f12c7 b
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 0:8580ff50825a a
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
post-fold manifest
$ hg manifest
a
b
c
d
e
f
Pierre-Yves David
histedit: record histedit source (issue3681)...
r18437
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 check histedit_source, including that it uses the later date, from the first changeset
Pierre-Yves David
histedit: record histedit source (issue3681)...
r18437
$ hg log --debug --rev 3
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 changeset: 3:575228819b7e6ed69e8c0a6a383ee59a80db7358
Pierre-Yves David
histedit: record histedit source (issue3681)...
r18437 phase: draft
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 parent: 2:505a591af19eed18f560af827b9e03d2076773dc
Pierre-Yves David
histedit: record histedit source (issue3681)...
r18437 parent: -1:0000000000000000000000000000000000000000
manifest: 3:81eede616954057198ead0b2c73b41d1f392829a
user: test
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 date: Thu Jan 01 00:00:06 1970 +0000
Pierre-Yves David
histedit: record histedit source (issue3681)...
r18437 files+: c f
extra: branch=default
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 extra: histedit_source=7cad1d7030207872dfd1c3a7cb430f24f2884086,ff2c9fa2018b15fa74b33363bda9527323e2a99f
Pierre-Yves David
histedit: record histedit source (issue3681)...
r18437 description:
Pierre-Yves David
histedit-test: generalise --commands "-" usage...
r19019 f
***
c
Pierre-Yves David
histedit: record histedit source (issue3681)...
r18437
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 rollup will fold without preserving the folded commit's message or date
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152
Durham Goode
histedit: fix rollup prompting for a commit message (issue4606)...
r24828 $ OLDHGEDITOR=$HGEDITOR
$ HGEDITOR=false
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 $ hg histedit 97d72e5f12c7 --commands - 2>&1 <<EOF | fixbundle
> pick 97d72e5f12c7 b
> roll 505a591af19e e
> pick 575228819b7e f
> pick c4d7f3def76d d
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152 > EOF
Durham Goode
histedit: fix rollup prompting for a commit message (issue4606)...
r24828 $ HGEDITOR=$OLDHGEDITOR
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152 log after edit
$ hg logt --graph
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 @ 3:bab801520cec d
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152 |
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 o 2:58c8f2bfc151 f
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152 |
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 o 1:5d939c56c72e b
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152 |
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 o 0:8580ff50825a a
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152
description is taken from rollup target commit
$ hg log --debug --rev 1
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 changeset: 1:5d939c56c72e77e29f5167696218e2131a40f5cf
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152 phase: draft
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 parent: 0:8580ff50825a50c8f716709acdf8de0deddcd6ab
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152 parent: -1:0000000000000000000000000000000000000000
manifest: 1:b5e112a3a8354e269b1524729f0918662d847c38
user: test
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 date: Thu Jan 01 00:00:02 1970 +0000
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152 files+: b e
extra: branch=default
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 extra: histedit_source=97d72e5f12c7e84f85064aa72e5a297142c36ed9,505a591af19eed18f560af827b9e03d2076773dc
Mike Edgar
histedit: add "roll" command to fold commit data and drop message (issue4256)...
r22152 description:
b
FUJIWARA Katsunori
histedit: save manually edited commit message into ".hg/last-message.txt"...
r20770 check saving last-message.txt
Sean Farley
tests: use TESTTMP instead of TESTDIR...
r20859 $ cat > $TESTTMP/abortfolding.py <<EOF
FUJIWARA Katsunori
histedit: save manually edited commit message into ".hg/last-message.txt"...
r20770 > from mercurial import util
> def abortfolding(ui, repo, hooktype, **kwargs):
> ctx = repo[kwargs.get('node')]
> if set(ctx.files()) == set(['c', 'd', 'f']):
> return True # abort folding commit only
> ui.warn('allow non-folding commit\\n')
> EOF
$ cat > .hg/hgrc <<EOF
> [hooks]
Sean Farley
tests: use TESTTMP instead of TESTDIR...
r20859 > pretxncommit.abortfolding = python:$TESTTMP/abortfolding.py:abortfolding
FUJIWARA Katsunori
histedit: save manually edited commit message into ".hg/last-message.txt"...
r20770 > EOF
Sean Farley
tests: use TESTTMP instead of TESTDIR...
r20859 $ cat > $TESTTMP/editor.sh << EOF
FUJIWARA Katsunori
histedit: save manually edited commit message into ".hg/last-message.txt"...
r20770 > echo "==== before editing"
> cat \$1
> echo "===="
> echo "check saving last-message.txt" >> \$1
> EOF
$ rm -f .hg/last-message.txt
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 $ hg status --rev '58c8f2bfc151^1::bab801520cec'
FUJIWARA Katsunori
memctx: calculate exact status being committed from specified files...
r23587 A c
A d
A f
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 $ HGEDITOR="sh $TESTTMP/editor.sh" hg histedit 58c8f2bfc151 --commands - 2>&1 <<EOF
> pick 58c8f2bfc151 f
> fold bab801520cec d
FUJIWARA Katsunori
histedit: save manually edited commit message into ".hg/last-message.txt"...
r20770 > EOF
allow non-folding commit
==== before editing
f
***
c
***
d
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: test
HG: branch 'default'
FUJIWARA Katsunori
memctx: calculate exact status being committed from specified files...
r23587 HG: added c
HG: added d
HG: added f
FUJIWARA Katsunori
histedit: save manually edited commit message into ".hg/last-message.txt"...
r20770 ====
transaction abort!
rollback completed
abort: pretxncommit.abortfolding hook failed
FUJIWARA Katsunori
memctx: calculate exact status being committed from specified files...
r23587 [255]
FUJIWARA Katsunori
histedit: save manually edited commit message into ".hg/last-message.txt"...
r20770
$ cat .hg/last-message.txt
f
***
c
***
d
check saving last-message.txt
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ cd ..
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147 $ rm -r r
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 folding preserves initial author but uses later date
----------------------------------------------------
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147
$ initrepo
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 $ hg ci -d '7 0' --user "someone else" --amend --quiet
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147
tip before edit
$ hg log --rev .
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 changeset: 5:10c36dd37515
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147 tag: tip
user: someone else
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 date: Thu Jan 01 00:00:07 1970 +0000
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147 summary: f
timeless
histedit: add progress support
r27451 $ hg --config progress.debug=1 --debug \
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 > histedit 1ddb6c90f2ee --commands - 2>&1 <<EOF | \
timeless
histedit: add progress support
r27451 > egrep 'editing|unresolved'
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 > pick 1ddb6c90f2ee e
> fold 10c36dd37515 f
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147 > EOF
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 editing: pick 1ddb6c90f2ee 4 e 1/2 changes (50.00%)
editing: fold 10c36dd37515 5 f 2/2 changes (100.00%)
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 tip after edit, which should use the later date, from the second changeset
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147 $ hg log --rev .
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 changeset: 4:e4f3ec5d0b40
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147 tag: tip
user: test
Ben Schmidt
histedit: improve documentation and behaviour of dates...
r31055 date: Thu Jan 01 00:00:07 1970 +0000
Martin von Zweigbergk
histedit: preserve initial author on fold (issue4296)...
r22147 summary: e
$ cd ..
$ rm -r r
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130
folding and creating no new change doesn't break:
Pierre-Yves David
test: improve documentation of some histedit tests...
r19015 -------------------------------------------------
Mads Kiilerich
spelling: fixes from spell checker
r21024 folded content is dropped during a merge. The folded commit should properly disappear.
Pierre-Yves David
test: improve documentation of some histedit tests...
r19015
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130 $ mkdir fold-to-empty-test
$ cd fold-to-empty-test
$ hg init
$ printf "1\n2\n3\n" > file
$ hg add file
$ hg commit -m '1+2+3'
$ echo 4 >> file
$ hg commit -m '+4'
$ echo 5 >> file
$ hg commit -m '+5'
$ echo 6 >> file
$ hg commit -m '+6'
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 $ hg logt --graph
@ 3:251d831eeec5 +6
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130 |
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 o 2:888f9082bf99 +5
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130 |
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 o 1:617f94f13c0f +4
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130 |
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 o 0:0189ba417d34 1+2+3
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130
Pierre-Yves David
histedit-test: generalise --commands "-" usage...
r19019 $ hg histedit 1 --commands - << EOF
Pierre-Yves David
histedit-test: replace obscure python script by a plain file...
r19016 > pick 617f94f13c0f 1 +4
> drop 888f9082bf99 2 +5
Pierre-Yves David
histedit: properly handle --continue on empty fold...
r19017 > fold 251d831eeec5 3 +6
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130 > EOF
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 merging file
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
timeless
histedit: list action when intervention is required
r27629 Fix up the change (fold 251d831eeec5)
(hg histedit --continue to resume)
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 There were conflicts, we keep P1 content. This
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130 should effectively drop the changes from +6.
$ hg status
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 M file
? file.orig
$ hg resolve -l
U file
$ hg revert -r 'p1()' file
$ hg resolve --mark file
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
timeless
histedit: hook afterresolvedstates
r27627 continue: hg histedit --continue
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130 $ hg histedit --continue
Durham Goode
histedit: convert fold/roll actions into a class...
r24771 251d831eeec5: empty changeset
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130 saved backup bundle to $TESTTMP/*-backup.hg (glob)
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 $ hg logt --graph
@ 1:617f94f13c0f +4
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130 |
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 o 0:0189ba417d34 1+2+3
Augie Fackler
histedit: don't crash if the result of fixing up a fold is empty
r17130
$ cd ..
Patrick Mezard
histedit: fix new nodes computation with --continue (issue3534)...
r17242
Pierre-Yves David
test: improve documentation of some histedit tests...
r19015
Test fold through dropped
-------------------------
Patrick Mezard
histedit: fix new nodes computation with --continue (issue3534)...
r17242 Test corner case where folded revision is separated from its parent by a
dropped revision.
$ hg init fold-with-dropped
$ cd fold-with-dropped
$ printf "1\n2\n3\n" > file
$ hg commit -Am '1+2+3'
adding file
$ echo 4 >> file
$ hg commit -m '+4'
$ echo 5 >> file
$ hg commit -m '+5'
$ echo 6 >> file
$ hg commit -m '+6'
Martin Geisler
test-histedit-fold: remove unnecessary --template...
r19391 $ hg logt -G
Patrick Mezard
histedit: fix new nodes computation with --continue (issue3534)...
r17242 @ 3:251d831eeec5 +6
|
o 2:888f9082bf99 +5
|
o 1:617f94f13c0f +4
|
o 0:0189ba417d34 1+2+3
Pierre-Yves David
histedit-test: generalise --commands "-" usage...
r19019 $ hg histedit 1 --commands - << EOF
Patrick Mezard
histedit: fix new nodes computation with --continue (issue3534)...
r17242 > pick 617f94f13c0f 1 +4
> drop 888f9082bf99 2 +5
> fold 251d831eeec5 3 +6
> EOF
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 merging file
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
timeless
histedit: list action when intervention is required
r27629 Fix up the change (fold 251d831eeec5)
(hg histedit --continue to resume)
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 $ cat > file << EOF
> 1
> 2
> 3
> 4
> 5
> EOF
$ hg resolve --mark file
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
timeless
histedit: hook afterresolvedstates
r27627 continue: hg histedit --continue
Matt Mackall
checkunfinished: accommodate histedit quirk...
r19496 $ hg commit -m '+5.2'
Patrick Mezard
histedit: fix new nodes computation with --continue (issue3534)...
r17242 created new head
$ echo 6 >> file
$ HGEDITOR=cat hg histedit --continue
+4
***
+5.2
***
+6
Pierre-Yves David
histedit: fold in memory...
r17644
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: test
HG: branch 'default'
HG: changed file
Durham Goode
histedit: make histedit prune when obsolete is enabled...
r26763 saved backup bundle to $TESTTMP/fold-with-dropped/.hg/strip-backup/55c8d8dc79ce-4066cd98-backup.hg (glob)
saved backup bundle to $TESTTMP/fold-with-dropped/.hg/strip-backup/617f94f13c0f-a35700fc-backup.hg (glob)
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 $ hg logt -G
@ 1:10c647b2cdd5 +4
Pierre-Yves David
histedit-test: make test-fold more verbose...
r17687 |
Pierre-Yves David
test: use a lighter log style in histedit test...
r19014 o 0:0189ba417d34 1+2+3
Pierre-Yves David
histedit-test: make test-fold more verbose...
r17687
$ hg export tip
# HG changeset patch
# User test
# Date 0 0
Mads Kiilerich
export: show 'Date' header in a format that also is readable for humans...
r18648 # Thu Jan 01 00:00:00 1970 +0000
Pierre-Yves David
histedit: record histedit source (issue3681)...
r18437 # Node ID 10c647b2cdd54db0603ecb99b2ff5ce66d5a5323
Pierre-Yves David
histedit-test: make test-fold more verbose...
r17687 # Parent 0189ba417d34df9dda55f88b637dcae9917b5964
+4
***
+5.2
***
+6
Pierre-Yves David
histedit: record histedit source (issue3681)...
r18437 diff -r 0189ba417d34 -r 10c647b2cdd5 file
Pierre-Yves David
histedit-test: make test-fold more verbose...
r17687 --- a/file Thu Jan 01 00:00:00 1970 +0000
+++ b/file Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +1,6 @@
1
2
3
+4
+5
+6
Patrick Mezard
histedit: fix new nodes computation with --continue (issue3534)...
r17242 $ cd ..
Martin Geisler
histedit: use base for computing renames when folding (issue3729)...
r19392
Folding with initial rename (issue3729)
---------------------------------------
$ hg init fold-rename
$ cd fold-rename
$ echo a > a.txt
$ hg add a.txt
$ hg commit -m a
$ hg rename a.txt b.txt
$ hg commit -m rename
$ echo b >> b.txt
$ hg commit -m b
$ hg logt --follow b.txt
2:e0371e0426bc b
1:1c4f440a8085 rename
0:6c795aa153cb a
$ hg histedit 1c4f440a8085 --commands - 2>&1 << EOF | fixbundle
> pick 1c4f440a8085 rename
> fold e0371e0426bc b
> EOF
$ hg logt --follow b.txt
1:cf858d235c76 rename
0:6c795aa153cb a
$ cd ..
Pierre-Yves David
hook: protect commit hooks against stripping of temporary commit (issue4422)...
r23129
Folding with swapping
---------------------
This is an excuse to test hook with histedit temporary commit (issue4422)
$ hg init issue4422
$ cd issue4422
$ echo a > a.txt
$ hg add a.txt
$ hg commit -m a
$ echo b > b.txt
$ hg add b.txt
$ hg commit -m b
$ echo c > c.txt
$ hg add c.txt
$ hg commit -m c
$ hg logt
2:a1a953ffb4b0 c
1:199b6bb90248 b
0:6c795aa153cb a
Matt Harbison
tests: choose the proper environment variable style for the platform...
r23390 Setup the proper environment variable symbol for the platform, to be subbed
into the hook command.
#if windows
$ NODE="%HG_NODE%"
#else
$ NODE="\$HG_NODE"
#endif
$ hg histedit 6c795aa153cb --config hooks.commit="echo commit $NODE" --commands - 2>&1 << EOF | fixbundle
Pierre-Yves David
hook: protect commit hooks against stripping of temporary commit (issue4422)...
r23129 > pick 199b6bb90248 b
> fold a1a953ffb4b0 c
> pick 6c795aa153cb a
> EOF
commit 9599899f62c05f4377548c32bf1c9f1a39634b0c
$ hg logt
1:9599899f62c0 a
0:79b99e9c8e49 b
Matt Harbison
largefiles: ensure lfutil.getstandinmatcher() only matches standins...
r26025 $ echo "foo" > amended.txt
$ hg add amended.txt
$ hg ci -q --config extensions.largefiles= --amend -I amended.txt
Augie Fackler
histedit: use one editor when multiple folds happen in a row (issue3524) (BC)...
r26246 Test that folding multiple changes in a row doesn't show multiple
editors.
$ echo foo >> foo
$ hg add foo
$ hg ci -m foo1
$ echo foo >> foo
$ hg ci -m foo2
$ echo foo >> foo
$ hg ci -m foo3
$ hg logt
4:21679ff7675c foo3
3:b7389cc4d66e foo2
2:0e01aeef5fa8 foo1
1:578c7455730c a
0:79b99e9c8e49 b
Matt Harbison
test-histedit: $TESTTMP quoting fixes for Windows...
r27062 $ cat > "$TESTTMP/editor.sh" <<EOF
> echo ran editor >> "$TESTTMP/editorlog.txt"
> cat \$1 >> "$TESTTMP/editorlog.txt"
> echo END >> "$TESTTMP/editorlog.txt"
Augie Fackler
histedit: use one editor when multiple folds happen in a row (issue3524) (BC)...
r26246 > echo merged foos > \$1
> EOF
Matt Harbison
test-histedit: $TESTTMP quoting fixes for Windows...
r27062 $ HGEDITOR="sh \"$TESTTMP/editor.sh\"" hg histedit 1 --commands - 2>&1 <<EOF | fixbundle
Augie Fackler
histedit: use one editor when multiple folds happen in a row (issue3524) (BC)...
r26246 > pick 578c7455730c 1 a
> pick 0e01aeef5fa8 2 foo1
> fold b7389cc4d66e 3 foo2
> fold 21679ff7675c 4 foo3
> EOF
$ hg logt
2:e8bedbda72c1 merged foos
1:578c7455730c a
0:79b99e9c8e49 b
Editor should have run only once
$ cat $TESTTMP/editorlog.txt
ran editor
foo1
***
foo2
***
foo3
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: test
HG: branch 'default'
HG: added foo
END
Pierre-Yves David
hook: protect commit hooks against stripping of temporary commit (issue4422)...
r23129 $ cd ..