Mercurial > hg
comparison tests/test-fileset-generated.t @ 24438:5b85a5bc5bbb
revert: evaluate filesets against working directory (issue4497)
As the failing revert tests in test-fileset-generated.t show,
Revert currently creates one matcher for matching files in the working
copy and another matcher for matching files in the target
revision. The two matchers are created with different contexts, which
means filesets are evaluated differently. Then the union of the sets
of files matching the matchers in the two contexts are reverted. It
doesn't seem to make sense to use two different matchers; only the
context they're applied to should be different.
It seems very likely that the user wants the filesets to be evaluated
against the working directory, which the tests
test-fileset-generated.t also assume, so let's make it so.
I willingly admit that the largefiles code was modified by trial and
error (according to tests).
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 23 Mar 2015 23:04:51 -0700 |
parents | caff3675cba5 |
children | 2553ef7355ab |
comparison
equal
deleted
inserted
replaced
24437:2703eb73a3af | 24438:5b85a5bc5bbb |
---|---|
139 content1_content2_content2-tracked | 1 + | 139 content1_content2_content2-tracked | 1 + |
140 2 files changed, 2 insertions(+), 0 deletions(-) | 140 2 files changed, 2 insertions(+), 0 deletions(-) |
141 | 141 |
142 Test revert | 142 Test revert |
143 | 143 |
144 BROKEN: the files that get undeleted were not modified, they were removed, | |
145 and content1_content2_missing-tracked was also not modified, it was deleted | |
146 | |
147 $ hg revert 'set:modified()' | 144 $ hg revert 'set:modified()' |
148 reverting content1_content1_content3-tracked | 145 reverting content1_content1_content3-tracked |
149 reverting content1_content2_content1-tracked | 146 reverting content1_content2_content1-tracked |
150 undeleting content1_content2_content1-untracked | |
151 undeleting content1_content2_content2-untracked | |
152 reverting content1_content2_content3-tracked | 147 reverting content1_content2_content3-tracked |
153 undeleting content1_content2_content3-untracked | |
154 reverting content1_content2_missing-tracked | |
155 undeleting content1_content2_missing-untracked | |
156 reverting missing_content2_content3-tracked | 148 reverting missing_content2_content3-tracked |
157 | |
158 BROKEN: only the files that get forgotten are correct | |
159 | 149 |
160 $ hg revert 'set:added()' | 150 $ hg revert 'set:added()' |
161 forgetting content1_missing_content1-tracked | 151 forgetting content1_missing_content1-tracked |
162 forgetting content1_missing_content3-tracked | 152 forgetting content1_missing_content3-tracked |
163 undeleting missing_content2_content2-untracked | |
164 undeleting missing_content2_content3-untracked | |
165 reverting missing_content2_missing-tracked | |
166 undeleting missing_content2_missing-untracked | |
167 forgetting missing_missing_content3-tracked | 153 forgetting missing_missing_content3-tracked |
168 | 154 |
169 $ hg revert 'set:removed()' | 155 $ hg revert 'set:removed()' |
170 undeleting content1_content1_content1-untracked | 156 undeleting content1_content1_content1-untracked |
171 undeleting content1_content1_content3-untracked | 157 undeleting content1_content1_content3-untracked |
172 undeleting content1_content1_missing-untracked | 158 undeleting content1_content1_missing-untracked |
159 undeleting content1_content2_content1-untracked | |
160 undeleting content1_content2_content2-untracked | |
161 undeleting content1_content2_content3-untracked | |
162 undeleting content1_content2_missing-untracked | |
163 undeleting missing_content2_content2-untracked | |
164 undeleting missing_content2_content3-untracked | |
165 undeleting missing_content2_missing-untracked | |
173 | 166 |
174 $ hg revert 'set:deleted()' | 167 $ hg revert 'set:deleted()' |
175 reverting content1_content1_missing-tracked | 168 reverting content1_content1_missing-tracked |
169 reverting content1_content2_missing-tracked | |
176 forgetting content1_missing_missing-tracked | 170 forgetting content1_missing_missing-tracked |
171 reverting missing_content2_missing-tracked | |
177 forgetting missing_missing_missing-tracked | 172 forgetting missing_missing_missing-tracked |
178 | 173 |
179 $ hg revert 'set:unknown()' | 174 $ hg revert 'set:unknown()' |
180 | 175 |
181 $ hg revert 'set:clean()' | 176 $ hg revert 'set:clean()' |