annotate tests/test-amend.t @ 5259:292de4cca111

obshistory: make patchavailable() handle predecessors too
author Anton Shestakov <av6@dwimlabs.net>
date Mon, 13 Jan 2020 16:32:25 +0700
parents 900668a93629
children 8d20c0af010a e8660b28bfee
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
263
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
1 $ cat >> $HGRCPATH <<EOF
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
2 > [extensions]
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
3 > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1673
diff changeset
4 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
263
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
5
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
6 $ glog() {
2776
4dd84054ebbb test: remove reference to the graphlog extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2730
diff changeset
7 > hg log -G --template '{rev}@{branch}({phase}) {desc|firstline}\n' "$@"
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
8 > }
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
9
630
722b52c75f02 compat: adapt to upstreaming of divergent logic
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 491
diff changeset
10 $ hg init repo --traceback
263
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
11 $ cd repo
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
12 $ echo a > a
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
13 $ hg ci -Am adda
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
14 adding a
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
15
984
b286f77d680c tests: fix grammar, spelling, punctuation in comments
Greg Ward <greg@gerg.ca>
parents: 976
diff changeset
16 Test that amend captures branches
263
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
17
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
18 $ hg branch foo
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
19 marked working directory as branch foo
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
20 (branches are permanent and global, did you want a bookmark?)
3221
9f3521cc4c90 amend: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
21 $ hg amend -d '0 0' -n "this a note on the obsmarker and supported for hg>=4.4"
441
d702f0d26c6a obsolete: remove debugsuccessors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 385
diff changeset
22 $ hg debugobsolete
2578
7795a86ba326 effectflag: activate effect flag on test-amend.t test file
Boris Feld <boris.feld@octobus.net>
parents: 1806
diff changeset
23 07f4944404050f47db2e5c5071e0e84e7a27bba9 6a022cbb61d5ba0f03f98ff2d36319dfea1034ae 0 (*) {'ef1': '*', 'user': 'test'} (glob)
3221
9f3521cc4c90 amend: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
24 $ hg obslog
9f3521cc4c90 amend: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
25 @ 6a022cbb61d5 (1) adda
9f3521cc4c90 amend: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
26 |
9f3521cc4c90 amend: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
27 x 07f494440405 (0) adda
5123
900668a93629 obslog: use _successorsetverb() in regular obslog too
Anton Shestakov <av6@dwimlabs.net>
parents: 5079
diff changeset
28 branch-changed(branch) as 6a022cbb61d5 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
3223
73b4e84df0bd obsnote: don't add '' to note while showing it in obslog
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3221
diff changeset
29 note: this a note on the obsmarker and supported for hg>=4.4
3221
9f3521cc4c90 amend: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
30
263
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
31 $ hg branch
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
32 foo
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
33 $ hg branches
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
34 foo 1:6a022cbb61d5
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
35 $ glog
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
36 @ 1@foo(draft) adda
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
37
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
38 Test no-op
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
39
974
5808aad40aca amend: in tests, do not rely on defaults -- always use explicit -d
Greg Ward <greg@gerg.ca>
parents: 742
diff changeset
40 $ hg amend -d '0 0'
742
760d01a549a6 amend: use core mechanism for amend
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 699
diff changeset
41 nothing changed
760d01a549a6 amend: use core mechanism for amend
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 699
diff changeset
42 [1]
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
43 $ glog
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
44 @ 1@foo(draft) adda
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
45
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
46
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
47 Test forcing the message to the same value, no intermediate revision.
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
48
974
5808aad40aca amend: in tests, do not rely on defaults -- always use explicit -d
Greg Ward <greg@gerg.ca>
parents: 742
diff changeset
49 $ hg amend -d '0 0' -m 'adda'
742
760d01a549a6 amend: use core mechanism for amend
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 699
diff changeset
50 nothing changed
760d01a549a6 amend: use core mechanism for amend
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 699
diff changeset
51 [1]
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
52 $ glog
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
53 @ 1@foo(draft) adda
263
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
54
de62daaf2054 amend: drop --branches, pick it from working directory
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
55
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
56 Test collapsing into an existing revision, no intermediate revision.
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
57
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
58 $ echo a >> a
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
59 $ hg ci -m changea
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
60 $ echo a > a
445
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
61 $ hg status
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
62 M a
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
63 $ hg pstatus
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
64 $ hg diff
742
760d01a549a6 amend: use core mechanism for amend
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 699
diff changeset
65 diff -r f7a50201fe3a a
445
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
66 --- a/a Thu Jan 01 00:00:00 1970 +0000
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
67 +++ b/a * +0000 (glob)
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
68 @@ -1,2 +1,1 @@
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
69 a
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
70 -a
52b5e14c63d5 obsolete: enforce pdiff and pstatus alias in the extension
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 444
diff changeset
71 $ hg pdiff
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
72 $ hg ci -m reseta
441
d702f0d26c6a obsolete: remove debugsuccessors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 385
diff changeset
73 $ hg debugobsolete
2578
7795a86ba326 effectflag: activate effect flag on test-amend.t test file
Boris Feld <boris.feld@octobus.net>
parents: 1806
diff changeset
74 07f4944404050f47db2e5c5071e0e84e7a27bba9 6a022cbb61d5ba0f03f98ff2d36319dfea1034ae 0 (*) {'ef1': '*', 'user': 'test'} (glob)
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
75 $ hg phase 2
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
76 2: draft
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
77 $ glog
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
78 @ 3@foo(draft) reseta
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
79 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
80 o 2@foo(draft) changea
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
81 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
82 o 1@foo(draft) adda
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
83
975
09d6036ad596 amend: explicitly test -d option
Greg Ward <greg@gerg.ca>
parents: 974
diff changeset
84 Specify precise commit date with -d
09d6036ad596 amend: explicitly test -d option
Greg Ward <greg@gerg.ca>
parents: 974
diff changeset
85 $ hg amend -d '2001-02-03 04:05:06 +0700'
09d6036ad596 amend: explicitly test -d option
Greg Ward <greg@gerg.ca>
parents: 974
diff changeset
86 $ hg parents --template '{rev} {date|date}\n'
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
87 4 Sat Feb 03 04:05:06 2001 +0700
265
24943df310d4 amend: do not traceback on no-ops
Patrick Mezard <patrick@mezard.eu>
parents: 263
diff changeset
88
976
bed842762447 amend: add -D/--current-date option, just like mq's qrefresh has
Greg Ward <greg@gerg.ca>
parents: 975
diff changeset
89 Specify "now" as commit date with -D
bed842762447 amend: add -D/--current-date option, just like mq's qrefresh has
Greg Ward <greg@gerg.ca>
parents: 975
diff changeset
90 $ before=`date +%s`
bed842762447 amend: add -D/--current-date option, just like mq's qrefresh has
Greg Ward <greg@gerg.ca>
parents: 975
diff changeset
91 $ hg amend -D
bed842762447 amend: add -D/--current-date option, just like mq's qrefresh has
Greg Ward <greg@gerg.ca>
parents: 975
diff changeset
92 $ commit=`hg parents --template '{date|hgdate} rev{rev}\n'`
bed842762447 amend: add -D/--current-date option, just like mq's qrefresh has
Greg Ward <greg@gerg.ca>
parents: 975
diff changeset
93 $ after=`date +%s`
bed842762447 amend: add -D/--current-date option, just like mq's qrefresh has
Greg Ward <greg@gerg.ca>
parents: 975
diff changeset
94 $ (echo $before ; echo $commit; echo $after) | sort -k1 -n -s
bed842762447 amend: add -D/--current-date option, just like mq's qrefresh has
Greg Ward <greg@gerg.ca>
parents: 975
diff changeset
95 \d+ (re)
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
96 \d+ 0 rev5 (re)
976
bed842762447 amend: add -D/--current-date option, just like mq's qrefresh has
Greg Ward <greg@gerg.ca>
parents: 975
diff changeset
97 \d+ (re)
985
6a37044ec0b3 amend: add -U/--current-user option (inspired by mq)
Greg Ward <greg@gerg.ca>
parents: 984
diff changeset
98
6a37044ec0b3 amend: add -U/--current-user option (inspired by mq)
Greg Ward <greg@gerg.ca>
parents: 984
diff changeset
99 Specify current user as committer with -U
6a37044ec0b3 amend: add -U/--current-user option (inspired by mq)
Greg Ward <greg@gerg.ca>
parents: 984
diff changeset
100 $ HGUSER=newbie hg amend -U
6a37044ec0b3 amend: add -U/--current-user option (inspired by mq)
Greg Ward <greg@gerg.ca>
parents: 984
diff changeset
101 $ hg parents --template '{rev} {author}\n'
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
102 6 newbie
1140
b7d85cd8ec7b amend: allow the --logfile argument to work properly
Matt Harbison <matt_harbison@yahoo.com>
parents: 1067
diff changeset
103
b7d85cd8ec7b amend: allow the --logfile argument to work properly
Matt Harbison <matt_harbison@yahoo.com>
parents: 1067
diff changeset
104 Check that --logfile works
b7d85cd8ec7b amend: allow the --logfile argument to work properly
Matt Harbison <matt_harbison@yahoo.com>
parents: 1067
diff changeset
105 $ echo "logfile message" > logfile.txt
b7d85cd8ec7b amend: allow the --logfile argument to work properly
Matt Harbison <matt_harbison@yahoo.com>
parents: 1067
diff changeset
106 $ hg amend -l logfile.txt
b7d85cd8ec7b amend: allow the --logfile argument to work properly
Matt Harbison <matt_harbison@yahoo.com>
parents: 1067
diff changeset
107 $ hg log -r . -T "{desc}\n"
b7d85cd8ec7b amend: allow the --logfile argument to work properly
Matt Harbison <matt_harbison@yahoo.com>
parents: 1067
diff changeset
108 logfile message
1142
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
109
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
110 # Make sure we don't get reparented to -1 with no username (issue4211)
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
111 $ HGUSER=
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
112 $ hg amend -e --config ui.username= -m "empty user"
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
113 abort: no username supplied
1673
8e879d59b20e tests: change quoting pattern to match core's conventions
Laurent Charignon <lcharignon@fb.com>
parents: 1584
diff changeset
114 (use 'hg config --edit' to set your username)
1142
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
115 [255]
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
116 $ hg sum
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
117 parent: 7:* tip (glob)
1142
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
118 logfile message
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
119 branch: foo
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
120 commit: 1 unknown (clean)
9d85fd6e1474 test-amend: add a test for amend with no configured username (issue4211)
Matt Harbison <matt_harbison@yahoo.com>
parents: 1140
diff changeset
121 update: (current)
1453
8ca31deb8db7 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1452
diff changeset
122 phases: 3 draft
1296
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
123
5079
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
124 setting the user after we have performed the test with no username
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
125 $ HGUSER=test
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
126
1296
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
127 Check the help
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
128 $ hg amend -h
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
129 hg amend [OPTION]... [FILE]...
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
130
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
131 aliases: refresh
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
132
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
133 combine a changeset with updates and replace it with a new one
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
134
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
135 Commits a new changeset incorporating both the changes to the given files
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
136 and all the changes from the current parent changeset into the repository.
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
137
1584
190e4e526c66 tests: change some double quotes to single quotes
Martin von Zweigbergk <martinvonz@google.com>
parents: 1453
diff changeset
138 See 'hg commit' for details about committing changes.
1296
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
139
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
140 If you don't specify -m, the parent's message will be reused.
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
141
3296
b834cb64f779 amend: fix a typo in amend help text related to the extract option
Boris Feld <boris.feld@octobus.net>
parents: 3223
diff changeset
142 If --extract is specified, the behavior of 'hg amend' is reversed: Changes
2730
7fbb7a5d359f uncommit: expose the feature with a '--extract' to amend
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2726
diff changeset
143 to selected files in the checked out revision appear again as uncommitted
7fbb7a5d359f uncommit: expose the feature with a '--extract' to amend
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2726
diff changeset
144 changed in the working directory.
7fbb7a5d359f uncommit: expose the feature with a '--extract' to amend
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2726
diff changeset
145
1296
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
146 Returns 0 on success, 1 if nothing changed.
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
147
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
148 options ([+] can be repeated):
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
149
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
150 -A --addremove mark new/missing files as added/removed before
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
151 committing
2730
7fbb7a5d359f uncommit: expose the feature with a '--extract' to amend
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2726
diff changeset
152 -a --all match all files
1296
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
153 -e --edit invoke editor on commit messages
2730
7fbb7a5d359f uncommit: expose the feature with a '--extract' to amend
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2726
diff changeset
154 --extract extract changes from the commit to the working copy
3660
f018656ca3bf amend: add a new flag `--patch` to `hg amend`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3520
diff changeset
155 --patch make changes to wdir parent by editing patch
1296
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
156 --close-branch mark a branch as closed, hiding it from the branch
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
157 list
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
158 -s --secret use the secret phase for committing
4183
536c67823962 commands: adjust metavariables as appropriate
Anton Shestakov <av6@dwimlabs.net>
parents: 3660
diff changeset
159 -n --note TEXT store a note on amend
1296
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
160 -I --include PATTERN [+] include names matching the given patterns
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
161 -X --exclude PATTERN [+] exclude names matching the given patterns
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
162 -m --message TEXT use text as commit message
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
163 -l --logfile FILE read commit message from file
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
164 -d --date DATE record the specified date as commit date
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
165 -u --user USER record the specified user as committer
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
166 -D --current-date record the current date as commit date
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
167 -U --current-user record the current user as committer
1452
1bcbd14cf159 merge back with 3.3 compat branch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1451
diff changeset
168 -i --interactive use interactive mode
1296
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
169
23819e1d61fd evolve: add -i flag to amend command
Laurent Charignon <lcharignon@fb.com>
parents: 1185
diff changeset
170 (some details hidden, use --verbose to show complete help)
4988
588b3484c131 amend: abort if both --patch and --extract are used
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4183
diff changeset
171
588b3484c131 amend: abort if both --patch and --extract are used
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4183
diff changeset
172 Check that we abort if --patch and --extract both are used at once
588b3484c131 amend: abort if both --patch and --extract are used
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4183
diff changeset
173 $ hg amend --patch --extract
588b3484c131 amend: abort if both --patch and --extract are used
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4183
diff changeset
174 abort: cannot use both --patch and --extract
588b3484c131 amend: abort if both --patch and --extract are used
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4183
diff changeset
175 [255]
5079
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
176
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
177 $ cd ..
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
178
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
179 Check the pre-check logic for content-divergence
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
180 $ hg init precheckrepo
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
181 $ cd precheckrepo
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
182 $ echo a > a
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
183 $ hg ci -Am "added a"
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
184 adding a
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
185 $ echo newchanges > a
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
186 $ hg amend
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
187 $ hg up 0 --hidden -q
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
188 updated to hidden changeset 9092f1db7931
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
189 (hidden revision '9092f1db7931' was rewritten as: aafaf407b00d)
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
190 working directory parent is obsolete! (9092f1db7931)
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
191
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
192 when rewritting an already rewritten changeset (i.e cset being rewritten will
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
193 be the base of divergence)
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
194 $ hg amend -m "i am gonna create divergence"
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
195 abort: amend of 9092f1db7931 creates content-divergence with aafaf407b00d
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
196 (add --verbose for details or see 'hg help evolution.instability')
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
197 [255]
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
198 $ hg amend -m "i am gonna create divergence" --verbose
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
199 abort: amend of 9092f1db7931 creates content-divergence with aafaf407b00d
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
200 changeset 9092f1db7931 already have a successors as changeset aafaf407b00d
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
201 rewriting changeset 9092f1db7931 would create "content-divergence"
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
202 set experimental.evolution.allowdivergence=True to overwrite this check
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
203 (see 'hg help evolution.instability' for details on content-divergence)
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
204 [255]
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
205
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
206 when rewritting a cset which has a predecessor with non-obsolete successor
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
207
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
208 to prepare the repo
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
209 1) create content-divergence
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
210 2) remove divergence by pruning one of the divergent cset
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
211 $ echo edited_a > a
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
212 $ hg ci -m "edited a"
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
213 1 new orphan changesets
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
214 $ hg debugobsolete $(hg id -ir 0 --debug) $(hg id -ir 2 --debug)
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
215 1 new obsolescence markers
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
216 2 new content-divergent changesets
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
217
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
218 remove divergence by pruning one side of divergenence
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
219 $ hg debugobsolete $(hg id -ir 2 --debug)
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
220 1 new obsolescence markers
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
221 obsoleted 1 changesets
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
222
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
223 $ hg evolve -l
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
224 $ hg amend -m "i am gonna create divergence"
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
225 abort: amend of f8c05838af90 creates content-divergence with aafaf407b00d, from 9092f1db7931
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
226 (add --verbose for details or see 'hg help evolution.instability')
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
227 [255]
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
228 $ hg amend -m "i am gonna create divergence" --verbose
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
229 abort: amend of f8c05838af90 creates content-divergence with aafaf407b00d, from 9092f1db7931
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
230 changeset f8c05838af90 is an evolution of changeset 9092f1db7931
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
231 changeset 9092f1db7931 already have a successors as changeset aafaf407b00d
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
232 rewriting changeset f8c05838af90 would create "content-divergence"
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
233 set experimental.evolution.allowdivergence=True to overwrite this check
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
234 (see 'hg help evolution.instability' for details on content-divergence)
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4988
diff changeset
235 [255]