# HG changeset patch # User Pierre-Yves David # Date 1529200614 -7200 # Node ID b81fd1487e0468a78df0a9ace2ad8e40cbcbc350 # Parent bbc3cfdfe42b542954f39adf0ae16d8da625d63f rewing: prevent rewind in case of uncommitted changes rewind can update, which means merge and troubles. We might relax this limitation in the future. diff -r bbc3cfdfe42b -r b81fd1487e04 hgext3rd/evolve/rewind.py --- a/hgext3rd/evolve/rewind.py Sun Jun 17 03:46:46 2018 +0200 +++ b/hgext3rd/evolve/rewind.py Sun Jun 17 03:56:54 2018 +0200 @@ -4,6 +4,7 @@ import hashlib from mercurial import ( + cmdutil, error, hg, obsolete, @@ -77,6 +78,8 @@ rewindmap = {} sscache = {} with repo.wlock(), repo.lock(): + # stay on the safe side: prevent local case in case we need to upgrade + cmdutil.bailifchanged(repo) rewinded = _select_rewinded(repo, opts) diff -r bbc3cfdfe42b -r b81fd1487e04 tests/test-rewind.t --- a/tests/test-rewind.t Sun Jun 17 03:46:46 2018 +0200 +++ b/tests/test-rewind.t Sun Jun 17 03:56:54 2018 +0200 @@ -917,3 +917,21 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: c_ROOT + $ cd .. + +Check error cases +================= + + $ hg clone rewind-testing-base rewind-testing-error + updating to branch default + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cd rewind-testing-error + +Uncommited changes +------------------ + + $ echo C > C + $ hg add C + $ hg rewind + abort: uncommitted changes + [255]