All of lore.kernel.org
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Christian Couder <christian.couder@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Jeff King <peff@peff.net>, Ben Peart <Ben.Peart@microsoft.com>,
	Jonathan Tan <jonathantanmy@google.com>,
	Jonathan Nieder <jrnieder@gmail.com>,
	Nguyen Thai Ngoc Duy <pclouds@gmail.com>,
	Mike Hommey <mh@glandium.org>,
	Lars Schneider <larsxschneider@gmail.com>,
	Eric Wong <e@80x24.org>,
	Christian Couder <chriscool@tuxfamily.org>,
	Jeff Hostetler <jeffhost@microsoft.com>,
	Eric Sunshine <sunshine@sunshineco.com>,
	Beat Bolli <dev+git@drbeat.li>
Subject: Re: [PATCH v4 09/11] t0410: test fetching from many promisor remotes
Date: Fri, 5 Apr 2019 02:56:24 +0200	[thread overview]
Message-ID: <20190405005624.GS32732@szeder.dev> (raw)
In-Reply-To: <20190401164045.17328-10-chriscool@tuxfamily.org>

On Mon, Apr 01, 2019 at 06:40:43PM +0200, Christian Couder wrote:
> From: Christian Couder <christian.couder@gmail.com>
> 
> This shows that it is now possible to fetch objects from more
> than one promisor remote, and that fetching from a new
> promisor remote can configure it as one.
> 
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
>  t/t0410-partial-clone.sh | 47 +++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 46 insertions(+), 1 deletion(-)
> 
> diff --git a/t/t0410-partial-clone.sh b/t/t0410-partial-clone.sh
> index 9266037714..146b0a1e03 100755
> --- a/t/t0410-partial-clone.sh
> +++ b/t/t0410-partial-clone.sh
> @@ -182,8 +182,53 @@ test_expect_success 'fetching of missing objects works with ref-in-want enabled'
>  	grep "git< fetch=.*ref-in-want" trace
>  '
>  
> +test_expect_success 'fetching of missing objects from another promisor remote' '
> +	git clone "file://$(pwd)/server" server2 &&
> +	test_commit -C server2 bar &&
> +	git -C server2 repack -a -d --write-bitmap-index &&
> +	HASH2=$(git -C server2 rev-parse bar) &&
> +
> +	git -C repo remote add server2 "file://$(pwd)/server2" &&
> +	git -C repo config remote.server2.promisor true &&
> +	git -C repo cat-file -p "$HASH2" &&
> +
> +	git -C repo fetch server2 &&
> +	rm -rf repo/.git/objects/* &&
> +	git -C repo cat-file -p "$HASH2" &&
> +
> +	# Ensure that the .promisor file is written, and check that its
> +	# associated packfile contains the object
> +	ls repo/.git/objects/pack/pack-*.promisor >promisorlist &&
> +	test_line_count = 1 promisorlist &&
> +	IDX=$(cat promisorlist | sed "s/promisor$/idx/") &&

You could drop the unnecessary 'cat', 'sed' is capable to open a file
on its own.

> +     git verify-pack --verbose "$IDX" | grep "$HASH2"

Please don't run a git command, especially one with "verify" in its
name, upstream of a pipe, because the pipe will hide the git command's
exit code.


> +'
> +
> +test_expect_success 'fetching of missing objects configures a promisor remote' '
> +	git clone "file://$(pwd)/server" server3 &&
> +	test_commit -C server3 baz &&
> +	git -C server3 repack -a -d --write-bitmap-index &&
> +	HASH3=$(git -C server3 rev-parse baz) &&
> +	git -C server3 config uploadpack.allowfilter 1 &&
> +
> +	rm repo/.git/objects/pack/pack-*.promisor &&
> +
> +	git -C repo remote add server3 "file://$(pwd)/server3" &&
> +	git -C repo fetch --filter="blob:none" server3 $HASH3 &&
> +
> +	test "$(git -C repo config remote.server3.promisor)" = "true" &&

Please use test_cmp_config.

> +	# Ensure that the .promisor file is written, and check that its
> +	# associated packfile contains the object
> +	ls repo/.git/objects/pack/pack-*.promisor >promisorlist &&
> +	test_line_count = 1 promisorlist &&
> +	IDX=$(cat promisorlist | sed "s/promisor$/idx/") &&
> +	git verify-pack --verbose "$IDX" | grep "$HASH3"

Likewise.

> +'
> +
>  test_expect_success 'fetching of missing blobs works' '
> -	rm -rf server repo &&
> +	rm -rf server server2 repo &&
> +	rm -rf server server3 repo &&
>  	test_create_repo server &&
>  	test_commit -C server foo &&
>  	git -C server repack -a -d --write-bitmap-index &&
> -- 
> 2.21.0.203.gd44fa53258
> 

  reply	other threads:[~2019-04-05  0:56 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-01 16:40 [PATCH v4 00/11] Many promisor remotes Christian Couder
2019-04-01 16:40 ` [PATCH v4 01/11] fetch-object: make functions return an error code Christian Couder
2019-04-01 16:40 ` [PATCH v4 02/11] Add initial support for many promisor remotes Christian Couder
2019-04-03 22:08   ` SZEDER Gábor
2019-04-04  8:02     ` Christian Couder
2019-04-01 16:40 ` [PATCH v4 03/11] promisor-remote: implement promisor_remote_get_direct() Christian Couder
2019-04-01 16:40 ` [PATCH v4 04/11] promisor-remote: add promisor_remote_reinit() Christian Couder
2019-04-01 16:40 ` [PATCH v4 05/11] promisor-remote: use repository_format_partial_clone Christian Couder
2019-04-01 16:40 ` [PATCH v4 06/11] Use promisor_remote_get_direct() and has_promisor_remote() Christian Couder
2019-04-01 16:40 ` [PATCH v4 07/11] promisor-remote: parse remote.*.partialclonefilter Christian Couder
2019-04-01 16:40 ` [PATCH v4 08/11] builtin/fetch: remove unique promisor remote limitation Christian Couder
2019-04-01 16:40 ` [PATCH v4 09/11] t0410: test fetching from many promisor remotes Christian Couder
2019-04-05  0:56   ` SZEDER Gábor [this message]
2019-04-01 16:40 ` [PATCH v4 10/11] partial-clone: add multiple remotes in the doc Christian Couder
2019-04-01 16:40 ` [PATCH v4 11/11] remote: add promisor and partial clone config to " Christian Couder
2019-04-04  7:23 ` [PATCH v4 00/11] Many promisor remotes Junio C Hamano
2019-04-04  7:59   ` Christian Couder
2019-04-05 20:07   ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190405005624.GS32732@szeder.dev \
    --to=szeder.dev@gmail.com \
    --cc=Ben.Peart@microsoft.com \
    --cc=chriscool@tuxfamily.org \
    --cc=christian.couder@gmail.com \
    --cc=dev+git@drbeat.li \
    --cc=e@80x24.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jeffhost@microsoft.com \
    --cc=jonathantanmy@google.com \
    --cc=jrnieder@gmail.com \
    --cc=larsxschneider@gmail.com \
    --cc=mh@glandium.org \
    --cc=pclouds@gmail.com \
    --cc=peff@peff.net \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.