Skip to content

Commit

Permalink
commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
Browse files Browse the repository at this point in the history
Add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag to the test setup suite
in order to toggle writing Bloom filters when running any of the git tests.
If set to true, we will compute and write Bloom filters every time a test
calls `git commit-graph write`, as if the `--changed-paths` option was
passed in.

The test suite passes when GIT_TEST_COMMIT_GRAPH and
GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS are enabled.

Helped-by: Derrick Stolee <[email protected]>
Signed-off-by: Garima Singh <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
garimasi514 authored and gitster committed Apr 6, 2020
1 parent a759bfa commit d5b873c
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 1 deletion.
3 changes: 2 additions & 1 deletion builtin/commit-graph.c
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,8 @@ static int graph_write(int argc, const char **argv)
flags |= COMMIT_GRAPH_WRITE_SPLIT;
if (opts.progress)
flags |= COMMIT_GRAPH_WRITE_PROGRESS;
if (opts.enable_changed_paths)
if (opts.enable_changed_paths ||
git_env_bool(GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS, 0))
flags |= COMMIT_GRAPH_WRITE_BLOOM_FILTERS;

read_replace_refs = 0;
Expand Down
1 change: 1 addition & 0 deletions ci/run-build-and-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ linux-gcc)
export GIT_TEST_OE_SIZE=10
export GIT_TEST_OE_DELTA_SIZE=5
export GIT_TEST_COMMIT_GRAPH=1
export GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1
export GIT_TEST_MULTI_PACK_INDEX=1
export GIT_TEST_ADD_I_USE_BUILTIN=1
make test
Expand Down
1 change: 1 addition & 0 deletions commit-graph.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

#define GIT_TEST_COMMIT_GRAPH "GIT_TEST_COMMIT_GRAPH"
#define GIT_TEST_COMMIT_GRAPH_DIE_ON_LOAD "GIT_TEST_COMMIT_GRAPH_DIE_ON_LOAD"
#define GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS "GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS"

struct commit;
struct bloom_filter_settings;
Expand Down
5 changes: 5 additions & 0 deletions t/README
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,11 @@ GIT_TEST_COMMIT_GRAPH=<boolean>, when true, forces the commit-graph to
be written after every 'git commit' command, and overrides the
'core.commitGraph' setting to true.

GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=<boolean>, when true, forces
commit-graph write to compute and write changed path Bloom filters for
every 'git commit-graph write', as if the `--changed-paths` option was
passed in.

GIT_TEST_FSMONITOR=$PWD/t7519/fsmonitor-all exercises the fsmonitor
code path for utilizing a file system monitor to speed up detecting
new or changed files.
Expand Down
2 changes: 2 additions & 0 deletions t/t5318-commit-graph.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
test_description='commit graph'
. ./test-lib.sh

GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=0

test_expect_success 'setup full repo' '
mkdir full &&
cd "$TRASH_DIRECTORY/full" &&
Expand Down
1 change: 1 addition & 0 deletions t/t5324-split-commit-graph.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ test_description='split commit graph'
. ./test-lib.sh

GIT_TEST_COMMIT_GRAPH=0
GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=0

test_expect_success 'setup repo' '
git init &&
Expand Down

0 comments on commit d5b873c

Please sign in to comment.