Mercurial > hg
annotate tests/test-mq-qrefresh-replace-log-message.t @ 23923:ab6fd3205dad stable
largefiles: fix commit of a directory with no largefile changes (issue4330)
When a directory is named in the commit file list, the previous behavior was to
walk the list, and if no normal files in the directory were also named, add the
corresponding standin for each largefile in that directory. The directory is
then dropped from the list, so that committing a directory with no normal file
changes works. It then added the corresponding standin directory for the first
largefile seen, by prefixing it with '.hglf/'.
The latter is unnecessary since each affected largefile is explicitly referenced
by its standin in the list. It also caused an abort if there were no changed
largefiles in the directory, because none of its standins changed:
abort: .hglf/foo/bar: no match under directory!
This list of files is used to tweak a matcher in lfutil.updatestandinsbymatch(),
which is what is passed to commit().
The status() call that is ultimately done in the commit code with this matcher
seems to have some OS specific differences. It is not necessary to append '.'
for Windows to run the largefiles tests cleanly. But if '.' is not added to the
list, the match function isn't called on Linux, so status() would miss any
normal files that were also in a named directory. The commit then proceeds
without those normal files, or says "nothing changed" if there were no changed
largefiles in the directory. This is not filesystem specific, as VFAT on Linux
had the same behavior as when run on ext4. It is also not an issue with
lfilesrepo.status(), since that only calls the overridden implementation when
paths are passed to commit. I dont have access to an OS X machine ATM to test
there.
Maybe there's a better way to do this. But since the standin directory for the
first largefile was previously being added, and that caused the same walk in
status(), there's no preformance change to this. There is no danger of
erroneously committing files in '.', because the original match function is
called, and if it fails, the lfutil.updatestandinsbymatch() tweaked matcher only
indicates a match if the file is in the list of standins- and '.' never is. The
added tests confirm this.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 18 Jan 2015 15:15:40 -0500 |
parents | de5cee8ba088 |
children | 56b2bcea2529 |
rev | line source |
---|---|
17478 | 1 Environment setup for MQ |
2694
0fb28dbf0dc7
MQ: uniformise message and logfile option.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
2 |
12468
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
3 $ echo "[extensions]" >> $HGRCPATH |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
4 $ echo "mq=" >> $HGRCPATH |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
5 $ hg init |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
6 $ hg qinit |
2694
0fb28dbf0dc7
MQ: uniformise message and logfile option.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
7 |
12468
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
8 Should fail if no patches applied |
21423
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
9 (this tests also that editor is not invoked if '--edit' is not |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
10 specified) |
2694
0fb28dbf0dc7
MQ: uniformise message and logfile option.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
11 |
12468
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
12 $ hg qrefresh |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
13 no patches applied |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
14 [1] |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
15 $ hg qrefresh -e |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
16 no patches applied |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
17 [1] |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
18 $ hg qnew -m "First commit message" first-patch |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
19 $ echo aaaa > file |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
20 $ hg add file |
21423
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
21 $ HGEDITOR=cat hg qrefresh |
5334
448eb46d4d84
mq: fix qrefresh -e with no patches applied
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4659
diff
changeset
|
22 |
12468
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
23 Should display 'First commit message' |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
24 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
25 $ hg log -l1 --template "{desc}\n" |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
26 First commit message |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
27 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
28 Testing changing message with -m |
21924
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
29 (this tests also that '--edit' can be used with '--message', and |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
30 that '[committemplate] changeset' definition and commit log specific |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
31 template keyword 'extramsg' work well) |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
32 |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
33 $ cat >> .hg/hgrc <<EOF |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
34 > [committemplate] |
22013
de5cee8ba088
cmdutil: use '[committemplate]' section like as map file for style definition
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21930
diff
changeset
|
35 > listupfiles = {file_adds % |
de5cee8ba088
cmdutil: use '[committemplate]' section like as map file for style definition
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21930
diff
changeset
|
36 > "HG: added {file}\n" }{file_mods % |
de5cee8ba088
cmdutil: use '[committemplate]' section like as map file for style definition
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21930
diff
changeset
|
37 > "HG: changed {file}\n" }{file_dels % |
de5cee8ba088
cmdutil: use '[committemplate]' section like as map file for style definition
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21930
diff
changeset
|
38 > "HG: removed {file}\n" }{if(files, "", |
de5cee8ba088
cmdutil: use '[committemplate]' section like as map file for style definition
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21930
diff
changeset
|
39 > "HG: no files changed\n")} |
de5cee8ba088
cmdutil: use '[committemplate]' section like as map file for style definition
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21930
diff
changeset
|
40 > |
21924
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
41 > changeset = HG: this is customized commit template |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
42 > {desc}\n\n |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
43 > HG: Enter commit message. Lines beginning with 'HG:' are removed. |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
44 > HG: {extramsg} |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
45 > HG: -- |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
46 > HG: user: {author} |
22013
de5cee8ba088
cmdutil: use '[committemplate]' section like as map file for style definition
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21930
diff
changeset
|
47 > HG: branch '{branch}'\n{listupfiles} |
21924
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
48 > EOF |
12468
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
49 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
50 $ echo bbbb > file |
21713
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
51 $ HGEDITOR=cat hg qrefresh -m "Second commit message" -e |
21924
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
52 HG: this is customized commit template |
21713
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
53 Second commit message |
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
54 |
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
55 |
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
56 HG: Enter commit message. Lines beginning with 'HG:' are removed. |
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
57 HG: Leave message empty to use default message. |
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
58 HG: -- |
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
59 HG: user: test |
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
60 HG: branch 'default' |
7a51bced398b
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21423
diff
changeset
|
61 HG: added file |
2694
0fb28dbf0dc7
MQ: uniformise message and logfile option.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
62 |
21924
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
63 $ cat >> .hg/hgrc <<EOF |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
64 > # disable customizing for subsequent tests |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
65 > [committemplate] |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
66 > changeset = |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
67 > EOF |
5375ba75df40
cmdutil: make commit message shown in text editor customizable by template
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21713
diff
changeset
|
68 |
12468
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
69 Should display 'Second commit message' |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
70 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
71 $ hg log -l1 --template "{desc}\n" |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
72 Second commit message |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
73 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
74 Testing changing message with -l |
2694
0fb28dbf0dc7
MQ: uniformise message and logfile option.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
75 |
12468
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
76 $ echo "Third commit message" > logfile |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
77 $ echo " This is the 3rd log message" >> logfile |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
78 $ echo bbbb > file |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
79 $ hg qrefresh -l logfile |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
80 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
81 Should display 'Third commit message\\\n This is the 3rd log message' |
2694
0fb28dbf0dc7
MQ: uniformise message and logfile option.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
82 |
12468
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
83 $ hg log -l1 --template "{desc}\n" |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
84 Third commit message |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
85 This is the 3rd log message |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
86 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
87 Testing changing message with -l- |
2694
0fb28dbf0dc7
MQ: uniformise message and logfile option.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
88 |
12468
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
89 $ hg qnew -m "First commit message" second-patch |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
90 $ echo aaaa > file2 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
91 $ hg add file2 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
92 $ echo bbbb > file2 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
93 $ (echo "Fifth commit message"; echo " This is the 5th log message") | hg qrefresh -l- |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
94 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
95 Should display 'Fifth commit message\\\n This is the 5th log message' |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
96 |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
97 $ hg log -l1 --template "{desc}\n" |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
98 Fifth commit message |
d8bf747d2e29
tests: unify test-mq-qrefresh-replace-log-message
Matt Mackall <mpm@selenic.com>
parents:
5334
diff
changeset
|
99 This is the 5th log message |
21236
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
100 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
101 Test saving last-message.txt: |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
102 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
103 $ cat > $TESTTMP/editor.sh << EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
104 > echo "==== before editing" |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
105 > cat \$1 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
106 > echo "====" |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
107 > (echo; echo "test saving last-message.txt") >> \$1 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
108 > EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
109 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
110 $ cat > $TESTTMP/commitfailure.py <<EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
111 > from mercurial import util |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
112 > def reposetup(ui, repo): |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
113 > class commitfailure(repo.__class__): |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
114 > def commit(self, *args, **kwargs): |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
115 > raise util.Abort('emulating unexpected abort') |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
116 > repo.__class__ = commitfailure |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
117 > EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
118 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
119 $ cat >> .hg/hgrc <<EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
120 > [extensions] |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
121 > # this failure occurs before editor invocation |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
122 > commitfailure = $TESTTMP/commitfailure.py |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
123 > EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
124 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
125 $ hg qapplied |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
126 first-patch |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
127 second-patch |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
128 $ hg tip --template "{files}\n" |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
129 file2 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
130 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
131 (test that editor is not invoked before transaction starting) |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
132 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
133 $ rm -f .hg/last-message.txt |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
134 $ HGEDITOR="sh $TESTTMP/editor.sh" hg qrefresh -e |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
135 refresh interrupted while patch was popped! (revert --all, qpush to recover) |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
136 abort: emulating unexpected abort |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
137 [255] |
21930
a5168eb9b2bc
tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents:
21924
diff
changeset
|
138 $ test -f .hg/last-message.txt |
21236
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
139 [1] |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
140 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
141 (reset applied patches and directory status) |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
142 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
143 $ cat >> .hg/hgrc <<EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
144 > [extensions] |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
145 > commitfailure = ! |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
146 > EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
147 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
148 $ hg qapplied |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
149 first-patch |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
150 $ hg status -A file2 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
151 ? file2 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
152 $ rm file2 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
153 $ hg qpush -q second-patch |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
154 now at: second-patch |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
155 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
156 (test that editor is invoked and commit message is saved into |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
157 "last-message.txt") |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
158 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
159 $ cat >> .hg/hgrc <<EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
160 > [hooks] |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
161 > # this failure occurs after editor invocation |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
162 > pretxncommit.unexpectedabort = false |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
163 > EOF |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
164 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
165 $ rm -f .hg/last-message.txt |
21423
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
166 $ hg status --rev "second-patch^1" -arm |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
167 A file2 |
21236
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
168 $ HGEDITOR="sh $TESTTMP/editor.sh" hg qrefresh -e |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
169 ==== before editing |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
170 Fifth commit message |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
171 This is the 5th log message |
21423
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
172 |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
173 |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
174 HG: Enter commit message. Lines beginning with 'HG:' are removed. |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
175 HG: Leave message empty to use default message. |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
176 HG: -- |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
177 HG: user: test |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
178 HG: branch 'default' |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
179 HG: added file2 |
21236
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
180 ==== |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
181 transaction abort! |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
182 rollback completed |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
183 note: commit message saved in .hg/last-message.txt |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
184 refresh interrupted while patch was popped! (revert --all, qpush to recover) |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
185 abort: pretxncommit.unexpectedabort hook exited with status 1 |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
186 [255] |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
187 $ cat .hg/last-message.txt |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
188 Fifth commit message |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
189 This is the 5th log message |
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
190 |
21423
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
191 |
7d408720453d
mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21236
diff
changeset
|
192 |
21236
49148d7868df
qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17478
diff
changeset
|
193 test saving last-message.txt |