Skip to content
  • Derrick Stolee's avatar
    commit-graph: define GIT_TEST_COMMIT_GRAPH · 859fdc0c
    Derrick Stolee authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    The commit-graph feature is tested in isolation by
    t5318-commit-graph.sh and t6600-test-reach.sh, but there are many
    more interesting scenarios involving commit walks. Many of these
    scenarios are covered by the existing test suite, but we need to
    maintain coverage when the optional commit-graph structure is not
    present.
    
    To allow running the full test suite with the commit-graph present,
    add a new test environment variable, GIT_TEST_COMMIT_GRAPH. Similar
    to GIT_TEST_SPLIT_INDEX, this variable makes every Git command try
    to load the commit-graph when parsing commits, and writes the
    commit-graph file after every 'git commit' command.
    
    There are a few tests that rely on commits not existing in
    pack-files to trigger important events, so manually set
    GIT_TEST_COMMIT_GRAPH to false for the necessary commands.
    
    There is one test in t6024-recursive-merge.sh that relies on the
    merge-base algorithm picking one of two ambiguous merge-bases, and
    the commit-graph feature changes which merge-base is picked.
    
    Helped-by: default avatarEric Sunshine <sunshine@sunshineco.com>
    Signed-off-by: default avatarDerrick Stolee <dstolee@microsoft.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    859fdc0c