matcher: do not prepend '.*' to pattern using ^ after flags
Since the previous commit (fixing wider issue), the code generated strange
regex. This is now fixed and tested.
#!/bin/bash
#
# Make sure to patch mercurial to create the delta against nullrev
#
# # Parent cdb85d0512b81031d4a7b30d6a5ddbe69ef1a876
#
# diff --git a/mercurial/revlogutils/deltas.py b/mercurial/revlogutils/deltas.py
# --- a/mercurial/revlogutils/deltas.py
# +++ b/mercurial/revlogutils/deltas.py
# @@ -1117,7 +1117,10 @@ class deltacomputer:
# candidaterevs = next(groups)
#
# if deltainfo is None:
# - deltainfo = self._fullsnapshotinfo(fh, revinfo, target_rev)
# + if revlog._generaldelta:
# + deltainfo = self._builddeltainfo(revinfo, nullrev, fh)
# + else:
# + deltainfo = self._fullsnapshotinfo(fh, revinfo, target_rev)
cd "`dirname \"$0\"`"
export HGRCPATH=
export HGMODULEPOLICY=py
rm -rf nullrev-diff
../../hg init nullrev-diff --config format.revlog-compression=zlib
cd nullrev-diff
echo hi > a
../../../hg commit -Am root-B
echo ho > a
../../../hg commit -Am child-A
hg up null
echo ha > a
../../../hg commit -Am root-A
../../../hg debugdeltachain a
rm -rf .hg/cache/ .hg/wcache/
cd ..
tar cf test-revlog-diff-relative-to-nullrev.tar nullrev-diff
rm -rf nullrev-diff