Mercurial > hg
annotate tests/test-eol-clone.t @ 46758:7f6c002d7c0a
split: close transaction in the unlikely event of a conflict while rebasing
`hg split` *should* never result in conflicts, but in case there are
bugs, we should at least commit the transaction so they can continue
the rebase. One of our users ran into the regression fixed by
D10120. They fixed the conflict and the tried to continue the rebase,
but it failed with "abort: cannot continue inconsistent rebase"
because the rebase state referred to commits written in a transaction
that was never committed.
Side note: `hg split` should probably turn off copy tracing to reduce
the impact of such bugs, and to speed it up as well. Copies made in
the rebased commits should still be respected because `hg rebase`
calls `copies.graftcopies()`.
Differential Revision: https://phab.mercurial-scm.org/D10164
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 12 Mar 2021 09:15:40 -0800 |
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 .. |