Re: [PATCH v3 07/13] graph: example of graph output that can be simplified
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Oct 18, 2019, 15:21 UTC
- Message-ID
- <20191018152121.GE29845@szeder.dev>
- In-Reply-To
- <631ee3cecb68d9f776d4a8fb30c1bca70797ba14.1571183279.git.gitgitgadget@gmail.com>
On Tue, Oct 15, 2019 at 11:47:53PM +0000, James Coglan via GitGitGadget wrote:
Show 45 quoted lines
> diff --git a/t/t4215-log-skewed-merges.sh b/t/t4215-log-skewed-merges.sh > new file mode 100755 > index 0000000000..4582ba066a > --- /dev/null > +++ b/t/t4215-log-skewed-merges.sh > @@ -0,0 +1,43 @@ > +#!/bin/sh > + > +test_description='git log --graph of skewed merges' > + > +. ./test-lib.sh > + > +test_expect_success 'log --graph with merge fusing with its left and right neighbors' ' > + cat >expect <<-\EOF && > + * H > + |\ > + | * G > + | |\ > + | | * F > + | | | > + | | \ > + | *-. \ E > + | |\ \ \ > + |/ / / / > + | | | / > + | | |/ > + | | * D > + | * | C > + | |/ > + * | B > + |/ > + * A > + EOF > + > + git checkout --orphan _p && > + test_commit A && > + test_commit B && > + git checkout -b _q @^ && test_commit C && > + git checkout -b _r @^ && test_commit D && > + git checkout _p && git merge --no-ff _q _r -m E && > + git checkout _r && test_commit F && > + git checkout _p && git merge --no-ff _r -m G && > + git checkout @^^ && git merge --no-ff _p -m H && > + > + git log --graph --pretty=tformat:%s | sed "s/ *$//" >actual &&
Please don't pipe 'git log --graph's output, but use an intermediate file instead:
git log --graph ... >out && sed s/// out >actual && test_cmp expect actual
The exit code of a pipeline is the exit code of the last process in the pipeline, and the exit codes of processes upstream of a pipe are ignored. Consequently, if 'git log --graph' produced the expected output but were to fail during housekeeping before exiting (segfault, double free(), whatever), then that failure would go unnoticed.
This applies to several (all?) new tests added in this patch series as well.
I'd like to join the praises from others: this is one excellent first-time submission, thanks.