From: Tay Ray Chuan <rctay89@gmail.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: git@vger.kernel.org, Clemens Buchacher <drizzd@aon.at>
Subject: Re: [RFC PATCH v4 26/26] test smart http fetch and push
Date: Sat, 31 Oct 2009 00:10:45 +0800 [thread overview]
Message-ID: <be6fef0d0910300910x5e8bc552k4f020ca8bb890352@mail.gmail.com> (raw)
In-Reply-To: <1256774448-7625-27-git-send-email-spearce@spearce.org>
Hi,
On Thu, Oct 29, 2009 at 8:00 AM, Shawn O. Pearce <spearce@spearce.org> wrote:
> The top level directory "/git/" of the test Apache server is mapped
> through our git-http-backend CGI, but uses the same underlying
> repository space as the server's document root. This is the most
> simple installation possible.
Having "/git/" reside as a subdirectory in "/" where WebDAV is enabled
may be confusing to readers. I think we should use "/smart/" for the
CGI map, and consequently, use "/dumb/" for WebDAV repositories,
rather than the root "/" that it is occupying.
> diff --git a/t/t5541-http-push.sh b/t/t5541-http-push.sh
>[snip]
> +test_expect_success 'push to remote repository with packed refs' '
> + cd "$ROOT_PATH"/test_repo_clone &&
> + : >path2 &&
> + git add path2 &&
> + test_tick &&
> + git commit -m path2 &&
> + HEAD=$(git rev-parse --verify HEAD) &&
> + git push &&
> + (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
> + test $HEAD = $(git rev-parse --verify HEAD))
> +'
> +
> +test_expect_success 'push already up-to-date' '
> + git push
> +'
> +
> +test_expect_success 'push to remote repository with unpacked refs' '
> + (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
> + rm packed-refs &&
> + git update-ref refs/heads/master $ORIG_HEAD) &&
> + git push &&
> + (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
> + test $HEAD = $(git rev-parse --verify HEAD))
> +'
Mention of "packed refs" should be removed from the description, and
the 'unpacked refs' test, irrelevant in this context, should be
removed too. The assumptions these tests are based on is relevant to
t5540, but not in t5541. My explanation follows.
(Clemens, the following also addresses your non-desire to remove the
"unpacked refs" test in your earlier email
<20091025161630.GB8532@localhost>.)
In the "old" (v1.6.5) http push mechanism, no refspec is passed to the
http-push helper. This shouldn't be the case, because match_refs is
done in transport.c::transport_push, but then transport->push_refs
isn't defined so this doesn't happen.
http-push is then depended on to learn of the remote refs and match
them itself, but it does badly at this, since it only recurses through
/refs/heads in the remote repository. None could be found, since
they've all been packed. Thus the push in the first test failed.
Nothing has been pushed to the remote repository. The following push
in the "unpacked refs" corrects this after "unpacking" the refs.
Clearly, these test are about the ability of http push mechanism to
learn of refs in /refs/heads and (lack thereof) from /packed-refs.
But in this patch series, this is no longer the case.
transport->push_refs is now defined, so what happens is that the
http-push helper is passed a refspec, unlike in the "old" mechanism.
http-push, using this refspec, now matches refs properly (though it
still does its recursion thing). Thus the push in the first test
(should) succeed. The push in the "unpacked refs" test is now
irrelevant, since the first push has already successfully pushed
changes to the remote repository.
So, what we should have is just one no-frills push test, keeping as
well the "push already up-to-date" test.
--
Cheers,
Ray Chuan
next prev parent reply other threads:[~2009-10-30 16:10 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-29 0:00 [RFC PATCH v4 00/26] Return of smart HTTP Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 01/26] http-push: fix check condition on http.c::finish_http_pack_request() Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 02/26] pkt-line: Add strbuf based functions Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 03/26] pkt-line: Make packet_read_line easier to debug Shawn O. Pearce
2009-10-29 3:27 ` Junio C Hamano
2009-10-29 15:11 ` Shawn O. Pearce
2009-10-29 20:43 ` Junio C Hamano
2009-10-29 21:58 ` Shawn O. Pearce
2009-10-30 17:57 ` Jeff King
2009-10-30 19:12 ` Shawn O. Pearce
2009-10-30 19:30 ` Jeff King
2009-10-30 19:31 ` David Brown
2009-10-30 19:35 ` Junio C Hamano
2009-10-29 0:00 ` [RFC PATCH v4 04/26] fetch-pack: Use a strbuf to compose the want list Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 05/26] Move "get_ack()" back to fetch-pack Shawn O. Pearce
2009-10-29 3:24 ` Junio C Hamano
2009-10-29 15:08 ` Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 06/26] Add multi_ack_detailed capability to fetch-pack/upload-pack Shawn O. Pearce
2009-10-29 5:57 ` Junio C Hamano
2009-10-29 16:17 ` Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 07/26] remote-curl: Refactor walker initialization Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 08/26] fetch: Allow transport -v -v -v to set verbosity to 3 Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 09/26] remote-helpers: Fetch more than one ref in a batch Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 10/26] remote-helpers: Support custom transport options Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 11/26] Move WebDAV HTTP push under remote-curl Shawn O. Pearce
2009-10-30 15:02 ` Tay Ray Chuan
2009-10-31 0:09 ` Shawn O. Pearce
2009-10-30 16:10 ` Tay Ray Chuan
2009-10-30 19:06 ` Clemens Buchacher
2009-10-30 23:20 ` Tay Ray Chuan
2009-10-29 0:00 ` [RFC PATCH v4 12/26] remote-helpers: return successfully if everything up-to-date Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 13/26] Git-aware CGI to provide dumb HTTP transport Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 14/26] Add stateless RPC options to upload-pack, receive-pack Shawn O. Pearce
2009-10-29 3:42 ` Junio C Hamano
2009-10-29 15:26 ` Shawn O. Pearce
2009-10-29 20:43 ` Junio C Hamano
2009-10-30 23:59 ` Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 15/26] Smart fetch and push over HTTP: server side Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 16/26] http-backend: add GIT_PROJECT_ROOT environment var Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 17/26] http-backend: reword some documentation Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 18/26] http-backend: use mod_alias instead of mod_rewrite Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 19/26] http-backend: add example for gitweb on same URL Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 20/26] http-backend: more explict LocationMatch Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 21/26] Discover refs via smart HTTP server when available Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 22/26] Smart push over HTTP: client side Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 23/26] Smart fetch " Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 24/26] Smart HTTP fetch: gzip requests Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 25/26] t5540-http-push: remove redundant fetches Shawn O. Pearce
2009-10-29 0:00 ` [RFC PATCH v4 26/26] test smart http fetch and push Shawn O. Pearce
2009-10-29 0:31 ` Clemens Buchacher
2009-10-29 14:32 ` Shawn O. Pearce
2009-10-29 3:20 ` Junio C Hamano
2009-10-29 14:37 ` Shawn O. Pearce
2009-10-29 14:56 ` Shawn O. Pearce
2009-10-30 22:21 ` Junio C Hamano
2009-10-30 22:59 ` Shawn O. Pearce
2009-10-30 16:10 ` Tay Ray Chuan [this message]
2009-10-31 0:13 ` Shawn O. Pearce
2009-10-29 8:12 ` [RFC PATCH v4 00/26] Return of smart HTTP Jakub Narebski
2009-10-29 15:28 ` Shawn O. Pearce
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=be6fef0d0910300910x5e8bc552k4f020ca8bb890352@mail.gmail.com \
--to=rctay89@gmail.com \
--cc=drizzd@aon.at \
--cc=git@vger.kernel.org \
--cc=spearce@spearce.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).