2009-08-22 02:20:34 +08:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
# There's more than one "correct" way to represent the history graphically.
|
|
|
|
# These tests depend on the current behavior of the graphing code. If the
|
|
|
|
# graphing code is ever changed to draw the output differently, these tests
|
|
|
|
# cases will need to be updated to know about the new layout.
|
|
|
|
|
|
|
|
test_description='--graph and simplified history'
|
|
|
|
|
2020-11-19 07:44:36 +08:00
|
|
|
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
tests: mark tests relying on the current default for `init.defaultBranch`
In addition to the manual adjustment to let the `linux-gcc` CI job run
the test suite with `master` and then with `main`, this patch makes sure
that GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME is set in all test scripts
that currently rely on the initial branch name being `master by default.
To determine which test scripts to mark up, the first step was to
force-set the default branch name to `master` in
- all test scripts that contain the keyword `master`,
- t4211, which expects `t/t4211/history.export` with a hard-coded ref to
initialize the default branch,
- t5560 because it sources `t/t556x_common` which uses `master`,
- t8002 and t8012 because both source `t/annotate-tests.sh` which also
uses `master`)
This trick was performed by this command:
$ sed -i '/^ *\. \.\/\(test-lib\|lib-\(bash\|cvs\|git-svn\)\|gitweb-lib\)\.sh$/i\
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master\
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME\
' $(git grep -l master t/t[0-9]*.sh) \
t/t4211*.sh t/t5560*.sh t/t8002*.sh t/t8012*.sh
After that, careful, manual inspection revealed that some of the test
scripts containing the needle `master` do not actually rely on a
specific default branch name: either they mention `master` only in a
comment, or they initialize that branch specificially, or they do not
actually refer to the current default branch. Therefore, the
aforementioned modification was undone in those test scripts thusly:
$ git checkout HEAD -- \
t/t0027-auto-crlf.sh t/t0060-path-utils.sh \
t/t1011-read-tree-sparse-checkout.sh \
t/t1305-config-include.sh t/t1309-early-config.sh \
t/t1402-check-ref-format.sh t/t1450-fsck.sh \
t/t2024-checkout-dwim.sh \
t/t2106-update-index-assume-unchanged.sh \
t/t3040-subprojects-basic.sh t/t3301-notes.sh \
t/t3308-notes-merge.sh t/t3423-rebase-reword.sh \
t/t3436-rebase-more-options.sh \
t/t4015-diff-whitespace.sh t/t4257-am-interactive.sh \
t/t5323-pack-redundant.sh t/t5401-update-hooks.sh \
t/t5511-refspec.sh t/t5526-fetch-submodules.sh \
t/t5529-push-errors.sh t/t5530-upload-pack-error.sh \
t/t5548-push-porcelain.sh \
t/t5552-skipping-fetch-negotiator.sh \
t/t5572-pull-submodule.sh t/t5608-clone-2gb.sh \
t/t5614-clone-submodules-shallow.sh \
t/t7508-status.sh t/t7606-merge-custom.sh \
t/t9302-fast-import-unpack-limit.sh
We excluded one set of test scripts in these commands, though: the range
of `git p4` tests. The reason? `git p4` stores the (foreign) remote
branch in the branch called `p4/master`, which is obviously not the
default branch. Manual analysis revealed that only five of these tests
actually require a specific default branch name to pass; They were
modified thusly:
$ sed -i '/^ *\. \.\/lib-git-p4\.sh$/i\
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master\
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME\
' t/t980[0167]*.sh t/t9811*.sh
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-11-19 07:44:19 +08:00
|
|
|
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
|
|
|
|
2009-08-22 02:20:34 +08:00
|
|
|
. ./test-lib.sh
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
. "$TEST_DIRECTORY"/lib-log-graph.sh
|
|
|
|
|
|
|
|
check_graph () {
|
|
|
|
cat >expect &&
|
|
|
|
lib_test_cmp_graph --format=%s "$@"
|
|
|
|
}
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_expect_success 'set up rev-list --graph test' '
|
|
|
|
# 3 commits on branch A
|
|
|
|
test_commit A1 foo.txt &&
|
|
|
|
test_commit A2 bar.txt &&
|
|
|
|
test_commit A3 bar.txt &&
|
2020-11-19 07:44:36 +08:00
|
|
|
git branch -m main A &&
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
# 2 commits on branch B, started from A1
|
|
|
|
git checkout -b B A1 &&
|
|
|
|
test_commit B1 foo.txt &&
|
|
|
|
test_commit B2 abc.txt &&
|
|
|
|
|
|
|
|
# 2 commits on branch C, started from A2
|
|
|
|
git checkout -b C A2 &&
|
|
|
|
test_commit C1 xyz.txt &&
|
|
|
|
test_commit C2 xyz.txt &&
|
|
|
|
|
|
|
|
# Octopus merge B and C into branch A
|
|
|
|
git checkout A &&
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
git merge B C -m A4 &&
|
2010-10-04 04:00:09 +08:00
|
|
|
git tag A4 &&
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_commit A5 bar.txt &&
|
|
|
|
|
|
|
|
# More commits on C, then merge C into A
|
|
|
|
git checkout C &&
|
|
|
|
test_commit C3 foo.txt &&
|
|
|
|
test_commit C4 bar.txt &&
|
|
|
|
git checkout A &&
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
git merge -s ours C -m A6 &&
|
2010-10-04 04:00:09 +08:00
|
|
|
git tag A6 &&
|
2009-08-22 02:20:34 +08:00
|
|
|
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
test_commit A7 bar.txt
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_expect_success '--graph --all' '
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --all <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A6
|
|
|
|
|\
|
|
|
|
| * C4
|
|
|
|
| * C3
|
|
|
|
* | A5
|
|
|
|
| |
|
|
|
|
| \
|
|
|
|
*-. | A4
|
|
|
|
|\ \|
|
|
|
|
| | * C2
|
|
|
|
| | * C1
|
|
|
|
| * | B2
|
|
|
|
| * | B1
|
|
|
|
* | | A3
|
|
|
|
| |/
|
|
|
|
|/|
|
|
|
|
* | A2
|
|
|
|
|/
|
|
|
|
* A1
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
# Make sure the graph_is_interesting() code still realizes
|
|
|
|
# that undecorated merges are interesting, even with --simplify-by-decoration
|
|
|
|
test_expect_success '--graph --simplify-by-decoration' '
|
2010-10-04 04:00:09 +08:00
|
|
|
git tag -d A4 &&
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --all --simplify-by-decoration <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A6
|
|
|
|
|\
|
|
|
|
| * C4
|
|
|
|
| * C3
|
|
|
|
* | A5
|
|
|
|
| |
|
|
|
|
| \
|
|
|
|
*-. | A4
|
|
|
|
|\ \|
|
|
|
|
| | * C2
|
|
|
|
| | * C1
|
|
|
|
| * | B2
|
|
|
|
| * | B1
|
|
|
|
* | | A3
|
|
|
|
| |/
|
|
|
|
|/|
|
|
|
|
* | A2
|
|
|
|
|/
|
|
|
|
* A1
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
2010-10-04 04:00:09 +08:00
|
|
|
test_expect_success 'setup: get rid of decorations on B' '
|
|
|
|
git tag -d B2 &&
|
|
|
|
git tag -d B1 &&
|
|
|
|
git branch -d B
|
|
|
|
'
|
|
|
|
|
|
|
|
# Graph with branch B simplified away
|
2009-08-22 02:20:34 +08:00
|
|
|
test_expect_success '--graph --simplify-by-decoration prune branch B' '
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --simplify-by-decoration --all <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A6
|
|
|
|
|\
|
|
|
|
| * C4
|
|
|
|
| * C3
|
|
|
|
* | A5
|
|
|
|
* | A4
|
|
|
|
|\|
|
|
|
|
| * C2
|
|
|
|
| * C1
|
|
|
|
* | A3
|
|
|
|
|/
|
|
|
|
* A2
|
|
|
|
* A1
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_expect_success '--graph --full-history -- bar.txt' '
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --full-history --all -- bar.txt <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A6
|
|
|
|
|\
|
|
|
|
| * C4
|
|
|
|
* | A5
|
|
|
|
* | A4
|
|
|
|
|\|
|
|
|
|
* | A3
|
|
|
|
|/
|
|
|
|
* A2
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_expect_success '--graph --full-history --simplify-merges -- bar.txt' '
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --full-history --simplify-merges --all -- bar.txt <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A6
|
|
|
|
|\
|
|
|
|
| * C4
|
|
|
|
* | A5
|
|
|
|
* | A3
|
|
|
|
|/
|
|
|
|
* A2
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_expect_success '--graph -- bar.txt' '
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --all -- bar.txt <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A5
|
|
|
|
* A3
|
|
|
|
| * C4
|
|
|
|
|/
|
|
|
|
* A2
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_expect_success '--graph --sparse -- bar.txt' '
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --sparse --all -- bar.txt <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A6
|
|
|
|
* A5
|
|
|
|
* A4
|
|
|
|
* A3
|
|
|
|
| * C4
|
|
|
|
| * C3
|
|
|
|
| * C2
|
|
|
|
| * C1
|
|
|
|
|/
|
|
|
|
* A2
|
|
|
|
* A1
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_expect_success '--graph ^C4' '
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --all ^C4 <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A6
|
|
|
|
* A5
|
|
|
|
* A4
|
|
|
|
|\
|
|
|
|
| * B2
|
|
|
|
| * B1
|
|
|
|
* A3
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_expect_success '--graph ^C3' '
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --all ^C3 <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A6
|
|
|
|
|\
|
|
|
|
| * C4
|
|
|
|
* A5
|
|
|
|
* A4
|
|
|
|
|\
|
|
|
|
| * B2
|
|
|
|
| * B1
|
|
|
|
* A3
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
# I don't think the ordering of the boundary commits is really
|
|
|
|
# that important, but this test depends on it. If the ordering ever changes
|
|
|
|
# in the code, we'll need to update this test.
|
|
|
|
test_expect_success '--graph --boundary ^C3' '
|
t6016: move to lib-log-graph.sh framework
t6016 manually reconstructs git log --graph output by using the reported
commit hashes from `git rev-parse`. Each tag is converted into an
environment variable manually, and then `echo`-ed to an expected output
file, which is in turn compared to the actual output.
The expected output is difficult to read and write, because, e.g.,
each line of output must be prefaced with echo, quoted, and properly
escaped. Additionally, the test is sensitive to trailing whitespace,
which may potentially be removed from graph log output in the future.
In order to reduce duplication, ease troubleshooting of failed tests by
improving readability, and ease the addition of more tests to this file,
port the operations to `lib-log-graph.sh`, which is already used in
several other tests, e.g., t4215. Give all merges a simple commit
message, and use a common `check_graph` macro taking a heredoc of the
expected output which does not required extensive escaping.
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-01-04 10:30:35 +08:00
|
|
|
check_graph --boundary --all ^C3 <<-\EOF
|
|
|
|
* A7
|
|
|
|
* A6
|
|
|
|
|\
|
|
|
|
| * C4
|
|
|
|
* | A5
|
|
|
|
| |
|
|
|
|
| \
|
|
|
|
*-. \ A4
|
|
|
|
|\ \ \
|
|
|
|
| * | | B2
|
|
|
|
| * | | B1
|
|
|
|
* | | | A3
|
|
|
|
o | | | A2
|
|
|
|
|/ / /
|
|
|
|
o / / A1
|
|
|
|
/ /
|
|
|
|
| o C3
|
|
|
|
|/
|
|
|
|
o C2
|
|
|
|
EOF
|
|
|
|
'
|
2009-08-22 02:20:34 +08:00
|
|
|
|
|
|
|
test_done
|