mercurial/scmutil.py
changeset 48041 37a41267d000
parent 48031 5b89626c11e9
child 48098 ba79d99ec1ae
equal deleted inserted replaced
48040:7970895a21cb 48041:37a41267d000
   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]