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

From: "Arthur Chan via GitGitGadget" <[email-masked]>
Date: Mon, 19 Sep 2022 14:36:54 +0000

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]>
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
-- 
gitgitgadget