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()'