verify: add a config option to skip certain flag processors
Previously, "hg verify" verifies everything, which could be undesirable when
there are expensive flag processor contents.
This patch adds a "verify.skipflags" developer config. A flag processor will
be skipped if (flag & verify.skipflags) == 0.
In the LFS usecase, that means "hg verify --config verify.skipflags=8192"
will not download all LFS blobs, which could be too large to be stored
locally.
Note: "renamed" is also skipped since its default implementation may call
filelog.data() which will trigger the flag processor.
#!/usr/bin/env bash
hg init rebase
cd rebase
# @ 7: 'H'
# |
# | o 6: 'G'
# |/|
# o | 5: 'F'
# | |
# | o 4: 'E'
# |/
# | o 3: 'D'
# | |
# | o 2: 'C'
# | |
# | o 1: 'B'
# |/
# o 0: 'A'
echo A > A
hg ci -Am A
echo B > B
hg ci -Am B
echo C > C
hg ci -Am C
echo D > D
hg ci -Am D
hg up -q -C 0
echo E > E
hg ci -Am E
hg up -q -C 0
echo F > F
hg ci -Am F
hg merge -r 4
hg ci -m G
hg up -q -C 5
echo H > H
hg ci -Am H
hg bundle -a ../rebase.hg
cd ..
rm -Rf rebase