rebase: improve error message on improper phases
The previous error message had two issues: The first issue was that it
wasn't, in fact, an error but a warning, even though it described a
fatal error condition preventing the successful completion of the
command. The second was that it didn't mention the immutable
changesets, leaving the user guessing at the true cause of the error.
The main downside to this change is that we now get an 'abort: can't
abort...' message which technically contradicts itself. In this case,
I blame that on the two uses we have for the word; if it weren't for
backwards compatibility, we could make util.Abort print out 'error:
<whatever>'.
$ "$TESTDIR/hghave" inotify || exit 80
$ hg init
$ touch a
$ mkdir dir
$ touch dir/b
$ touch dir/c
$ echo "[extensions]" >> $HGRCPATH
$ echo "inotify=" >> $HGRCPATH
$ hg add dir/c
inserve
$ hg inserve -d --pid-file=hg.pid 2>&1
$ cat hg.pid >> "$DAEMON_PIDS"
$ hg st
A dir/c
? a
? dir/b
? hg.pid
moving dir out
$ mv dir ../tmp-test-inotify-issue1542
status
$ hg st
! dir/c
? a
? hg.pid
$ sleep 1
Are we able to kill the service? if not, the service died on some error
$ kill `cat hg.pid`