equal
deleted
inserted
replaced
687 if not revspec and revspec != 0: |
687 if not revspec and revspec != 0: |
688 return repo[default] |
688 return repo[default] |
689 |
689 |
690 l = revrange(repo, [revspec], localalias=localalias) |
690 l = revrange(repo, [revspec], localalias=localalias) |
691 if not l: |
691 if not l: |
692 raise error.Abort(_(b'empty revision set')) |
692 raise error.InputError(_(b'empty revision set')) |
693 return repo[l.last()] |
693 return repo[l.last()] |
694 |
694 |
695 |
695 |
696 def _pairspec(revspec): |
696 def _pairspec(revspec): |
697 tree = revsetlang.parse(revspec) |
697 tree = revsetlang.parse(revspec) |
708 return repo[b'.'], repo[None] |
708 return repo[b'.'], repo[None] |
709 |
709 |
710 l = revrange(repo, revs) |
710 l = revrange(repo, revs) |
711 |
711 |
712 if not l: |
712 if not l: |
713 raise error.Abort(_(b'empty revision range')) |
713 raise error.InputError(_(b'empty revision range')) |
714 |
714 |
715 first = l.first() |
715 first = l.first() |
716 second = l.last() |
716 second = l.last() |
717 |
717 |
718 if ( |
718 if ( |
719 first == second |
719 first == second |
720 and len(revs) >= 2 |
720 and len(revs) >= 2 |
721 and not all(revrange(repo, [r]) for r in revs) |
721 and not all(revrange(repo, [r]) for r in revs) |
722 ): |
722 ): |
723 raise error.Abort(_(b'empty revision on one side of range')) |
723 raise error.InputError(_(b'empty revision on one side of range')) |
724 |
724 |
725 # if top-level is range expression, the result must always be a pair |
725 # if top-level is range expression, the result must always be a pair |
726 if first == second and len(revs) == 1 and not _pairspec(revs[0]): |
726 if first == second and len(revs) == 1 and not _pairspec(revs[0]): |
727 return repo[first], repo[None] |
727 return repo[first], repo[None] |
728 |
728 |
1209 m = matcher |
1209 m = matcher |
1210 dry_run = opts.get(b'dry_run') |
1210 dry_run = opts.get(b'dry_run') |
1211 try: |
1211 try: |
1212 similarity = float(opts.get(b'similarity') or 0) |
1212 similarity = float(opts.get(b'similarity') or 0) |
1213 except ValueError: |
1213 except ValueError: |
1214 raise error.Abort(_(b'similarity must be a number')) |
1214 raise error.InputError(_(b'similarity must be a number')) |
1215 if similarity < 0 or similarity > 100: |
1215 if similarity < 0 or similarity > 100: |
1216 raise error.Abort(_(b'similarity must be between 0 and 100')) |
1216 raise error.InputError(_(b'similarity must be between 0 and 100')) |
1217 similarity /= 100.0 |
1217 similarity /= 100.0 |
1218 |
1218 |
1219 ret = 0 |
1219 ret = 0 |
1220 |
1220 |
1221 wctx = repo[None] |
1221 wctx = repo[None] |