##// END OF EJS Templates
revert: use an exact matcher in interactive diff selection (issue5789)...
Denis Laxalde -
r36212:39b3aab6 default
parent child Browse files
Show More
@@ -2903,7 +2903,6 def _performrevert(repo, parents, ctx, a
2903 parent, p2 = parents
2903 parent, p2 = parents
2904 node = ctx.node()
2904 node = ctx.node()
2905 excluded_files = []
2905 excluded_files = []
2906 matcher_opts = {"exclude": excluded_files}
2907
2906
2908 def checkout(f):
2907 def checkout(f):
2909 fc = ctx[f]
2908 fc = ctx[f]
@@ -2924,7 +2923,7 def _performrevert(repo, parents, ctx, a
2924 if choice == 0:
2923 if choice == 0:
2925 repo.dirstate.drop(f)
2924 repo.dirstate.drop(f)
2926 else:
2925 else:
2927 excluded_files.append(repo.wjoin(f))
2926 excluded_files.append(f)
2928 else:
2927 else:
2929 repo.dirstate.drop(f)
2928 repo.dirstate.drop(f)
2930 for f in actions['remove'][0]:
2929 for f in actions['remove'][0]:
@@ -2935,7 +2934,7 def _performrevert(repo, parents, ctx, a
2935 if choice == 0:
2934 if choice == 0:
2936 doremove(f)
2935 doremove(f)
2937 else:
2936 else:
2938 excluded_files.append(repo.wjoin(f))
2937 excluded_files.append(f)
2939 else:
2938 else:
2940 doremove(f)
2939 doremove(f)
2941 for f in actions['drop'][0]:
2940 for f in actions['drop'][0]:
@@ -2955,8 +2954,8 def _performrevert(repo, parents, ctx, a
2955 newlyaddedandmodifiedfiles = set()
2954 newlyaddedandmodifiedfiles = set()
2956 if interactive:
2955 if interactive:
2957 # Prompt the user for changes to revert
2956 # Prompt the user for changes to revert
2958 torevert = [repo.wjoin(f) for f in actions['revert'][0]]
2957 torevert = [f for f in actions['revert'][0] if f not in excluded_files]
2959 m = scmutil.match(ctx, torevert, matcher_opts)
2958 m = scmutil.matchfiles(repo, torevert)
2960 diffopts = patch.difffeatureopts(repo.ui, whitespace=True)
2959 diffopts = patch.difffeatureopts(repo.ui, whitespace=True)
2961 diffopts.nodates = True
2960 diffopts.nodates = True
2962 diffopts.git = True
2961 diffopts.git = True
@@ -428,9 +428,5 When specified pattern does not exist, w
428 b: no such file in rev b40d1912accf
428 b: no such file in rev b40d1912accf
429 $ hg rev -i b
429 $ hg rev -i b
430 b: no such file in rev b40d1912accf
430 b: no such file in rev b40d1912accf
431 diff --git a/a b/a
432 1 hunks, 1 lines changed
433 examine changes to 'a'? [Ynesfdaq?] abort: response expected
434 [255]
435
431
436 $ cd ..
432 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now