Mercurial > hg
annotate tests/test-diff-change.t @ 13826:e574207e3bcd
url: refactor util.drop_scheme() and hg.localpath() into url.localpath()
This replaces util.drop_scheme() with url.localpath(), using url.url for
parsing instead of doing it on its own. The function is moved from
util to url to avoid an import cycle.
hg.localpath() is removed in favor of using url.localpath(). This
provides more consistent behavior between "hg clone" and other
commands.
To preserve backwards compatibility, URLs like bundle://../foo still
refer to ../foo, not /foo.
If a URL contains a scheme, percent-encoded entities are decoded. When
there's no scheme, all characters are left untouched.
Comparison of old and new behaviors:
URL drop_scheme() hg.localpath() url.localpath()
=== ============= ============== ===============
file://foo/foo /foo foo/foo /foo
file://localhost:80/foo /foo localhost:80/foo /foo
file://localhost:/foo /foo localhost:/foo /foo
file://localhost/foo /foo /foo /foo
file:///foo /foo /foo /foo
file://foo (empty string) foo /
file:/foo /foo /foo /foo
file:foo foo foo foo
file:foo%23bar foo%23bar foo%23bar foo#bar
foo%23bar foo%23bar foo%23bar foo%23bar
/foo /foo /foo /foo
Windows-related paths on Windows:
URL drop_scheme() hg.localpath() url.localpath()
=== ============= ============== ===============
file:///C:/foo C:/C:/foo /C:/foo C:/foo
file:///D:/foo C:/D:/foo /D:/foo D:/foo
file://C:/foo C:/foo C:/foo C:/foo
file://D:/foo C:/foo D:/foo D:/foo
file:////foo/bar //foo/bar //foo/bar //foo/bar
//foo/bar //foo/bar //foo/bar //foo/bar
\\foo\bar //foo/bar //foo/bar \\foo\bar
Windows-related paths on other platforms:
file:///C:/foo C:/C:/foo /C:/foo C:/foo
file:///D:/foo C:/D:/foo /D:/foo D:/foo
file://C:/foo C:/foo C:/foo C:/foo
file://D:/foo C:/foo D:/foo D:/foo
file:////foo/bar //foo/bar //foo/bar //foo/bar
//foo/bar //foo/bar //foo/bar //foo/bar
\\foo\bar //foo/bar //foo/bar \\foo\bar
For more information about file:// URL handling, see:
http://www-archive.mozilla.org/quality/networking/testing/filetests.html
Related issues:
- issue1153: File URIs aren't handled correctly in windows
This patch should preserve the fix implemented in
2770d03ae49f. However, it goes a step further and "promotes"
Windows-style drive letters from being interpreted as host names to
being part of the path.
- issue2154: Cannot escape '#' in Mercurial URLs (#1172 in THG)
The fragment is still interpreted as a revision or a branch, even in
paths to bundles. However, when file: is used, percent-encoded
entities are decoded, so file:test%23bundle.hg can refer to
test#bundle.hg ond isk.
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Wed, 30 Mar 2011 20:03:05 -0700 |
parents | 30b5e83004e0 |
children | 4fe874697a4d |
rev | line source |
---|---|
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
1 Testing diff --change |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
2 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
3 $ hg init a |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
4 $ cd a |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
5 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
6 $ echo "first" > file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
7 $ hg add file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
8 $ hg commit -m 'first commit' # 0 |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
9 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
10 $ echo "second" > file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
11 $ hg commit -m 'second commit' # 1 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
12 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
13 $ echo "third" > file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
14 $ hg commit -m 'third commit' # 2 |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
15 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
16 $ hg diff --nodates --change 1 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
17 diff -r 4bb65dda5db4 -r e9b286083166 file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
18 --- a/file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
19 +++ b/file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
20 @@ -1,1 +1,1 @@ |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
21 -first |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
22 +second |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
23 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
24 $ hg diff --change e9b286083166 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
25 diff -r 4bb65dda5db4 -r e9b286083166 file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
26 --- a/file.txt Thu Jan 01 00:00:00 1970 +0000 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
27 +++ b/file.txt Thu Jan 01 00:00:00 1970 +0000 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
28 @@ -1,1 +1,1 @@ |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
29 -first |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
30 +second |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
31 |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
32 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
33 Testing diff --change when merge: |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
34 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
35 $ for i in 1 2 3 4 5 6 7 8 9 10; do |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
36 $ echo $i >> file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
37 $ done |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
38 $ hg commit -m "lots of text" # 3 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
39 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
40 $ sed -e 's,^2$,x,' file.txt > file.txt.tmp |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
41 $ mv file.txt.tmp file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
42 $ hg commit -m "change 2 to x" # 4 |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
43 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
44 $ hg up -r 3 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
45 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
46 $ sed -e 's,^8$,y,' file.txt > file.txt.tmp |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
47 $ mv file.txt.tmp file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
48 $ hg commit -m "change 8 to y" |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
49 created new head |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
50 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
51 $ hg up -C -r 4 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
52 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
53 $ hg merge -r 5 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
54 merging file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
55 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
56 (branch merge, don't forget to commit) |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
57 $ hg commit -m "merge 8 to y" # 6 |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
58 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
59 $ hg diff --change 5 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
60 diff -r ae119d680c82 -r 9085c5c02e52 file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
61 --- a/file.txt Thu Jan 01 00:00:00 1970 +0000 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
62 +++ b/file.txt Thu Jan 01 00:00:00 1970 +0000 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
63 @@ -6,6 +6,6 @@ |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
64 5 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
65 6 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
66 7 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
67 -8 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
68 +y |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
69 9 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
70 10 |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
71 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
72 must be similar to 'hg diff --change 5': |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
73 |
12136
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
74 $ hg diff -c 6 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
75 diff -r 273b50f17c6d -r 979ca961fd2e file.txt |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
76 --- a/file.txt Thu Jan 01 00:00:00 1970 +0000 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
77 +++ b/file.txt Thu Jan 01 00:00:00 1970 +0000 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
78 @@ -6,6 +6,6 @@ |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
79 5 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
80 6 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
81 7 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
82 -8 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
83 +y |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
84 9 |
30b5e83004e0
tests: unify test-diff-change
Adrian Buehlmann <adrian@cadifra.com>
parents:
7680
diff
changeset
|
85 10 |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
diff
changeset
|
86 |