##// END OF EJS Templates
changegroup: factor changelog chunk generation into own function...
changegroup: factor changelog chunk generation into own function We have separate functions for generating manifests and filelogs. Let's split changelog into its own function so things are consistent. As part of this, we refactor the code slightly. Before, the changelog linknode callback was updating state on variables inherited via a closure. Since the closure is now separate from generate(), we need to a way pass state between generate() and _generatechangelog(). The return value of _generatechangelog() is a 2-tuple where the first item is a dict containing accumulated state. We then alias some of its members into the scope of generate() to reduce code churn. I will be converting other functions to a similar pattern in future commits. Differential Revision: https://phab.mercurial-scm.org/D4133

File last commit:

r38264:46dcb9f1 default
r39012:f7228c90 default
Show More
Makefile
81 lines | 2.6 KiB | text/x-makefile | MakefileLexer
Yuya Nishihara
fuzz: expand variables by make...
r38232 CC = clang
CXX = clang++
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 all: bdiff mpatch xdiff
Yuya Nishihara
fuzz: fix the default make target
r38233
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 fuzzutil.o: fuzzutil.cc fuzzutil.h
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -g -O1 -fsanitize=fuzzer-no-link,address \
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 -std=c++17 \
-I../../mercurial -c -o fuzzutil.o fuzzutil.cc
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 fuzzutil-oss-fuzz.o: fuzzutil.cc fuzzutil.h
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -std=c++17 \
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 -I../../mercurial -c -o fuzzutil-oss-fuzz.o fuzzutil.cc
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 bdiff.o: ../../mercurial/bdiff.c
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) $(CFLAGS) -fsanitize=fuzzer-no-link,address -c -o bdiff.o \
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 ../../mercurial/bdiff.c
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 bdiff: bdiff.cc bdiff.o fuzzutil.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 -std=c++17 \
-I../../mercurial bdiff.cc bdiff.o fuzzutil.o -o bdiff
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
bdiff-oss-fuzz.o: ../../mercurial/bdiff.c
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) $(CFLAGS) -c -o bdiff-oss-fuzz.o ../../mercurial/bdiff.c
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 bdiff_fuzzer: bdiff.cc bdiff-oss-fuzz.o fuzzutil-oss-fuzz.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial bdiff.cc \
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 bdiff-oss-fuzz.o fuzzutil-oss-fuzz.o -lFuzzingEngine -o \
$$OUT/bdiff_fuzzer
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 mpatch.o: ../../mercurial/mpatch.c
$(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c -o mpatch.o \
../../mercurial/mpatch.c
mpatch: CXXFLAGS += -std=c++17
mpatch: mpatch.cc mpatch.o fuzzutil.o
$(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \
-I../../mercurial mpatch.cc mpatch.o fuzzutil.o -o mpatch
mpatch-oss-fuzz.o: ../../mercurial/mpatch.c
$(CC) $(CFLAGS) -c -o mpatch-oss-fuzz.o ../../mercurial/mpatch.c
mpatch_fuzzer: mpatch.cc mpatch-oss-fuzz.o fuzzutil-oss-fuzz.o
$(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial mpatch.cc \
mpatch-oss-fuzz.o fuzzutil-oss-fuzz.o -lFuzzingEngine -o \
$$OUT/mpatch_fuzzer
mpatch_corpus.zip:
python mpatch_corpus.py $$OUT/mpatch_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c \
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 -o $@ \
$<
Yuya Nishihara
fuzz: compile xdiff.cc with -std=c++17...
r38235 xdiff: CXXFLAGS += -std=c++17
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 xdiff: xdiff.cc xdiffi.o xprepare.o xutils.o fuzzutil.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 -I../../mercurial xdiff.cc \
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 xdiffi.o xprepare.o xutils.o fuzzutil.o -o xdiff
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 fuzz-x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) $(CFLAGS) -c \
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 -o $@ \
$<
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 xdiff_fuzzer: xdiff.cc fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o fuzzutil-oss-fuzz.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial xdiff.cc \
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o fuzzutil-oss-fuzz.o \
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 -lFuzzingEngine -o $$OUT/xdiff_fuzzer
Augie Fackler
fuzz: add clean target...
r38193 clean:
Yuya Nishihara
fuzz: fix "make clean" to pass even if no binaries built yet
r38236 $(RM) *.o *_fuzzer \
Augie Fackler
fuzz: add clean target...
r38193 bdiff \
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 mpatch \
Augie Fackler
fuzz: add clean target...
r38193 xdiff
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 oss-fuzz: bdiff_fuzzer mpatch_fuzzer mpatch_corpus.zip xdiff_fuzzer
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: add clean target...
r38193 .PHONY: all clean oss-fuzz