annotate tests/test-sparse-merges.t @ 39544:9db856446298

sparse: add local files to temporaryfiles if they exist out of sparse We get the f1 from args if it's merge and check that whether that exists in sparse checkout or not. If that does not, we add that for merging. The error comes from very low-level where we try to read data of a working-filectx which does not exists in the working directory. It will be extremely ugly to plug in logic to update sparse copy with new file at such a low level. We already have logic related to updating the checkout with required files in calculateupdates() and let's handle this case there only. calculateupdates() call sparse.filterupdatesactions() and the logic is added into the latter function. To get the exact traceback, this patch can be backed out and test-sparse-merges.t can be run with ui.traceback=True. Differential Revision: https://phab.mercurial-scm.org/D4341
author Pulkit Goyal <pulkit@yandex-team.ru>
date Tue, 21 Aug 2018 16:11:17 +0300
parents c6eb2118f44f
children 4764e8436b2a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33289
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
1 test merging things outside of the sparse checkout
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
2
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
3 $ hg init myrepo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
4 $ cd myrepo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
5 $ cat > .hg/hgrc <<EOF
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
6 > [extensions]
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
7 > sparse=
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
8 > EOF
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
9
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
10 $ echo foo > foo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
11 $ echo bar > bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
12 $ hg add foo bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
13 $ hg commit -m initial
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
14
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
15 $ hg branch feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
16 marked working directory as branch feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
17 (branches are permanent and global, did you want a bookmark?)
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
18 $ echo bar2 >> bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
19 $ hg commit -m 'feature - bar2'
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
20
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
21 $ hg update -q default
33293
c9cbf4de27ba sparse: rename command to debugsparse
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33289
diff changeset
22 $ hg debugsparse --exclude 'bar**'
33289
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
23
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
24 $ hg merge feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
25 temporarily included 1 file(s) in the sparse checkout for merging
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
26 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
27 (branch merge, don't forget to commit)
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
28
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
29 Verify bar was merged temporarily
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
30
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
31 $ ls
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
32 bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
33 foo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
34 $ hg status
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
35 M bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
36
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
37 Verify bar disappears automatically when the working copy becomes clean
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
38
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
39 $ hg commit -m "merged"
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
40 cleaned up 1 temporarily added file(s) from the sparse checkout
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
41 $ hg status
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
42 $ ls
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
43 foo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
44
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
45 $ hg cat -r . bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
46 bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
47 bar2
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
48
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
49 Test merging things outside of the sparse checkout that are not in the working
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
50 copy
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
51
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
52 $ hg strip -q -r . --config extensions.strip=
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
53 $ hg up -q feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
54 $ touch branchonly
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
55 $ hg ci -Aqm 'add branchonly'
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
56
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
57 $ hg up -q default
33293
c9cbf4de27ba sparse: rename command to debugsparse
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33289
diff changeset
58 $ hg debugsparse -X branchonly
33289
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
59 $ hg merge feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
60 temporarily included 2 file(s) in the sparse checkout for merging
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
61 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
62 (branch merge, don't forget to commit)
38756
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
63
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
64 $ cd ..
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
65
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
66 Tests merging a file which is modified in one branch and deleted in another and
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
67 file is excluded from sparse checkout
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
68
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
69 $ hg init ytest
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
70 $ cd ytest
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
71 $ echo "syntax: glob" >> .hgignore
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
72 $ echo "*.orig" >> .hgignore
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
73 $ hg ci -Aqm "added .hgignore"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
74 $ for ch in a d; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
75 $ cat >> .hg/hgrc <<EOF
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
76 > [alias]
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
77 > glog = log -GT "{rev}:{node|short} {desc}"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
78 > [extensions]
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
79 > sparse =
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
80 > EOF
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
81
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
82 $ hg glog
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
83 @ 2:f29feff37cfc added d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
84 |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
85 o 1:617125d27d6b added a
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
86 |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
87 o 0:53f3774ed939 added .hgignore
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
88
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
89 $ hg rm d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
90 $ hg ci -m "removed d"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
91
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
92 $ hg up '.^'
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
93 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
94 $ hg debugsparse --reset
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
95 $ echo bar >> d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
96 $ hg ci -Am "added bar to d"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
97 created new head
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
98
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
99 $ hg glog
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
100 @ 4:6527874a90e4 added bar to d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
101 |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
102 | o 3:372c8558de45 removed d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
103 |/
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
104 o 2:f29feff37cfc added d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
105 |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
106 o 1:617125d27d6b added a
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
107 |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
108 o 0:53f3774ed939 added .hgignore
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
109
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
110 $ hg debugsparse --exclude "d"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
111 $ ls
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
112 a
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
113
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
114 $ hg merge
38757
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
115 temporarily included 1 file(s) in the sparse checkout for merging
39312
a3fd84f4fb38 filemerge: fix the wrong placements of messages in prompt
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39311
diff changeset
116 file 'd' was deleted in other [merge rev] but was modified in local [working copy].
39304
f785073f792c merge: improve interactive one-changed one-deleted message (issue5550)
Augie Fackler <augie@google.com>
parents: 38757
diff changeset
117 What do you want to do?
38757
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
118 use (c)hanged version, (d)elete, or leave (u)nresolved? u
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
119 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
120 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
121 [1]
39543
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
122
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
123 $ cd ..
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
124
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
125 Testing merging of a file which is renamed+modified on one side and modified on
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
126 another
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
127
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
128 $ hg init mvtest
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
129 $ cd mvtest
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
130 $ echo "syntax: glob" >> .hgignore
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
131 $ echo "*.orig" >> .hgignore
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
132 $ hg ci -Aqm "added .hgignore"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
133 $ for ch in a d; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
134 $ cat >> .hg/hgrc <<EOF
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
135 > [alias]
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
136 > glog = log -GT "{rev}:{node|short} {desc}"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
137 > [extensions]
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
138 > sparse =
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
139 > EOF
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
140
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
141 $ hg glog
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
142 @ 2:f29feff37cfc added d
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
143 |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
144 o 1:617125d27d6b added a
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
145 |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
146 o 0:53f3774ed939 added .hgignore
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
147
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
148 $ echo babar >> a
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
149 $ hg ci -m "added babar to a"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
150
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
151 $ hg up '.^'
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
152 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
153 $ hg mv a amove
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
154 $ hg ci -m "moved a to amove"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
155 created new head
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
156
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
157 $ hg up 3
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
158 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
159 $ hg glog
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
160 o 4:5d1e85955f6d moved a to amove
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
161 |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
162 | @ 3:a06e41a6c16c added babar to a
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
163 |/
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
164 o 2:f29feff37cfc added d
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
165 |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
166 o 1:617125d27d6b added a
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
167 |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
168 o 0:53f3774ed939 added .hgignore
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
169
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
170 $ hg debugsparse --exclude "a"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
171 $ ls
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
172 d
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
173
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
174 $ hg merge
39544
9db856446298 sparse: add local files to temporaryfiles if they exist out of sparse
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39543
diff changeset
175 temporarily included 1 file(s) in the sparse checkout for merging
9db856446298 sparse: add local files to temporaryfiles if they exist out of sparse
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39543
diff changeset
176 merging a and amove to amove
9db856446298 sparse: add local files to temporaryfiles if they exist out of sparse
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39543
diff changeset
177 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
9db856446298 sparse: add local files to temporaryfiles if they exist out of sparse
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39543
diff changeset
178 (branch merge, don't forget to commit)
39543
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
179
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
180 $ hg up -C 4
39544
9db856446298 sparse: add local files to temporaryfiles if they exist out of sparse
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39543
diff changeset
181 cleaned up 1 temporarily added file(s) from the sparse checkout
39543
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
182 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
183
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
184 $ hg merge
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
185 merging amove and a to amove
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
186 abort: cannot add 'a' - it is outside the sparse checkout
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
187 (include file with `hg debugsparse --include <pattern>` or use `hg add -s <file>` to include file directory while adding)
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39312
diff changeset
188 [255]