зеркало из https://github.com/microsoft/git.git
Merge branch 'ds/commit-graph-tests'
We can now optionally run tests with commit-graph enabled. * ds/commit-graph-tests: commit-graph: define GIT_TEST_COMMIT_GRAPH
This commit is contained in:
Коммит
06880cff38
|
@ -34,6 +34,7 @@
|
|||
#include "mailmap.h"
|
||||
#include "help.h"
|
||||
#include "commit-reach.h"
|
||||
#include "commit-graph.h"
|
||||
|
||||
static const char * const builtin_commit_usage[] = {
|
||||
N_("git commit [<options>] [--] <pathspec>..."),
|
||||
|
@ -1652,6 +1653,9 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
|
|||
"new_index file. Check that disk is not full and quota is\n"
|
||||
"not exceeded, and then \"git reset HEAD\" to recover."));
|
||||
|
||||
if (git_env_bool(GIT_TEST_COMMIT_GRAPH, 0))
|
||||
write_commit_graph_reachable(get_object_directory(), 0);
|
||||
|
||||
rerere(0);
|
||||
run_command_v_opt(argv_gc_auto, RUN_GIT_CMD);
|
||||
run_commit_hook(use_editor, get_index_file(), "post-commit", NULL);
|
||||
|
|
|
@ -213,8 +213,9 @@ static int prepare_commit_graph(struct repository *r)
|
|||
return !!r->objects->commit_graph;
|
||||
r->objects->commit_graph_attempted = 1;
|
||||
|
||||
if (repo_config_get_bool(r, "core.commitgraph", &config_value) ||
|
||||
!config_value)
|
||||
if (!git_env_bool(GIT_TEST_COMMIT_GRAPH, 0) &&
|
||||
(repo_config_get_bool(r, "core.commitgraph", &config_value) ||
|
||||
!config_value))
|
||||
/*
|
||||
* This repository is not configured to use commit graphs, so
|
||||
* do not load one. (But report commit_graph_attempted anyway
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
#include "string-list.h"
|
||||
#include "cache.h"
|
||||
|
||||
#define GIT_TEST_COMMIT_GRAPH "GIT_TEST_COMMIT_GRAPH"
|
||||
|
||||
struct commit;
|
||||
|
||||
char *get_commit_graph_filename(const char *obj_dir);
|
||||
|
|
4
t/README
4
t/README
|
@ -323,6 +323,10 @@ GIT_TEST_VALIDATE_INDEX_CACHE_ENTRIES=<boolean> checks that cache-tree
|
|||
records are valid when the index is written out or after a merge. This
|
||||
is mostly to catch missing invalidation. Default is true.
|
||||
|
||||
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.
|
||||
|
||||
Naming Tests
|
||||
------------
|
||||
|
||||
|
|
|
@ -181,7 +181,7 @@ test_expect_success 'rev-list stops traversal at missing and promised commit' '
|
|||
|
||||
git -C repo config core.repositoryformatversion 1 &&
|
||||
git -C repo config extensions.partialclone "arbitrary string" &&
|
||||
git -C repo rev-list --exclude-promisor-objects --objects bar >out &&
|
||||
GIT_TEST_COMMIT_GRAPH=0 git -C repo rev-list --exclude-promisor-objects --objects bar >out &&
|
||||
grep $(git -C repo rev-parse bar) out &&
|
||||
! grep $FOO out
|
||||
'
|
||||
|
|
|
@ -24,11 +24,11 @@ test_expect_success 'check corruption' '
|
|||
'
|
||||
|
||||
test_expect_success 'rev-list notices corruption (1)' '
|
||||
test_must_fail git rev-list HEAD
|
||||
test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git rev-list HEAD
|
||||
'
|
||||
|
||||
test_expect_success 'rev-list notices corruption (2)' '
|
||||
test_must_fail git rev-list --objects HEAD
|
||||
test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git rev-list --objects HEAD
|
||||
'
|
||||
|
||||
test_expect_success 'pack-objects notices corruption' '
|
||||
|
|
|
@ -41,9 +41,8 @@ test_expect_success 'corrupt second commit object' \
|
|||
test_must_fail git fsck --full
|
||||
'
|
||||
|
||||
test_expect_success 'rev-list should fail' \
|
||||
'
|
||||
test_must_fail git rev-list --all > /dev/null
|
||||
test_expect_success 'rev-list should fail' '
|
||||
test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git rev-list --all > /dev/null
|
||||
'
|
||||
|
||||
test_expect_success 'git repack _MUST_ fail' \
|
||||
|
|
|
@ -60,9 +60,9 @@ git update-index a1 &&
|
|||
GIT_AUTHOR_DATE="2006-12-12 23:00:08" git commit -m F
|
||||
'
|
||||
|
||||
test_expect_success "combined merge conflicts" "
|
||||
test_must_fail git merge -m final G
|
||||
"
|
||||
test_expect_success 'combined merge conflicts' '
|
||||
test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git merge -m final G
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
<<<<<<< HEAD
|
||||
|
|
Загрузка…
Ссылка в новой задаче