Mercurial > hg
annotate tests/test-hgrc @ 11638:79231258503b stable
transplant: crash if repo.commit() finds nothing to commit
(makes issue2135, issue2264 more obvious, but does nothing to fix
either one)
This seems to happen in two distinct cases:
* patch.patch() claims success but changes nothing (e.g.
the transplanted changeset adds an empty file that already
exists)
* patch.patch() makes changes, but repo.status() fails to report them
Both of these seem like bugs in other parts of Mercurial, so arguably
it's not transplant's job to detect the failure to commit. However:
* detecting the problem as soon as possible is desirable
* it prevents a more obscure crash later, in transplants.write()
* there might be other lurking (or future) bugs that cause
repo.commit() to do nothing
Also, in the case of issue2264 (source changesets silently dropped by
transplant), the only way to spot the problem currently is the crash
in transplants.write(). Failure to transplant a patch should abort
immediately, whether it's user error (patch does not apply) or a
Mercurial bug (e.g. repo.status() failing to report changes).
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Sun, 18 Jul 2010 21:29:29 -0400 |
parents | d6dbd5e4ee72 |
children |
rev | line source |
---|---|
1473
7d66ce9895fa
make readconfig take a filename instead of a file pointer as argument
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
1 #!/bin/sh |
7d66ce9895fa
make readconfig take a filename instead of a file pointer as argument
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
2 |
10043 | 3 echo "invalid" > $HGRCPATH |
4 hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|" | |
5 echo "" > $HGRCPATH | |
7044
e51c0f41f271
Escape '%' when writing to hgrc (issue1199)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4659
diff
changeset
|
6 |
10043 | 7 # issue1199: escaping |
7044
e51c0f41f271
Escape '%' when writing to hgrc (issue1199)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4659
diff
changeset
|
8 hg init "foo%bar" |
e51c0f41f271
Escape '%' when writing to hgrc (issue1199)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4659
diff
changeset
|
9 hg clone "foo%bar" foobar |
e51c0f41f271
Escape '%' when writing to hgrc (issue1199)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4659
diff
changeset
|
10 p=`pwd` |
e51c0f41f271
Escape '%' when writing to hgrc (issue1199)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4659
diff
changeset
|
11 cd foobar |
10043 | 12 cat .hg/hgrc | sed -e "s:$p:...:" |
13 hg paths | sed -e "s:$p:...:" | |
14 hg showconfig | sed -e "s:$p:...:" | |
15 cd .. | |
9470
ba75830d17a9
dispatch: catch ConfigError while constructing ui
Martin Geisler <mg@lazybytes.net>
parents:
7044
diff
changeset
|
16 |
ba75830d17a9
dispatch: catch ConfigError while constructing ui
Martin Geisler <mg@lazybytes.net>
parents:
7044
diff
changeset
|
17 # issue1829: wrong indentation |
10043 | 18 echo '[foo]' > $HGRCPATH |
9470
ba75830d17a9
dispatch: catch ConfigError while constructing ui
Martin Geisler <mg@lazybytes.net>
parents:
7044
diff
changeset
|
19 echo ' x = y' >> $HGRCPATH |
ba75830d17a9
dispatch: catch ConfigError while constructing ui
Martin Geisler <mg@lazybytes.net>
parents:
7044
diff
changeset
|
20 hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|" |
10042
7cdd2a7db2c2
config: raise ConfigError on non-existing include files
Martin Geisler <mg@lazybytes.net>
parents:
9470
diff
changeset
|
21 |
10295
44c923eeb81d
config: handle short continuations (issue1999)
Matt Mackall <mpm@selenic.com>
parents:
10042
diff
changeset
|
22 python -c "print '[foo]\nbar = a\n b\n c \n de\n fg \nbaz = bif cb \n'" \ |
44c923eeb81d
config: handle short continuations (issue1999)
Matt Mackall <mpm@selenic.com>
parents:
10042
diff
changeset
|
23 > $HGRCPATH |
44c923eeb81d
config: handle short continuations (issue1999)
Matt Mackall <mpm@selenic.com>
parents:
10042
diff
changeset
|
24 hg showconfig foo |
44c923eeb81d
config: handle short continuations (issue1999)
Matt Mackall <mpm@selenic.com>
parents:
10042
diff
changeset
|
25 |
11224
f23f87462c18
config: expand hgrc %include paths
Chad Dombrova <chadrik@gmail.com>
parents:
10567
diff
changeset
|
26 FAKEPATH=/path/to/nowhere |
f23f87462c18
config: expand hgrc %include paths
Chad Dombrova <chadrik@gmail.com>
parents:
10567
diff
changeset
|
27 export FAKEPATH |
f23f87462c18
config: expand hgrc %include paths
Chad Dombrova <chadrik@gmail.com>
parents:
10567
diff
changeset
|
28 echo '%include $FAKEPATH/no-such-file' > $HGRCPATH |
10042
7cdd2a7db2c2
config: raise ConfigError on non-existing include files
Martin Geisler <mg@lazybytes.net>
parents:
9470
diff
changeset
|
29 hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|" |
11224
f23f87462c18
config: expand hgrc %include paths
Chad Dombrova <chadrik@gmail.com>
parents:
10567
diff
changeset
|
30 unset FAKEPATH |
10455
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
31 |
11225
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
32 echo "% username expansion" |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
33 olduser=$HGUSER |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
34 unset HGUSER |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
35 |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
36 FAKEUSER='John Doe' |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
37 export FAKEUSER |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
38 echo '[ui]' > $HGRCPATH |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
39 echo 'username = $FAKEUSER' >> $HGRCPATH |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
40 |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
41 hg init usertest |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
42 cd usertest |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
43 touch bar |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
44 hg commit --addremove --quiet -m "added bar" |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
45 hg log --template "{author}\n" |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
46 cd .. |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
47 |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
48 hg showconfig | sed -e "s:$p:...:" |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
49 |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
50 unset FAKEUSER |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
51 HGUSER=$olduser |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
52 export HGUSER |
d6dbd5e4ee72
ui.username(): expand environment variables in username configuration value.
Chad Dombrova <chadrik@gmail.com>
parents:
11224
diff
changeset
|
53 |
10455
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
54 # HGPLAIN |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
55 cd .. |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
56 p=`pwd` |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
57 echo "[ui]" > $HGRCPATH |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
58 echo "debug=true" >> $HGRCPATH |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
59 echo "fallbackencoding=ASCII" >> $HGRCPATH |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
60 echo "quiet=true" >> $HGRCPATH |
10507
79dd96774187
ui: unset ui.slash when HGPLAIN is set
Brodie Rao <me+hg@dackz.net>
parents:
10506
diff
changeset
|
61 echo "slash=true" >> $HGRCPATH |
10455
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
62 echo "traceback=true" >> $HGRCPATH |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
63 echo "verbose=true" >> $HGRCPATH |
10567
992723445a29
ui: ignore ui.logtemplate and ui.style when HGPLAIN is set
Yuya Nishihara <yuya@tcha.org>
parents:
10507
diff
changeset
|
64 echo "style=~/.hgstyle" >> $HGRCPATH |
992723445a29
ui: ignore ui.logtemplate and ui.style when HGPLAIN is set
Yuya Nishihara <yuya@tcha.org>
parents:
10507
diff
changeset
|
65 echo "logtemplate={node}" >> $HGRCPATH |
10455
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
66 echo "[defaults]" >> $HGRCPATH |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
67 echo "identify=-n" >> $HGRCPATH |
10506
42afde35e9f7
ui: suppress aliases when HGPLAIN is set
Brodie Rao <me+hg@dackz.net>
parents:
10455
diff
changeset
|
68 echo "[alias]" >> $HGRCPATH |
42afde35e9f7
ui: suppress aliases when HGPLAIN is set
Brodie Rao <me+hg@dackz.net>
parents:
10455
diff
changeset
|
69 echo "log=log -g" >> $HGRCPATH |
10455
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
70 |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
71 echo '% customized hgrc' |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
72 hg showconfig | sed -e "s:$p:...:" |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
73 |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
74 echo '% plain hgrc' |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
75 HGPLAIN=; export HGPLAIN |
40dfd46d098f
ui: add HGPLAIN environment variable for easier scripting
Brodie Rao <me+hg@dackz.net>
parents:
10296
diff
changeset
|
76 hg showconfig --config ui.traceback=True --debug | sed -e "s:$p:...:" |