eol: handle LockUnavailable error (issue2569)
If the repository is not locked when clearing the dirstate, then
running test-eol.t in a loop fails sooner or later with:
ERROR: /home/mg/src/mercurial-crew/tests/test-eol.t output changed
--- /home/mg/src/mercurial-crew/tests/test-eol.t
+++ /home/mg/src/mercurial-crew/tests/test-eol.t.err
@@ -343,6 +343,7 @@
% hg status (eol activated)
M win.txt
% hg commit
+ nothing changed
% hg status
$ testmixed CRLF
However, if we cannot lock the repository, then we can also not make a
commit and so we can simply ignore a LockUnavailable error.
$ "$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`