Subject: Re: [PATCH v4] fuzz: reorganise the path for existing oss-fuzz fuzzers

From: Junio C Hamano <[email-masked]>
Date: Mon, 19 Sep 2022 09:40:51 -0700

"Arthur Chan via GitGitGadget" <[email-masked]> writes:

> From: Arthur Chan <[email-masked]>
>
> This patch is aimed to provide a better organisation for oss-fuzz
> fuzzers and to avoid top-level clustters in the git repository when
> more fuzzers are introduced. In addition, grouping the fuzzers into
> their own directory separate their application on fuzz-testing from
> the core functionalities of the git code. It also provide better
> and tidier structure the oss-fuzz fuzzing library to manage, locate,
> build and execute those fuzzers for fuzz-testing purposes in future
> development.
>
> A new direrctory oss-fuzz has been created and existing fuzzers are
> moved into the new directory. Makefile and .gitignore have been
> fixed accordingly.
>
> CC: Josh Steadmon <[email-masked]>
> CC: David Korczynski <[email-masked]>

If you mean to tell these people about your work, write these lines
on the header of your outgoing e-mail (or instruct GitGitGadget to
do so), not here (if writing them here is the only way to instruct
GGG to do so then I wouldn't object, but apparently that is not
happening and I had to add them manually to this message.

Thanks.

> Signed-off-by: Arthur Chan <[email-masked]>
> ---
>     fuzz: reorganise the path for existing oss-fuzz fuzzers
>     
>     This patch is aimed to provide a better organisation for oss-fuzz
>     fuzzers and to avoid top-level clustters in the git repository when more
>     fuzzers are introduced. In addition, grouping the fuzzers into their own
>     directory separate their application on fuzz-testing from the core
>     functionalities of the git code. It also provide better and tidier
>     structure the oss-fuzz fuzzing library to manage, locate, build and
>     execute those fuzzers for fuzz-testing purposes in future development.
>     
>     A new direrctory oss-fuzz has been created and existing fuzzers are
>     moved into the new directory. Makefile and .gitignore have been fixed
>     accordingly.
>     
>     Create new .gitignore file for the new directory in v4 and fix the
>     commit message.
>     
>     CC: Josh Steadmon [email-masked] CC: David Korczynski
>     [email-masked] Signed-off-by: Arthur Chan [email-masked]
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1353%2Farthurscchan%2Frelocate-fuzzer-v4
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1353/arthurscchan/relocate-fuzzer-v4
> Pull-Request: https://github.com/gitgitgadget/git/pull/1353
>
> Range-diff vs v3:
>
>  1:  21714e583aa ! 1:  82d9568ea65 fuzz: reorganise the path for existing oss-fuzz fuzzers
>      @@ Commit message
>           fuzz: reorganise the path for existing oss-fuzz fuzzers
>       
>           This patch is aimed to provide a better organisation for oss-fuzz
>      -    fuzzers, allowing more fuzzers for the git project to be added
>      -    in later development.
>      +    fuzzers and to avoid top-level clustters in the git repository when
>      +    more fuzzers are introduced. In addition, grouping the fuzzers into
>      +    their own directory separate their application on fuzz-testing from
>      +    the core functionalities of the git code. It also provide better
>      +    and tidier structure the oss-fuzz fuzzing library to manage, locate,
>      +    build and execute those fuzzers for fuzz-testing purposes in future
>      +    development.
>       
>           A new direrctory oss-fuzz has been created and existing fuzzers are
>           moved into the new directory. Makefile and .gitignore have been
>      @@ Commit message
>        ## .gitignore ##
>       @@
>       -/fuzz-commit-graph
>      -+/oss-fuzz/fuzz-commit-graph
>        /fuzz_corpora
>       -/fuzz-pack-headers
>       -/fuzz-pack-idx
>      -+/oss-fuzz/fuzz-pack-headers
>      -+/oss-fuzz/fuzz-pack-idx
>        /GIT-BUILD-OPTIONS
>        /GIT-CFLAGS
>        /GIT-LDFLAGS
>      @@ Makefile: SCRIPTS = $(SCRIPT_SH_GEN) \
>        fuzz-objs: $(FUZZ_OBJS)
>        
>       
>      + ## oss-fuzz/.gitignore (new) ##
>      +@@
>      ++fuzz-commit-graph
>      ++fuzz-pack-headers
>      ++fuzz-pack-idx
>      +
>        ## fuzz-commit-graph.c => oss-fuzz/fuzz-commit-graph.c ##
>       
>        ## fuzz-pack-headers.c => oss-fuzz/fuzz-pack-headers.c ##
>
>
>  .gitignore                                          | 3 ---
>  Makefile                                            | 6 +++---
>  oss-fuzz/.gitignore                                 | 3 +++
>  fuzz-commit-graph.c => oss-fuzz/fuzz-commit-graph.c | 0
>  fuzz-pack-headers.c => oss-fuzz/fuzz-pack-headers.c | 0
>  fuzz-pack-idx.c => oss-fuzz/fuzz-pack-idx.c         | 0
>  6 files changed, 6 insertions(+), 6 deletions(-)
>  create mode 100644 oss-fuzz/.gitignore
>  rename fuzz-commit-graph.c => oss-fuzz/fuzz-commit-graph.c (100%)
>  rename fuzz-pack-headers.c => oss-fuzz/fuzz-pack-headers.c (100%)
>  rename fuzz-pack-idx.c => oss-fuzz/fuzz-pack-idx.c (100%)
>
> diff --git a/.gitignore b/.gitignore
> index 80b530bbed2..ed8b9f04e5c 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -1,7 +1,4 @@
> -/fuzz-commit-graph
>  /fuzz_corpora
> -/fuzz-pack-headers
> -/fuzz-pack-idx
>  /GIT-BUILD-OPTIONS
>  /GIT-CFLAGS
>  /GIT-LDFLAGS
> diff --git a/Makefile b/Makefile
> index d9247ead45b..2d56aae7a1d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -686,9 +686,9 @@ SCRIPTS = $(SCRIPT_SH_GEN) \
>  
>  ETAGS_TARGET = TAGS
>  
> -FUZZ_OBJS += fuzz-commit-graph.o
> -FUZZ_OBJS += fuzz-pack-headers.o
> -FUZZ_OBJS += fuzz-pack-idx.o
> +FUZZ_OBJS += oss-fuzz/fuzz-commit-graph.o
> +FUZZ_OBJS += oss-fuzz/fuzz-pack-headers.o
> +FUZZ_OBJS += oss-fuzz/fuzz-pack-idx.o
>  .PHONY: fuzz-objs
>  fuzz-objs: $(FUZZ_OBJS)
>  
> diff --git a/oss-fuzz/.gitignore b/oss-fuzz/.gitignore
> new file mode 100644
> index 00000000000..9acb74412ef
> --- /dev/null
> +++ b/oss-fuzz/.gitignore
> @@ -0,0 +1,3 @@
> +fuzz-commit-graph
> +fuzz-pack-headers
> +fuzz-pack-idx
> diff --git a/fuzz-commit-graph.c b/oss-fuzz/fuzz-commit-graph.c
> similarity index 100%
> rename from fuzz-commit-graph.c
> rename to oss-fuzz/fuzz-commit-graph.c
> diff --git a/fuzz-pack-headers.c b/oss-fuzz/fuzz-pack-headers.c
> similarity index 100%
> rename from fuzz-pack-headers.c
> rename to oss-fuzz/fuzz-pack-headers.c
> diff --git a/fuzz-pack-idx.c b/oss-fuzz/fuzz-pack-idx.c
> similarity index 100%
> rename from fuzz-pack-idx.c
> rename to oss-fuzz/fuzz-pack-idx.c
>
> base-commit: d3fa443f97e3a8d75b51341e2d5bac380b7422df