# HG changeset patch # User Matt Mackall # Date 1338405237 18000 # Node ID 2a0efa1112aca68dbd0cca60a862cdb21133f475 # Parent c17ce7cd5090463456dadc2bd893719a649cc315 revpair: handle odd ranges (issue3474) diff -r c17ce7cd5090 -r 2a0efa1112ac mercurial/scmutil.py --- a/mercurial/scmutil.py Wed May 23 00:25:29 2012 +0900 +++ b/mercurial/scmutil.py Wed May 30 14:13:57 2012 -0500 @@ -524,9 +524,11 @@ l = revrange(repo, revs) if len(l) == 0: + if revs: + raise util.Abort(_('empty revision range')) return repo.dirstate.p1(), None - if len(l) == 1: + if len(l) == 1 and len(revs) == 1 and _revrangesep not in revs[0]: return repo.lookup(l[0]), None return repo.lookup(l[0]), repo.lookup(l[-1]) diff -r c17ce7cd5090 -r 2a0efa1112ac tests/test-diff-change.t --- a/tests/test-diff-change.t Wed May 23 00:25:29 2012 +0900 +++ b/tests/test-diff-change.t Wed May 30 14:13:57 2012 -0500 @@ -29,6 +29,12 @@ -first +second +Test dumb revspecs (issue3474) + + $ hg diff -r 2:2 + $ hg diff -r "2 and 1" + abort: empty revision range + [255] Testing diff --change when merge: