##// END OF EJS Templates
dirstate-v2: no longer register the data-file during transaction...
dirstate-v2: no longer register the data-file during transaction If the data file change during the transaction, we cannot truncate it. The content of the file itself is fine as it will get backed up at the same time as the docket. Leaving the trailing data at the end of failed transaction is fine. The dirstate-v2 format supports it. The dead data will simply we written over if necessary.

File last commit:

r36716:e437de38 default
r50364:b5c85248 6.2.2 stable
Show More
README.rst
26 lines | 894 B | text/x-rst | RstLexer
Augie Fackler
fuzz: add a quick README to try and document how to test new fuzzers...
r36698 How to add fuzzers (partially cribbed from oss-fuzz[0]):
1) git clone https://github.com/google/oss-fuzz
2) cd oss-fuzz
3) python infra/helper.py build_image mercurial
4) docker run --cap-add=SYS_PTRACE -it -v $HG_REPO_PATH:/hg-new \
gcr.io/oss-fuzz/mercurial bash
5) cd /src
6) rm -r mercurial
7) ln -s /hg-new mercurial
8) cd mercurial
9) compile
Augie Fackler
fuzz: add some more docs about building/running fuzzers...
r36716 10) ls $OUT
Step 9 is literally running the command "compile", which is part of
the docker container. Once you have that working, you can build the
fuzzers like this (in the oss-fuzz repo):
python infra/helper.py build_fuzzers --sanitizer address mercurial $HG_REPO_PATH
(you can also say "memory", "undefined" or "coverage" for
sanitizer). Then run the built fuzzers like this:
python infra/helper.py run_fuzzer mercurial -- $FUZZER
Augie Fackler
fuzz: add a quick README to try and document how to test new fuzzers...
r36698
0: https://github.com/google/oss-fuzz/blob/master/docs/new_project_guide.md