Skip to content

[Outreachy PATCH] t0001: avoid pipes in test scripts - #2260

Open
poojarysrujith wants to merge 1 commit into
gitgitgadget:masterfrom
poojarysrujith:microproject-init-pipe
Open

poojarysrujith wants to merge 1 commit into
gitgitgadget:masterfrom
poojarysrujith:microproject-init-pipe

Conversation

@poojarysrujith

@poojarysrujith poojarysrujith commented Oct 16, 2026 •

Copy link
Copy Markdown

cc: Usman Akinyemi usmanakinyemi202@gmail.com

@poojarysrujith

Copy link
Copy Markdown
Author

/submit

@gitgitgadget

gitgitgadget Bot commented Oct 18, 2026

Copy link
Copy Markdown

Submitted as pull.2260.git.1792299301663.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-2260/poojarysrujith/microproject-init-pipe-v1

To fetch this version to local tag pr-2260/poojarysrujith/microproject-init-pipe-v1:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-2260/poojarysrujith/microproject-init-pipe-v1

@gitgitgadget

gitgitgadget Bot commented Oct 21, 2026

Copy link
Copy Markdown

Usman Akinyemi wrote on the Git mailing list (how to reply to this email):

> diff --git a/t/t0001-init.sh b/t/t0001-init.sh
> index f1d227f271..e835afee68 100755
> --- a/t/t0001-init.sh
> +++ b/t/t0001-init.sh
> @@ -678,7 +678,7 @@ test_expect_success 'default ref format' '
>                 sane_unset GIT_DEFAULT_REF_STORAGE_FORMAT &&
>                 git init refformat
>         ) &&
> -       git version --build-options | sed -ne "s/^default-ref-storage-format: //p" >expect &&
> +       git version --build-options >build-options && sed -ne "s/^default-ref-storage-format: //p" build-options >expect &&
We can put this in two lines, something like this:

               git version --build-options >build-options &&
               sed -ne "s/^default-ref-storage-format: //p"
build-options >expect &&

>         git -C refformat rev-parse --show-ref-storage-format >actual &&

Thanks for the patch.

@gitgitgadget

gitgitgadget Bot commented Oct 21, 2026

Copy link
Copy Markdown

User Usman Akinyemi <usmanakinyemi202@gmail.com> has been added to the cc: list.

Avoid piping output from git version directly into sed to ensure

that any command failure is properly caught by test scripts.

Signed-off-by: Srujith Poojary <poojarysrujith@gmail.com>
@poojarysrujith

Copy link
Copy Markdown
Author

/submit

@gitgitgadget

gitgitgadget Bot commented Oct 22, 2026

Copy link
Copy Markdown

Submitted as pull.2260.v2.git.1792666211685.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-2260/poojarysrujith/microproject-init-pipe-v2

To fetch this version to local tag pr-2260/poojarysrujith/microproject-init-pipe-v2:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-2260/poojarysrujith/microproject-init-pipe-v2

@gitgitgadget

gitgitgadget Bot commented Oct 22, 2026

Copy link
Copy Markdown

Srujith Poojary wrote on the Git mailing list (how to reply to this email):

Hi Usman,

Thanks for the suggestion! I have updated the script to split the
command into two separate lines as recommended and resolved a trailing
whitespace issue.
I've submitted v2 of the patch to the mailing list via GitGitGadget.

Best regards,
Srujith

On Thu, Oct 22, 2026 at 4:20 PM Srujith A Poojary via GitGitGadget
<gitgitgadget@gmail.com> wrote:
>
> From: Srujith Poojary <poojarysrujith@gmail.com>
>
> Avoid piping output from git version directly into sed to ensure
>
> that any command failure is properly caught by test scripts.
>
> Signed-off-by: Srujith Poojary <poojarysrujith@gmail.com>
> ---
>     [Outreachy PATCH] t0001: avoid pipes in test scripts
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2260%2Fpoojarysrujith%2Fmicroproject-init-pipe-v2
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2260/poojarysrujith/microproject-init-pipe-v2
> Pull-Request: https://github.com/gitgitgadget/git/pull/2260
>
> Range-diff vs v1:
>
>  1:  92ecaec2cd ! 1:  7d118290ce [Outreachy PATCH] t0001: avoid pipes in test scripts
>      @@ t/t0001-init.sh: test_expect_success 'default ref format' '
>                 git init refformat
>         ) &&
>       - git version --build-options | sed -ne "s/^default-ref-storage-format: //p" >expect &&
>      -+ git version --build-options >build-options && sed -ne "s/^default-ref-storage-format: //p" build-options >expect &&
>      ++ git version --build-options >build-options &&
>      ++         sed -ne "s/^default-ref-storage-format: //p" build-options >expect &&
>         git -C refformat rev-parse --show-ref-storage-format >actual &&
>         test_cmp expect actual
>        '
>
>
>  t/t0001-init.sh | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/t/t0001-init.sh b/t/t0001-init.sh
> index f1d227f271..02217a9bf8 100755
> --- a/t/t0001-init.sh
> +++ b/t/t0001-init.sh
> @@ -678,7 +678,8 @@ test_expect_success 'default ref format' '
>                 sane_unset GIT_DEFAULT_REF_STORAGE_FORMAT &&
>                 git init refformat
>         ) &&
> -       git version --build-options | sed -ne "s/^default-ref-storage-format: //p" >expect &&
> +       git version --build-options >build-options &&
> +               sed -ne "s/^default-ref-storage-format: //p" build-options >expect &&
>         git -C refformat rev-parse --show-ref-storage-format >actual &&
>         test_cmp expect actual
>  '
>
> base-commit: 6de20f6092dcf9bdb1c8efe03db4b70c82b423dd
> --
> gitgitgadget

@gitgitgadget

gitgitgadget Bot commented Oct 22, 2026

Copy link
Copy Markdown

Junio C Hamano wrote on the Git mailing list (how to reply to this email):

"Srujith A Poojary via GitGitGadget" <gitgitgadget@gmail.com>
writes:

> From: Srujith Poojary <poojarysrujith@gmail.com>
>
> Avoid piping output from git version directly into sed to ensure
>
> that any command failure is properly caught by test scripts.
>
> Signed-off-by: Srujith Poojary <poojarysrujith@gmail.com>
> ---

You do not want a blank line in the middle of a sentence.

> diff --git a/t/t0001-init.sh b/t/t0001-init.sh
> index f1d227f271..02217a9bf8 100755
> --- a/t/t0001-init.sh
> +++ b/t/t0001-init.sh
> @@ -678,7 +678,8 @@ test_expect_success 'default ref format' '
>  		sane_unset GIT_DEFAULT_REF_STORAGE_FORMAT &&
>  		git init refformat
>  	) &&
> -	git version --build-options | sed -ne "s/^default-ref-storage-format: //p" >expect &&
> +	git version --build-options >build-options &&
> +		sed -ne "s/^default-ref-storage-format: //p" build-options >expect &&

Unnecessary indentation.  The only reason why you thought it was
needed was because the original was (wrongly) expressed as a single
pipeline.  Once that glitch is gone, anybody reading the resulting
code has no reason to think that this "sed" is associated stronger
to the previous "git version" than with the next "git rev-parse"
line.

>  	git -C refformat rev-parse --show-ref-storage-format >actual &&
>  	test_cmp expect actual
>  '
>
> base-commit: 6de20f6092dcf9bdb1c8efe03db4b70c82b423dd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant