Mercurial > hg
annotate tests/test-eol-clone.t @ 50366:a445194f0a4d stable
backup: fix issue when the backup end up in a different directory
Because of store encoding, we might end up with the backup in a different
directory than the initial copy (for example if the backup path make it cross
the 120 char limit).
This can create crash, especially since 6.4 where backup are used during revlog
split.
Making sure the directory exists fixes these crash We added a test covering this
case.
Strictly speaking, this has always been broken, however the new code in 6.4
triggers it more easily.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 03 May 2023 00:16:38 +0200 |
parents | 95a615dd77bf |
children | dcaa2df1f688 |
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 |
43207
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
24 Test commit of removed .hgeol and how it immediately makes the automatic |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
25 changes explicit and committable. |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
26 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
27 $ cd .. |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
28 $ hg clone repo repo-2 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
29 updating to branch default |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
30 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
|
31 $ cd repo-2 |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
32 $ cat a.txt |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
33 first\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
34 second\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
35 third\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
36 $ hg cat a.txt |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
37 first |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
38 second |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
39 third |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
40 $ hg remove .hgeol |
43206
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
41 $ touch a.txt * # ensure consistent st dirtyness checks, ignoring dirstate timing |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
42 $ hg st -v --debug |
43207
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
43 M a.txt |
43206
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
44 R .hgeol |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
45 $ hg commit -m 'remove eol' |
43206
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
46 $ hg exp |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
47 # HG changeset patch |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
48 # User test |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
49 # Date 0 0 |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
50 # Thu Jan 01 00:00:00 1970 +0000 |
43207
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
51 # Node ID 3c20c2d90333b6ecdc8f7aa8f9b73223c7c7a608 |
43206
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
52 # Parent 90f94e2cf4e24628afddd641688dfe4cd476d6e4 |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
53 remove eol |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
54 |
43207
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
55 diff -r 90f94e2cf4e2 -r 3c20c2d90333 .hgeol |
43206
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
56 --- a/.hgeol Thu Jan 01 00:00:00 1970 +0000 |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
57 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
58 @@ -1,2 +0,0 @@ |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
59 -[patterns] |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
60 -**.txt = native |
43207
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
61 diff -r 90f94e2cf4e2 -r 3c20c2d90333 a.txt |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
62 --- a/a.txt Thu Jan 01 00:00:00 1970 +0000 |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
63 +++ b/a.txt Thu Jan 01 00:00:00 1970 +0000 |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
64 @@ -1,3 +1,3 @@ |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
65 -first |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
66 -second |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
67 -third |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
68 +first\r (esc) |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
69 +second\r (esc) |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
70 +third\r (esc) |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
71 $ hg push --quiet |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
72 $ cd .. |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
73 |
43206
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
74 Test clone of repo with .hgeol in working dir, but no .hgeol in default |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
75 checkout revision tip. The repo is correctly updated to be consistent and have |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
76 the exact content checked out without filtering, ignoring the current .hgeol in |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
77 the source repo: |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
78 |
43206
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
79 $ cat repo/.hgeol |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
80 [patterns] |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
81 **.txt = native |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
82 $ hg clone repo repo-3 -v --debug |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
83 linked 7 files |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
84 updating to branch default |
43206
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
85 resolving manifests |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
86 branchmerge: False, force: False, partial: False |
43207
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
87 ancestor: 000000000000, local: 000000000000+, remote: 3c20c2d90333 |
43206
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
88 calling hook preupdate.eol: hgext.eol.preupdate |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
89 a.txt: remote created -> g |
7699d9237a67
eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents:
34661
diff
changeset
|
90 getting a.txt |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
91 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
46314
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43207
diff
changeset
|
92 updating the branch cache |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
93 $ cd repo-3 |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
94 |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
95 $ cat a.txt |
43207
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
96 first\r (esc) |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
97 second\r (esc) |
4aa9f3a1c1df
eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents:
43206
diff
changeset
|
98 third\r (esc) |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
99 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
100 Test clone of revision with .hgeol |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
101 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
102 $ cd .. |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
103 $ hg clone -r 0 repo repo-4 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
104 adding changesets |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
105 adding manifests |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
106 adding file changes |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
107 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
|
108 new changesets 90f94e2cf4e2 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
109 updating to branch default |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
110 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
|
111 $ cd repo-4 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
112 $ cat .hgeol |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
113 [patterns] |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
114 **.txt = native |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
115 |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
116 $ cat a.txt |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
117 first\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
118 second\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
119 third\r (esc) |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13521
diff
changeset
|
120 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13521
diff
changeset
|
121 $ cd .. |