annotate tests/test-histedit-fold.t @ 36756:2ecb0fc535b1 stable

hgweb: always perform permissions checks on protocol commands (BC) (SEC) Previously, the HTTP request handling code would only perform permissions checking on a wire protocol command if that wire protocol command defined its permissions / operation type. This meant that commands (possibly provided by extensions) not defining their operation type would bypass permissions check. This could lead to exfiltration of data from servers and mutating repositories that were supposed to be read-only. This security issue has been present since the permissions table was introduced by d3147b4e3e8a in 2008. This commit changes the behavior of the HTTP server to always perform permissions checking for protocol requests. If an explicit permission for a wire protocol command is not defined, the server assumes the command can be used for writing and governs access accordingly. .. bc:: Wire protocol commands not defining their operation type in ``wireproto.PERMISSIONS`` are now assumed to be used for "push" operations and access control to run those commands is now enforced accordingly.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 18 Feb 2018 17:20:38 -0800
parents 4441705b7111
children f8f1973eaf8a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 20859
diff changeset
1 Test histedit extension: Fold commands
19015
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
2 ======================================
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
3
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
4 This test file is dedicated to testing the fold command in non conflicting
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
5 case.
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
6
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
7 Initialization
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
8 ---------------
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
9
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
10
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
11 $ . "$TESTDIR/histedit-helpers.sh"
17064
168cc52ad7c2 histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff changeset
12
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
13 $ cat >> $HGRCPATH <<EOF
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
14 > [alias]
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
15 > logt = log --template '{rev}:{node|short} {desc|firstline}\n'
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
16 > [extensions]
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
17 > histedit=
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
18 > EOF
17064
168cc52ad7c2 histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff changeset
19
19015
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
20
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
21 Simple folding
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
22 --------------------
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
23 $ addwithdate ()
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
24 > {
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
25 > echo $1 > $1
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
26 > hg add $1
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
27 > hg ci -m $1 -d "$2 0"
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
28 > }
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
29
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
30 $ initrepo ()
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
31 > {
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
32 > hg init r
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
33 > cd r
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
34 > addwithdate a 1
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
35 > addwithdate b 2
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
36 > addwithdate c 3
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
37 > addwithdate d 4
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
38 > addwithdate e 5
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
39 > addwithdate f 6
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
40 > }
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
41
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
42 $ initrepo
17064
168cc52ad7c2 histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff changeset
43
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
44 log before edit
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
45 $ hg logt --graph
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
46 @ 5:178e35e0ce73 f
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
47 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
48 o 4:1ddb6c90f2ee e
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
49 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
50 o 3:532247a8969b d
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
51 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
52 o 2:ff2c9fa2018b c
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
53 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
54 o 1:97d72e5f12c7 b
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
55 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
56 o 0:8580ff50825a a
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
57
17064
168cc52ad7c2 histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff changeset
58
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
59 $ hg histedit ff2c9fa2018b --commands - 2>&1 <<EOF | fixbundle
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
60 > pick 1ddb6c90f2ee e
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
61 > pick 178e35e0ce73 f
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
62 > fold ff2c9fa2018b c
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
63 > pick 532247a8969b d
19015
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
64 > EOF
17064
168cc52ad7c2 histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff changeset
65
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
66 log after edit
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
67 $ hg logt --graph
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
68 @ 4:c4d7f3def76d d
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
69 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
70 o 3:575228819b7e f
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
71 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
72 o 2:505a591af19e e
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
73 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
74 o 1:97d72e5f12c7 b
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
75 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
76 o 0:8580ff50825a a
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
77
17064
168cc52ad7c2 histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff changeset
78
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
79 post-fold manifest
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
80 $ hg manifest
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
81 a
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
82 b
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
83 c
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
84 d
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
85 e
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
86 f
17064
168cc52ad7c2 histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff changeset
87
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
88
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
89 check histedit_source, including that it uses the later date, from the first changeset
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
90
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
91 $ hg log --debug --rev 3
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
92 changeset: 3:575228819b7e6ed69e8c0a6a383ee59a80db7358
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
93 phase: draft
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
94 parent: 2:505a591af19eed18f560af827b9e03d2076773dc
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
95 parent: -1:0000000000000000000000000000000000000000
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
96 manifest: 3:81eede616954057198ead0b2c73b41d1f392829a
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
97 user: test
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
98 date: Thu Jan 01 00:00:06 1970 +0000
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
99 files+: c f
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
100 extra: branch=default
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
101 extra: histedit_source=7cad1d7030207872dfd1c3a7cb430f24f2884086,ff2c9fa2018b15fa74b33363bda9527323e2a99f
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
102 description:
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19018
diff changeset
103 f
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19018
diff changeset
104 ***
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19018
diff changeset
105 c
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
106
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
107
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
108
31056
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
109 rollup will fold without preserving the folded commit's message or date
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
110
24828
5045a003260b histedit: fix rollup prompting for a commit message (issue4606)
Durham Goode <durham@fb.com>
parents: 24771
diff changeset
111 $ OLDHGEDITOR=$HGEDITOR
5045a003260b histedit: fix rollup prompting for a commit message (issue4606)
Durham Goode <durham@fb.com>
parents: 24771
diff changeset
112 $ HGEDITOR=false
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
113 $ hg histedit 97d72e5f12c7 --commands - 2>&1 <<EOF | fixbundle
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
114 > pick 97d72e5f12c7 b
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
115 > roll 505a591af19e e
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
116 > pick 575228819b7e f
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
117 > pick c4d7f3def76d d
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
118 > EOF
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
119
24828
5045a003260b histedit: fix rollup prompting for a commit message (issue4606)
Durham Goode <durham@fb.com>
parents: 24771
diff changeset
120 $ HGEDITOR=$OLDHGEDITOR
5045a003260b histedit: fix rollup prompting for a commit message (issue4606)
Durham Goode <durham@fb.com>
parents: 24771
diff changeset
121
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
122 log after edit
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
123 $ hg logt --graph
31056
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
124 @ 3:bab801520cec d
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
125 |
31056
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
126 o 2:58c8f2bfc151 f
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
127 |
31056
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
128 o 1:5d939c56c72e b
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
129 |
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
130 o 0:8580ff50825a a
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
131
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
132
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
133 description is taken from rollup target commit
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
134
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
135 $ hg log --debug --rev 1
31056
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
136 changeset: 1:5d939c56c72e77e29f5167696218e2131a40f5cf
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
137 phase: draft
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
138 parent: 0:8580ff50825a50c8f716709acdf8de0deddcd6ab
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
139 parent: -1:0000000000000000000000000000000000000000
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
140 manifest: 1:b5e112a3a8354e269b1524729f0918662d847c38
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
141 user: test
31056
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
142 date: Thu Jan 01 00:00:02 1970 +0000
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
143 files+: b e
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
144 extra: branch=default
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
145 extra: histedit_source=97d72e5f12c7e84f85064aa72e5a297142c36ed9,505a591af19eed18f560af827b9e03d2076773dc
22152
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
146 description:
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
147 b
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
148
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
149
d2a5986cb89d histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents: 21947
diff changeset
150
20770
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
151 check saving last-message.txt
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
152
20859
e259d4c462b5 tests: use TESTTMP instead of TESTDIR
Sean Farley <sean.michael.farley@gmail.com>
parents: 20770
diff changeset
153 $ cat > $TESTTMP/abortfolding.py <<EOF
20770
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
154 > from mercurial import util
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
155 > def abortfolding(ui, repo, hooktype, **kwargs):
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
156 > ctx = repo[kwargs.get('node')]
32291
bd872f64a8ba cleanup: use set literals
Martin von Zweigbergk <martinvonz@google.com>
parents: 31056
diff changeset
157 > if set(ctx.files()) == {'c', 'd', 'f'}:
20770
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
158 > return True # abort folding commit only
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
159 > ui.warn('allow non-folding commit\\n')
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
160 > EOF
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
161 $ cat > .hg/hgrc <<EOF
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
162 > [hooks]
20859
e259d4c462b5 tests: use TESTTMP instead of TESTDIR
Sean Farley <sean.michael.farley@gmail.com>
parents: 20770
diff changeset
163 > pretxncommit.abortfolding = python:$TESTTMP/abortfolding.py:abortfolding
20770
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
164 > EOF
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
165
20859
e259d4c462b5 tests: use TESTTMP instead of TESTDIR
Sean Farley <sean.michael.farley@gmail.com>
parents: 20770
diff changeset
166 $ cat > $TESTTMP/editor.sh << EOF
20770
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
167 > echo "==== before editing"
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
168 > cat \$1
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
169 > echo "===="
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
170 > echo "check saving last-message.txt" >> \$1
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
171 > EOF
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
172
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
173 $ rm -f .hg/last-message.txt
31056
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
174 $ hg status --rev '58c8f2bfc151^1::bab801520cec'
23587
8063901e56cd memctx: calculate exact status being committed from specified files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23390
diff changeset
175 A c
8063901e56cd memctx: calculate exact status being committed from specified files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23390
diff changeset
176 A d
8063901e56cd memctx: calculate exact status being committed from specified files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23390
diff changeset
177 A f
31056
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
178 $ HGEDITOR="sh $TESTTMP/editor.sh" hg histedit 58c8f2bfc151 --commands - 2>&1 <<EOF
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
179 > pick 58c8f2bfc151 f
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 31055
diff changeset
180 > fold bab801520cec d
20770
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
181 > EOF
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
182 allow non-folding commit
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
183 ==== before editing
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
184 f
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
185 ***
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
186 c
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
187 ***
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
188 d
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
189
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
190
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
191
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
192 HG: Enter commit message. Lines beginning with 'HG:' are removed.
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
193 HG: Leave message empty to abort commit.
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
194 HG: --
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
195 HG: user: test
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
196 HG: branch 'default'
23587
8063901e56cd memctx: calculate exact status being committed from specified files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23390
diff changeset
197 HG: added c
8063901e56cd memctx: calculate exact status being committed from specified files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23390
diff changeset
198 HG: added d
8063901e56cd memctx: calculate exact status being committed from specified files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23390
diff changeset
199 HG: added f
20770
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
200 ====
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
201 transaction abort!
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
202 rollback completed
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
203 abort: pretxncommit.abortfolding hook failed
23587
8063901e56cd memctx: calculate exact status being committed from specified files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23390
diff changeset
204 [255]
20770
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
205
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
206 $ cat .hg/last-message.txt
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
207 f
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
208 ***
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
209 c
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
210 ***
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
211 d
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
212
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
213
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
214
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
215 check saving last-message.txt
5d22cadd1938 histedit: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
216
17085
35729bdd59b6 tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 17064
diff changeset
217 $ cd ..
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
218 $ rm -r r
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
219
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
220 folding preserves initial author but uses later date
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
221 ----------------------------------------------------
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
222
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
223 $ initrepo
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
224
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
225 $ hg ci -d '7 0' --user "someone else" --amend --quiet
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
226
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
227 tip before edit
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
228 $ hg log --rev .
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
229 changeset: 5:10c36dd37515
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
230 tag: tip
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
231 user: someone else
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
232 date: Thu Jan 01 00:00:07 1970 +0000
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
233 summary: f
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
234
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
235
27451
f209c85183a7 histedit: add progress support
timeless <timeless@mozdev.org>
parents: 27406
diff changeset
236 $ hg --config progress.debug=1 --debug \
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
237 > histedit 1ddb6c90f2ee --commands - 2>&1 <<EOF | \
27451
f209c85183a7 histedit: add progress support
timeless <timeless@mozdev.org>
parents: 27406
diff changeset
238 > egrep 'editing|unresolved'
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
239 > pick 1ddb6c90f2ee e
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
240 > fold 10c36dd37515 f
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
241 > EOF
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
242 editing: pick 1ddb6c90f2ee 4 e 1/2 changes (50.00%)
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
243 editing: fold 10c36dd37515 5 f 2/2 changes (100.00%)
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
244
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
245 tip after edit, which should use the later date, from the second changeset
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
246 $ hg log --rev .
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
247 changeset: 4:e4f3ec5d0b40
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
248 tag: tip
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
249 user: test
31055
f1b63ec4b987 histedit: improve documentation and behaviour of dates
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 28004
diff changeset
250 date: Thu Jan 01 00:00:07 1970 +0000
22147
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
251 summary: e
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
252
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
253
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
254 $ cd ..
9ac98c2aa95c histedit: preserve initial author on fold (issue4296)
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
255 $ rm -r r
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
256
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
257 folding and creating no new change doesn't break:
19015
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
258 -------------------------------------------------
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
259
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 20859
diff changeset
260 folded content is dropped during a merge. The folded commit should properly disappear.
19015
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
261
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
262 $ mkdir fold-to-empty-test
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
263 $ cd fold-to-empty-test
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
264 $ hg init
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
265 $ printf "1\n2\n3\n" > file
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
266 $ hg add file
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
267 $ hg commit -m '1+2+3'
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
268 $ echo 4 >> file
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
269 $ hg commit -m '+4'
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
270 $ echo 5 >> file
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
271 $ hg commit -m '+5'
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
272 $ echo 6 >> file
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
273 $ hg commit -m '+6'
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
274 $ hg logt --graph
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
275 @ 3:251d831eeec5 +6
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
276 |
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
277 o 2:888f9082bf99 +5
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
278 |
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
279 o 1:617f94f13c0f +4
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
280 |
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
281 o 0:0189ba417d34 1+2+3
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
282
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
283
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19018
diff changeset
284 $ hg histedit 1 --commands - << EOF
19016
27ec54f2946e histedit-test: replace obscure python script by a plain file
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19015
diff changeset
285 > pick 617f94f13c0f 1 +4
27ec54f2946e histedit-test: replace obscure python script by a plain file
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19015
diff changeset
286 > drop 888f9082bf99 2 +5
19017
c5c8613f265e histedit: properly handle --continue on empty fold
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19016
diff changeset
287 > fold 251d831eeec5 3 +6
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
288 > EOF
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
289 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
17647
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
290 merging file
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26246
diff changeset
291 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
27629
e7ff83b2bcfe histedit: list action when intervention is required
timeless <timeless@mozdev.org>
parents: 27627
diff changeset
292 Fix up the change (fold 251d831eeec5)
e7ff83b2bcfe histedit: list action when intervention is required
timeless <timeless@mozdev.org>
parents: 27627
diff changeset
293 (hg histedit --continue to resume)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18934
diff changeset
294 [1]
17647
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
295 There were conflicts, we keep P1 content. This
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
296 should effectively drop the changes from +6.
33771
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
297
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
298 $ hg status -v
17647
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
299 M file
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
300 ? file.orig
33771
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
301 # The repository is in an unfinished *histedit* state.
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
302
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
303 # Unresolved merge conflicts:
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
304 #
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
305 # file
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
306 #
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
307 # To mark files as resolved: hg resolve --mark FILE
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
308
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
309 # To continue: hg histedit --continue
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
310 # To abort: hg histedit --abort
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33762
diff changeset
311
17647
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
312 $ hg resolve -l
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
313 U file
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
314 $ hg revert -r 'p1()' file
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
315 $ hg resolve --mark file
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
316 (no more unresolved files)
27627
dcbba68e076f histedit: hook afterresolvedstates
timeless <timeless@mozdev.org>
parents: 27451
diff changeset
317 continue: hg histedit --continue
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
318 $ hg histedit --continue
24771
3133e246c912 histedit: convert fold/roll actions into a class
Durham Goode <durham@fb.com>
parents: 23835
diff changeset
319 251d831eeec5: empty changeset
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33771
diff changeset
320 saved backup bundle to $TESTTMP/fold-to-empty-test/.hg/strip-backup/888f9082bf99-daa0b8b3-histedit.hg
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
321 $ hg logt --graph
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
322 @ 1:617f94f13c0f +4
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
323 |
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
324 o 0:0189ba417d34 1+2+3
17130
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
325
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
326
0a48f3d54543 histedit: don't crash if the result of fixing up a fold is empty
Augie Fackler <raf@durin42.com>
parents: 17087
diff changeset
327 $ cd ..
17242
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
328
19015
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
329
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
330 Test fold through dropped
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
331 -------------------------
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
332
07db88f053fe test: improve documentation of some histedit tests
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19014
diff changeset
333
17242
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
334 Test corner case where folded revision is separated from its parent by a
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
335 dropped revision.
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
336
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
337
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
338 $ hg init fold-with-dropped
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
339 $ cd fold-with-dropped
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
340 $ printf "1\n2\n3\n" > file
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
341 $ hg commit -Am '1+2+3'
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
342 adding file
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
343 $ echo 4 >> file
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
344 $ hg commit -m '+4'
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
345 $ echo 5 >> file
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
346 $ hg commit -m '+5'
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
347 $ echo 6 >> file
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
348 $ hg commit -m '+6'
19391
347ccd936fa6 test-histedit-fold: remove unnecessary --template
Martin Geisler <martin@geisler.net>
parents: 19019
diff changeset
349 $ hg logt -G
17242
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
350 @ 3:251d831eeec5 +6
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
351 |
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
352 o 2:888f9082bf99 +5
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
353 |
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
354 o 1:617f94f13c0f +4
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
355 |
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
356 o 0:0189ba417d34 1+2+3
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
357
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 19018
diff changeset
358 $ hg histedit 1 --commands - << EOF
17242
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
359 > pick 617f94f13c0f 1 +4
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
360 > drop 888f9082bf99 2 +5
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
361 > fold 251d831eeec5 3 +6
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
362 > EOF
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
363 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
17647
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
364 merging file
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26246
diff changeset
365 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
27629
e7ff83b2bcfe histedit: list action when intervention is required
timeless <timeless@mozdev.org>
parents: 27627
diff changeset
366 Fix up the change (fold 251d831eeec5)
e7ff83b2bcfe histedit: list action when intervention is required
timeless <timeless@mozdev.org>
parents: 27627
diff changeset
367 (hg histedit --continue to resume)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18934
diff changeset
368 [1]
17647
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
369 $ cat > file << EOF
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
370 > 1
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
371 > 2
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
372 > 3
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
373 > 4
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
374 > 5
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
375 > EOF
d34ba4991188 histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17644
diff changeset
376 $ hg resolve --mark file
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
377 (no more unresolved files)
27627
dcbba68e076f histedit: hook afterresolvedstates
timeless <timeless@mozdev.org>
parents: 27451
diff changeset
378 continue: hg histedit --continue
19496
607191a45f8c checkunfinished: accommodate histedit quirk
Matt Mackall <mpm@selenic.com>
parents: 19479
diff changeset
379 $ hg commit -m '+5.2'
17242
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
380 created new head
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
381 $ echo 6 >> file
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
382 $ HGEDITOR=cat hg histedit --continue
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
383 +4
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
384 ***
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
385 +5.2
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
386 ***
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
387 +6
17644
9ae073f10572 histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17257
diff changeset
388
9ae073f10572 histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17257
diff changeset
389
9ae073f10572 histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17257
diff changeset
390
9ae073f10572 histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17257
diff changeset
391 HG: Enter commit message. Lines beginning with 'HG:' are removed.
9ae073f10572 histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17257
diff changeset
392 HG: Leave message empty to abort commit.
9ae073f10572 histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17257
diff changeset
393 HG: --
9ae073f10572 histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17257
diff changeset
394 HG: user: test
9ae073f10572 histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17257
diff changeset
395 HG: branch 'default'
9ae073f10572 histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17257
diff changeset
396 HG: changed file
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33771
diff changeset
397 saved backup bundle to $TESTTMP/fold-with-dropped/.hg/strip-backup/617f94f13c0f-3d69522c-histedit.hg
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
398 $ hg logt -G
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
399 @ 1:10c647b2cdd5 +4
17687
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
400 |
19014
7b50120e8f6e test: use a lighter log style in histedit test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
401 o 0:0189ba417d34 1+2+3
17687
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
402
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
403 $ hg export tip
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
404 # HG changeset patch
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
405 # User test
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
406 # Date 0 0
18648
76b69cccb07a export: show 'Date' header in a format that also is readable for humans
Mads Kiilerich <mads@kiilerich.com>
parents: 18437
diff changeset
407 # Thu Jan 01 00:00:00 1970 +0000
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
408 # Node ID 10c647b2cdd54db0603ecb99b2ff5ce66d5a5323
17687
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
409 # Parent 0189ba417d34df9dda55f88b637dcae9917b5964
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
410 +4
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
411 ***
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
412 +5.2
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
413 ***
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
414 +6
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
415
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17687
diff changeset
416 diff -r 0189ba417d34 -r 10c647b2cdd5 file
17687
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
417 --- a/file Thu Jan 01 00:00:00 1970 +0000
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
418 +++ b/file Thu Jan 01 00:00:00 1970 +0000
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
419 @@ -1,3 +1,6 @@
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
420 1
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
421 2
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
422 3
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
423 +4
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
424 +5
8853f37b1e62 histedit-test: make test-fold more verbose
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17647
diff changeset
425 +6
17242
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
426 $ cd ..
336121088ef1 histedit: fix new nodes computation with --continue (issue3534)
Patrick Mezard <patrick@mezard.eu>
parents: 17130
diff changeset
427
19392
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
428
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
429 Folding with initial rename (issue3729)
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
430 ---------------------------------------
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
431
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
432 $ hg init fold-rename
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
433 $ cd fold-rename
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
434 $ echo a > a.txt
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
435 $ hg add a.txt
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
436 $ hg commit -m a
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
437 $ hg rename a.txt b.txt
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
438 $ hg commit -m rename
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
439 $ echo b >> b.txt
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
440 $ hg commit -m b
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
441
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
442 $ hg logt --follow b.txt
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
443 2:e0371e0426bc b
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
444 1:1c4f440a8085 rename
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
445 0:6c795aa153cb a
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
446
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
447 $ hg histedit 1c4f440a8085 --commands - 2>&1 << EOF | fixbundle
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
448 > pick 1c4f440a8085 rename
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
449 > fold e0371e0426bc b
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
450 > EOF
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
451
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
452 $ hg logt --follow b.txt
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
453 1:cf858d235c76 rename
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
454 0:6c795aa153cb a
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
455
f6b047cf9272 histedit: use base for computing renames when folding (issue3729)
Martin Geisler <martin@geisler.net>
parents: 19391
diff changeset
456 $ cd ..
23129
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
457
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
458 Folding with swapping
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
459 ---------------------
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
460
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
461 This is an excuse to test hook with histedit temporary commit (issue4422)
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
462
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
463
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
464 $ hg init issue4422
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
465 $ cd issue4422
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
466 $ echo a > a.txt
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
467 $ hg add a.txt
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
468 $ hg commit -m a
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
469 $ echo b > b.txt
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
470 $ hg add b.txt
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
471 $ hg commit -m b
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
472 $ echo c > c.txt
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
473 $ hg add c.txt
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
474 $ hg commit -m c
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
475
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
476 $ hg logt
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
477 2:a1a953ffb4b0 c
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
478 1:199b6bb90248 b
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
479 0:6c795aa153cb a
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
480
23390
6a3e38a173ec tests: choose the proper environment variable style for the platform
Matt Harbison <matt_harbison@yahoo.com>
parents: 23129
diff changeset
481 Setup the proper environment variable symbol for the platform, to be subbed
6a3e38a173ec tests: choose the proper environment variable style for the platform
Matt Harbison <matt_harbison@yahoo.com>
parents: 23129
diff changeset
482 into the hook command.
6a3e38a173ec tests: choose the proper environment variable style for the platform
Matt Harbison <matt_harbison@yahoo.com>
parents: 23129
diff changeset
483 #if windows
6a3e38a173ec tests: choose the proper environment variable style for the platform
Matt Harbison <matt_harbison@yahoo.com>
parents: 23129
diff changeset
484 $ NODE="%HG_NODE%"
6a3e38a173ec tests: choose the proper environment variable style for the platform
Matt Harbison <matt_harbison@yahoo.com>
parents: 23129
diff changeset
485 #else
6a3e38a173ec tests: choose the proper environment variable style for the platform
Matt Harbison <matt_harbison@yahoo.com>
parents: 23129
diff changeset
486 $ NODE="\$HG_NODE"
6a3e38a173ec tests: choose the proper environment variable style for the platform
Matt Harbison <matt_harbison@yahoo.com>
parents: 23129
diff changeset
487 #endif
6a3e38a173ec tests: choose the proper environment variable style for the platform
Matt Harbison <matt_harbison@yahoo.com>
parents: 23129
diff changeset
488 $ hg histedit 6c795aa153cb --config hooks.commit="echo commit $NODE" --commands - 2>&1 << EOF | fixbundle
23129
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
489 > pick 199b6bb90248 b
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
490 > fold a1a953ffb4b0 c
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
491 > pick 6c795aa153cb a
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
492 > EOF
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
493 commit 9599899f62c05f4377548c32bf1c9f1a39634b0c
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
494
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
495 $ hg logt
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
496 1:9599899f62c0 a
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
497 0:79b99e9c8e49 b
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
498
26025
ba8089433090 largefiles: ensure lfutil.getstandinmatcher() only matches standins
Matt Harbison <matt_harbison@yahoo.com>
parents: 24828
diff changeset
499 $ echo "foo" > amended.txt
ba8089433090 largefiles: ensure lfutil.getstandinmatcher() only matches standins
Matt Harbison <matt_harbison@yahoo.com>
parents: 24828
diff changeset
500 $ hg add amended.txt
ba8089433090 largefiles: ensure lfutil.getstandinmatcher() only matches standins
Matt Harbison <matt_harbison@yahoo.com>
parents: 24828
diff changeset
501 $ hg ci -q --config extensions.largefiles= --amend -I amended.txt
33212
fe0667cc521e tests: add fsmonitor specific output lines at enabling largefiles
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32291
diff changeset
502 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
26025
ba8089433090 largefiles: ensure lfutil.getstandinmatcher() only matches standins
Matt Harbison <matt_harbison@yahoo.com>
parents: 24828
diff changeset
503
26246
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
504 Test that folding multiple changes in a row doesn't show multiple
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
505 editors.
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
506
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
507 $ echo foo >> foo
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
508 $ hg add foo
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
509 $ hg ci -m foo1
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
510 $ echo foo >> foo
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
511 $ hg ci -m foo2
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
512 $ echo foo >> foo
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
513 $ hg ci -m foo3
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
514 $ hg logt
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
515 4:21679ff7675c foo3
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
516 3:b7389cc4d66e foo2
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
517 2:0e01aeef5fa8 foo1
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
518 1:578c7455730c a
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
519 0:79b99e9c8e49 b
27062
e4f2e4f5e98d test-histedit: $TESTTMP quoting fixes for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26763
diff changeset
520 $ cat > "$TESTTMP/editor.sh" <<EOF
e4f2e4f5e98d test-histedit: $TESTTMP quoting fixes for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26763
diff changeset
521 > echo ran editor >> "$TESTTMP/editorlog.txt"
e4f2e4f5e98d test-histedit: $TESTTMP quoting fixes for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26763
diff changeset
522 > cat \$1 >> "$TESTTMP/editorlog.txt"
e4f2e4f5e98d test-histedit: $TESTTMP quoting fixes for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26763
diff changeset
523 > echo END >> "$TESTTMP/editorlog.txt"
26246
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
524 > echo merged foos > \$1
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
525 > EOF
27062
e4f2e4f5e98d test-histedit: $TESTTMP quoting fixes for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26763
diff changeset
526 $ HGEDITOR="sh \"$TESTTMP/editor.sh\"" hg histedit 1 --commands - 2>&1 <<EOF | fixbundle
26246
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
527 > pick 578c7455730c 1 a
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
528 > pick 0e01aeef5fa8 2 foo1
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
529 > fold b7389cc4d66e 3 foo2
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
530 > fold 21679ff7675c 4 foo3
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
531 > EOF
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
532 $ hg logt
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
533 2:e8bedbda72c1 merged foos
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
534 1:578c7455730c a
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
535 0:79b99e9c8e49 b
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
536 Editor should have run only once
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
537 $ cat $TESTTMP/editorlog.txt
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
538 ran editor
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
539 foo1
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
540 ***
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
541 foo2
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
542 ***
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
543 foo3
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
544
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
545
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
546
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
547 HG: Enter commit message. Lines beginning with 'HG:' are removed.
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
548 HG: Leave message empty to abort commit.
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
549 HG: --
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
550 HG: user: test
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
551 HG: branch 'default'
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
552 HG: added foo
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
553 END
bf81b696b8f4 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com>
parents: 26025
diff changeset
554
23129
eb315418224c hook: protect commit hooks against stripping of temporary commit (issue4422)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22165
diff changeset
555 $ cd ..
33762
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
556
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
557 Test rolling into a commit with multiple children (issue5498)
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
558
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
559 $ hg init roll
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
560 $ cd roll
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
561 $ echo a > a
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
562 $ hg commit -qAm aa
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
563 $ echo b > b
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
564 $ hg commit -qAm bb
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
565 $ hg up -q ".^"
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
566 $ echo c > c
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
567 $ hg commit -qAm cc
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
568 $ hg log -G -T '{node|short} {desc}'
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
569 @ 5db65b93a12b cc
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
570 |
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
571 | o 301d76bdc3ae bb
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
572 |/
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
573 o 8f0162e483d0 aa
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
574
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
575
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
576 $ hg histedit . --commands - << EOF
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
577 > r 5db65b93a12b
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
578 > EOF
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
579 hg: parse error: first changeset cannot use verb "roll"
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
580 [255]
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
581 $ hg log -G -T '{node|short} {desc}'
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
582 @ 5db65b93a12b cc
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
583 |
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
584 | o 301d76bdc3ae bb
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
585 |/
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
586 o 8f0162e483d0 aa
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
587
c26a76e1af36 histedit: check first changeset for verb "roll" or "fold" (issue5498)
André Klitzing <aklitzing@gmail.com>
parents: 33351
diff changeset
588