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.
#!/bin/sh
"$TESTDIR/hghave" p4 || exit 80
echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
echo % create p4 depot
P4ROOT=`pwd`/depot; export P4ROOT
P4AUDIT=$P4ROOT/audit; export P4AUDIT
P4JOURNAL=$P4ROOT/journal; export P4JOURNAL
P4LOG=$P4ROOT/log; export P4LOG
P4PORT=localhost:16661; export P4PORT
P4DEBUG=1; export P4DEBUG
echo % start the p4 server
[ ! -d $P4ROOT ] && mkdir $P4ROOT
p4d -f -J off >$P4ROOT/stdout 2>$P4ROOT/stderr &
trap "echo % stop the p4 server ; p4 admin stop" EXIT
# wait for the server to initialize
while ! p4 ; do
sleep 1
done >/dev/null 2>/dev/null
echo % create a client spec
P4CLIENT=hg-p4-import; export P4CLIENT
DEPOTPATH=//depot/test-mercurial-import/...
p4 client -o | sed '/^View:/,$ d' >p4client
echo View: >>p4client
echo " $DEPOTPATH //$P4CLIENT/..." >>p4client
p4 client -i <p4client
echo % populate the depot
echo a > a
mkdir b
echo c > b/c
p4 add a b/c
p4 submit -d initial
echo % change some files
p4 edit a
echo aa >> a
p4 submit -d "change a"
p4 edit b/c
echo cc >> b/c
p4 submit -d "change b/c"
echo % convert
hg convert -s p4 $DEPOTPATH dst
hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n'
echo % change some files
p4 edit a b/c
echo aaa >> a
echo ccc >> b/c
p4 submit -d "change a b/c"
echo % convert again
hg convert -s p4 $DEPOTPATH dst
hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n'
echo % interesting names
echo dddd > "d d"
mkdir " e"
echo fff >" e/ f"
p4 add "d d" " e/ f"
p4 submit -d "add d e f"
echo % convert again
hg convert -s p4 $DEPOTPATH dst
hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n'