Mercurial > hg
annotate tests/dummyssh @ 29181:dae38633eba8 stable
localrepo: prevent executable-bit only changes from being lost on amend
If you have just executable-bit change and amend it twice it will vanish:
* After the first amend the commit will have the proper executable bit set
in manifest but it won't have the the file on the list of files in
changelog.
* The second amend will read the wrong list of files from changelog and it
will copy the manifest entry from parent for this file.
* Voila! The change is lost.
This change repairs the bug in localrepo causing this and adds a test for it.
author | Mateusz Kwapich <mitrandir@fb.com> |
---|---|
date | Thu, 19 May 2016 14:35:22 -0700 |
parents | f266cb3f1c2b |
children | 26d4ce8ca2bd |
rev | line source |
---|---|
14186 | 1 #!/usr/bin/env python |
2 | |
3 import sys | |
4 import os | |
5 | |
6 os.chdir(os.getenv('TESTTMP')) | |
7 | |
8 if sys.argv[1] != "user@dummy": | |
9 sys.exit(-1) | |
10 | |
11 os.environ["SSH_CLIENT"] = "127.0.0.1 1 2" | |
12 | |
13 log = open("dummylog", "ab") | |
14 log.write("Got arguments") | |
15 for i, arg in enumerate(sys.argv[1:]): | |
19320
f266cb3f1c2b
dummyssh: fix check-code nit
Augie Fackler <raf@durin42.com>
parents:
15768
diff
changeset
|
16 log.write(" %d:%s" % (i + 1, arg)) |
14186 | 17 log.write("\n") |
18 log.close() | |
15768
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
19 hgcmd = sys.argv[2] |
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
20 if os.name == 'nt': |
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
21 # hack to make simple unix single quote quoting work on windows |
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
22 hgcmd = hgcmd.replace("'", '"') |
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
23 r = os.system(hgcmd) |
14186 | 24 sys.exit(bool(r)) |