Mercurial > hg
annotate tests/test-diff-newlines.t @ 21566:a01988cd9b61 stable
subrepo: make "_sanitize()" take absolute path to the root of subrepo
Before this patch, "hg update" doesn't sanitize ".hg/hgrc" in non-hg
subrepos correctly, if "hg update" is executed not at the root of the
parent repository.
"_sanitize()" takes relative path to subrepo from the root of the
parent repository, and passes it to "os.walk()". In this case,
"os.walk()" expects CWD to be equal to the root of the parent
repository.
So, "os.walk()" can't find specified path (or may scan unexpected
path), if CWD isn't equal to the root of the parent repository.
Non-hg subrepo under nested hg-subrepos may cause same problem, too:
CWD may be equal to the root of the outer most repository, or so.
This patch makes "_sanitize()" take absolute path to the root of
subrepo to sanitize correctly in such cases.
This patch doesn't normalize the path to hostile files as the one
relative to CWD (or the root of the outer most repository), to fix the
problem in the simple way suitable for "stable".
Normalizing should be done in the future: maybe as a part of the
migration to vfs.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 08 May 2014 19:03:00 +0900 |
parents | 405b6bd015df |
children | c63a09b6b337 |
rev | line source |
---|---|
12143
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
1 $ hg init |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
2 |
15522
cf0f3cb8a332
tests: don't use stdout redirection for test data
Mads Kiilerich <mads@kiilerich.com>
parents:
12942
diff
changeset
|
3 $ python -c 'file("a", "wb").write("confuse str.splitlines\nembedded\rnewline\n")' |
12143
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
4 $ hg ci -Ama -d '1 0' |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
5 adding a |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
6 |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
7 $ echo clean diff >> a |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
8 $ hg ci -mb -d '2 0' |
2248
b914f0557832
fix diffs containing embedded "\r".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
9 |
12143
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
10 $ hg diff -r0 -r1 |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
11 diff -r 107ba6f817b5 -r 310ce7989cdc a |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
12 --- a/a Thu Jan 01 00:00:01 1970 +0000 |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
13 +++ b/a Thu Jan 01 00:00:02 1970 +0000 |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
14 @@ -1,2 +1,3 @@ |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
15 confuse str.splitlines |
17742
405b6bd015df
run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents:
15522
diff
changeset
|
16 embedded\r (no-eol) (esc) |
405b6bd015df
run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents:
15522
diff
changeset
|
17 newline |
12143
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
18 +clean diff |
bf840a3d1af2
tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents:
2248
diff
changeset
|
19 |