Mercurial > hg
annotate tests/test-eol-clone.t @ 35816:f6ca1e11d8b4 stable
revset: evaluate filesets against each revision for 'file()' (issue5778)
After f2aeff8a87b6, the fileset was evaluated to a set of files against the
working directory, and then those files were applied against each revision. The
result was nonsense. For example, `hg log -r 'file("set:exec()")'` on the
Mercurial repo listed revision 0 because it has the `hg` script, which is
currently +x. But that bit wasn't applied until revision 280 (which
'contains()' properly indicates).
This technique was borrowed from checkstatus(), which services adds(),
modifies(), and removes(), so it seems safe enough. The 'r:' case is explicitly
assigned to wdirrev, freeing up rev=None to mean "re-evaluate at each revision".
The distinction is important to avoid behavior changes with `hg log set:...`
(test-largefiles-misc.t and test-fileset-generated.t drop current log output
without this). I'm not sure what the right behavior for that is (1fd352aa08fc
explicitly enabled this behavior for graphlog), but the day before the release
isn't the time to experiment.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 28 Jan 2018 14:08:59 -0500 |
parents | eb586ed5d8ce |
children | 7699d9237a67 |
rev | line source |
---|---|
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
1 Testing cloning with the EOL extension |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
2 |
13519
43b3b761d9d1
tests: don't overwrite HGRCPATH
Martin Geisler <mg@aragost.com>
parents:
12943
diff
changeset
|
3 $ cat >> $HGRCPATH <<EOF |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
4 > [extensions] |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
5 > eol = |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
6 > |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
7 > [eol] |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
8 > native = CRLF |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
9 > EOF |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
10 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
11 setup repository |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
12 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
13 $ hg init repo |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
14 $ cd repo |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
15 $ cat > .hgeol <<EOF |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
16 > [patterns] |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
17 > **.txt = native |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
18 > EOF |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
19 $ printf "first\r\nsecond\r\nthird\r\n" > a.txt |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
20 $ hg commit --addremove -m 'checkin' |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
21 adding .hgeol |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
22 adding a.txt |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
23 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
24 Clone |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
25 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
26 $ cd .. |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
27 $ hg clone repo repo-2 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
28 updating to branch default |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
29 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
30 $ cd repo-2 |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
31 $ cat a.txt |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
32 first\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
33 second\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
34 third\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
35 $ hg cat a.txt |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
36 first |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
37 second |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
38 third |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
39 $ hg remove .hgeol |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
40 $ hg commit -m 'remove eol' |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
41 $ hg push --quiet |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
42 $ cd .. |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
43 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
44 Test clone of repo with .hgeol in working dir, but no .hgeol in tip |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
45 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
46 $ hg clone repo repo-3 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
47 updating to branch default |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
48 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
49 $ cd repo-3 |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
50 |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
51 $ cat a.txt |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
52 first |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
53 second |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
54 third |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
55 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
56 Test clone of revision with .hgeol |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
57 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
58 $ cd .. |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
59 $ hg clone -r 0 repo repo-4 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
60 adding changesets |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
61 adding manifests |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
62 adding file changes |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
63 added 1 changesets with 2 changes to 2 files |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
16913
diff
changeset
|
64 new changesets 90f94e2cf4e2 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
65 updating to branch default |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
66 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
67 $ cd repo-4 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
68 $ cat .hgeol |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
69 [patterns] |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
70 **.txt = native |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
71 |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
72 $ cat a.txt |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
73 first\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
74 second\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
75 third\r (esc) |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13521
diff
changeset
|
76 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13521
diff
changeset
|
77 $ cd .. |