Show More
@@ -817,17 +817,26 b' def _makematcher(repo, revs, wopts):' | |||||
817 | # There may be the case that a path doesn't exist in some (but |
|
817 | # There may be the case that a path doesn't exist in some (but | |
818 | # not all) of the specified start revisions, but let's consider |
|
818 | # not all) of the specified start revisions, but let's consider | |
819 | # the path is valid. Missing files will be warned by the matcher. |
|
819 | # the path is valid. Missing files will be warned by the matcher. | |
820 | startctxs = [repo[r] for r in revs] |
|
820 | all_files = list(match.files()) | |
821 | for f in match.files(): |
|
821 | missing_files = set(all_files) | |
822 |
|
|
822 | files = all_files | |
823 |
|
|
823 | for r in revs: | |
824 |
|
|
824 | if not files: | |
825 | found = True |
|
825 | # We don't have any file to check anymore. | |
826 |
|
|
826 | break | |
|
827 | ctx = repo[r] | |||
|
828 | for f in files: | |||
|
829 | if f in ctx: | |||
|
830 | missing_files.discard(f) | |||
|
831 | elif ctx.hasdir(f): | |||
827 | # If a directory exists in any of the start revisions, |
|
832 | # If a directory exists in any of the start revisions, | |
828 | # take the slow path. |
|
833 | # take the slow path. | |
829 |
|
|
834 | missing_files.discard(f) | |
830 |
|
|
835 | slowpath = True | |
|
836 | # we found on slow path, no need to search for more. | |||
|
837 | files = missing_files | |||
|
838 | for f in all_files: | |||
|
839 | if f in missing_files: | |||
831 | raise error.StateError( |
|
840 | raise error.StateError( | |
832 | _( |
|
841 | _( | |
833 | b'cannot follow file not in any of the specified ' |
|
842 | b'cannot follow file not in any of the specified ' |
General Comments 0
You need to be logged in to leave comments.
Login now