##// END OF EJS Templates
revert: prompt before removing files in interactive mode...
Denis Laxalde -
r30532:66b162fa default
parent child Browse files
Show More
@@ -3167,6 +3167,13 b' def _performrevert(repo, parents, ctx, a'
3167 fc = ctx[f]
3167 fc = ctx[f]
3168 repo.wwrite(f, fc.data(), fc.flags())
3168 repo.wwrite(f, fc.data(), fc.flags())
3169
3169
3170 def doremove(f):
3171 try:
3172 util.unlinkpath(repo.wjoin(f))
3173 except OSError:
3174 pass
3175 repo.dirstate.remove(f)
3176
3170 audit_path = pathutil.pathauditor(repo.root)
3177 audit_path = pathutil.pathauditor(repo.root)
3171 for f in actions['forget'][0]:
3178 for f in actions['forget'][0]:
3172 if interactive:
3179 if interactive:
@@ -3180,11 +3187,15 b' def _performrevert(repo, parents, ctx, a'
3180 repo.dirstate.drop(f)
3187 repo.dirstate.drop(f)
3181 for f in actions['remove'][0]:
3188 for f in actions['remove'][0]:
3182 audit_path(f)
3189 audit_path(f)
3183 try:
3190 if interactive:
3184 util.unlinkpath(repo.wjoin(f))
3191 choice = repo.ui.promptchoice(
3185 except OSError:
3192 _("remove added file %s (Yn)?$$ &Yes $$ &No") % f)
3186 pass
3193 if choice == 0:
3187 repo.dirstate.remove(f)
3194 doremove(f)
3195 else:
3196 excluded_files.append(repo.wjoin(f))
3197 else:
3198 doremove(f)
3188 for f in actions['drop'][0]:
3199 for f in actions['drop'][0]:
3189 audit_path(f)
3200 audit_path(f)
3190 repo.dirstate.remove(f)
3201 repo.dirstate.remove(f)
@@ -46,6 +46,7 b' 10 run the same test than 8 from within '
46 > y
46 > y
47 > y
47 > y
48 > y
48 > y
49 > y
49 > n
50 > n
50 > n
51 > n
51 > EOF
52 > EOF
@@ -53,6 +54,7 b' 10 run the same test than 8 from within '
53 reverting folder1/g (glob)
54 reverting folder1/g (glob)
54 removing folder1/i (glob)
55 removing folder1/i (glob)
55 reverting folder2/h (glob)
56 reverting folder2/h (glob)
57 remove added file folder1/i (Yn)? y
56 diff --git a/f b/f
58 diff --git a/f b/f
57 2 hunks, 2 lines changed
59 2 hunks, 2 lines changed
58 examine changes to 'f'? [Ynesfdaq?] y
60 examine changes to 'f'? [Ynesfdaq?] y
@@ -174,6 +176,7 b' Test --no-backup'
174 $ hg update -C 6
176 $ hg update -C 6
175 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
177 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
176 $ hg revert -i -r 2 --all -- << EOF
178 $ hg revert -i -r 2 --all -- << EOF
179 > n
177 > y
180 > y
178 > y
181 > y
179 > y
182 > y
@@ -186,6 +189,7 b' Test --no-backup'
186 reverting folder1/g (glob)
189 reverting folder1/g (glob)
187 removing folder1/i (glob)
190 removing folder1/i (glob)
188 reverting folder2/h (glob)
191 reverting folder2/h (glob)
192 remove added file folder1/i (Yn)? n
189 diff --git a/f b/f
193 diff --git a/f b/f
190 2 hunks, 2 lines changed
194 2 hunks, 2 lines changed
191 examine changes to 'f'? [Ynesfdaq?] y
195 examine changes to 'f'? [Ynesfdaq?] y
@@ -258,7 +262,6 b' Test --no-backup'
258 $ hg st
262 $ hg st
259 M f
263 M f
260 M folder1/g
264 M folder1/g
261 R folder1/i
262 $ hg revert --interactive f << EOF
265 $ hg revert --interactive f << EOF
263 > y
266 > y
264 > y
267 > y
@@ -290,7 +293,6 b' Test --no-backup'
290 $ hg st
293 $ hg st
291 M f
294 M f
292 M folder1/g
295 M folder1/g
293 R folder1/i
294 ? f.orig
296 ? f.orig
295 $ cat f
297 $ cat f
296 a
298 a
@@ -307,7 +309,7 b' Test --no-backup'
307 5
309 5
308 $ rm f.orig
310 $ rm f.orig
309 $ hg update -C .
311 $ hg update -C .
310 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
312 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
311
313
312 Check editing files newly added by a revert
314 Check editing files newly added by a revert
313
315
General Comments 0
You need to be logged in to leave comments. Login now