# HG changeset patch # User Pierre-Yves David # Date 1485358845 -3600 # Node ID c3741a5adbb0d61c98f1593058857f4d684a2fb7 # Parent e7149cc5101f9b85fb03eb1d1a00e207f44e6504 fold: cleanly abort on empty fold set (issue5453) We now handle the empty set case, cleanly aborting instead of crashing with a traceback. The message used match the output of 'hg push' in similar situation. diff -r e7149cc5101f -r c3741a5adbb0 README --- a/README Sun Nov 06 19:19:28 2016 +0100 +++ b/README Wed Jan 25 16:40:45 2017 +0100 @@ -56,6 +56,10 @@ Changelog ========= +5.5.1 -- + + - fix crash when trying to fold an empty revision set (issue5453) + 5.5.0 -- 2016-10-30 - The {obsolete} template now yield "obsolete" or "". diff -r e7149cc5101f -r c3741a5adbb0 hgext/evolve.py --- a/hgext/evolve.py Sun Nov 06 19:19:28 2016 +0100 +++ b/hgext/evolve.py Wed Jan 25 16:40:45 2017 +0100 @@ -3124,7 +3124,10 @@ "of working directory")) revs = extrevs - if len(revs) == 1: + if not revs: + raise error.Abort(_('specified revisions evaluate to an empty set'), + hint=_('use different revision arguments')) + elif len(revs) == 1: ui.write_err(_('single revision specified, nothing to fold\n')) return 1 diff -r e7149cc5101f -r c3741a5adbb0 tests/test-evolve.t --- a/tests/test-evolve.t Sun Nov 06 19:19:28 2016 +0100 +++ b/tests/test-evolve.t Wed Jan 25 16:40:45 2017 +0100 @@ -688,6 +688,10 @@ $ hg fold -r 4 -r 6 --exact abort: cannot fold non-linear revisions (multiple roots given) [255] + $ hg fold --exact -r "4 and not 4" + abort: specified revisions evaluate to an empty set + (use different revision arguments) + [255] $ hg fold 10 1 abort: cannot fold non-linear revisions (given revisions are unrelated to parent of working directory)