From: Clemens Buchacher <drizzd@aon.at>
To: "Artur R. Czechowski" <arturcz@hell.pl>
Cc: git@vger.kernel.org
Subject: Re: Cannot clone the git repository shared over http with authorization.
Date: Sun, 1 Apr 2012 22:53:26 +0200 [thread overview]
Message-ID: <20120401205324.GA31046@ecki> (raw)
In-Reply-To: <20120401194534.GA16512@ecki>
On Sun, Apr 01, 2012 at 09:45:36PM +0200, Clemens Buchacher wrote:
> On Sun, Apr 01, 2012 at 08:48:04PM +0200, Artur R. Czechowski wrote:
> >
> > arturcz@szczaw:/tmp$ git clone http://blabluga.hell.pl/git/test.git
> > Cloning into 'test'...
> > error: The requested URL returned error: 401 (curl_result = 22, http_code = 401, sha1 = e884293079beab9f2583b59b4e05479fc84fc588)
> > error: Unable to find e884293079beab9f2583b59b4e05479fc84fc588 under http://blabluga.hell.pl/git/test.git
> > Cannot obtain needed commit e884293079beab9f2583b59b4e05479fc84fc588
> > while processing commit c64bcf957545f61436d405326d985521dc45058f.
> > error: Fetch failed.
This is the minimal test case I could find to reproduce this reliably on
in our test suite. It seems that a certain number of loose objects is
also required to trigger the issue.
diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf
index 3c12b05..d31c083 100644
--- a/t/lib-httpd/apache.conf
+++ b/t/lib-httpd/apache.conf
@@ -77,6 +77,13 @@ SSLMutex file:ssl_mutex
SSLEngine On
</IfDefine>
+<Location /dumb/auth/>
+ AuthType Basic
+ AuthName "git-auth"
+ AuthUserFile passwd
+ Require valid-user
+</Location>
+
<Location /auth/>
AuthType Basic
AuthName "git-auth"
diff --git a/t/t5550-http-fetch.sh b/t/t5550-http-fetch.sh
index e5e6b8f..3eb8753 100755
--- a/t/t5550-http-fetch.sh
+++ b/t/t5550-http-fetch.sh
@@ -13,17 +13,22 @@ LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5550'}
start_httpd
test_expect_success 'setup repository' '
- echo content >file &&
+ echo content1 >file &&
git add file &&
git commit -m one
+ echo content2 >file &&
+ git add file &&
+ git commit -m two
'
test_expect_success 'create http-accessible bare repository' '
- mkdir "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
+ cp -r .git "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
(cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- git --bare init &&
+ git config core.bare true &&
+ mv hooks-disabled hooks &&
echo "exec git update-server-info" >hooks/post-update &&
- chmod +x hooks/post-update
+ chmod +x hooks/post-update &&
+ hooks/post-update
) &&
git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
git push public master:master
@@ -73,6 +78,13 @@ expect_askpass() {
test_cmp askpass-expect askpass-query
}
+test_expect_success 'clone password-protected repository with dumb http' '
+ >askpass-query &&
+ echo user@host >askpass-response &&
+ GIT_CURL_VERBOSE=1 git clone "$HTTPD_URL/dumb/auth/repo.git" repo-dumb-auth &&
+ expect_askpass both user@host
+'
+
test_expect_success 'cloning password-protected repository can fail' '
>askpass-query &&
echo wrong >askpass-response &&
next prev parent reply other threads:[~2012-04-01 20:53 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-01 18:48 Cannot clone the git repository shared over http with authorization Artur R. Czechowski
2012-04-01 19:45 ` Clemens Buchacher
2012-04-01 20:53 ` Clemens Buchacher [this message]
2012-04-02 8:31 ` Jeff King
2012-04-10 9:53 ` Clemens Buchacher
2012-04-10 9:53 ` [PATCH 1/2] http auth fails with multiple curl handles Clemens Buchacher
2012-04-10 9:53 ` [PATCH 2/2] fix http auth " Clemens Buchacher
2012-04-12 7:09 ` Jeff King
2012-04-12 22:50 ` Junio C Hamano
2012-04-13 6:16 ` Jeff King
2012-04-13 6:18 ` [PATCH 1/2] http: clean up leak in init_curl_http_auth Jeff King
2012-04-13 6:19 ` [PATCH 2/2] http: use newer curl options for setting credentials Jeff King
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=20120401205324.GA31046@ecki \
--to=drizzd@aon.at \
--cc=arturcz@hell.pl \
--cc=git@vger.kernel.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).