Is git-update-server-info not enough to clone a remote repo?

I would like to make the git repository available through the Nginx HTTPS server.

I set up a post-commit binding to run git -update-server-info to update links for the dumb backend.

Retrieving updates via the HTTPS interface works great, but it doesn’t work during the initial check of the repository:

[test@test ttt]$ git clone https://server/git/test.git/
Cloning into thesis...
Username: 
Password: 
error: The requested URL returned error: 401 (curl_result = 22, http_code = 401, sha1 = 2be2bcc15d1a79eb4e37e03fd2070ee0f229457c)
error: Unable to find 2be2bcc15d1a79eb4e37e03fd2070ee0f229457c under https://test/git/test.git
Cannot obtain needed commit 2be2bcc15d1a79eb4e37e03fd2070ee0f229457c
while processing commit 6c155f7098fd75f23edf71ac5b70b7c22f6070e7.
error: Fetch failed.

In manual mode, "git update-server-info" in the server-side repository does not fix the problem, but "git gc" is executed.

However, the git gc fix only works until I push the update to the server, after which the git clone problem starts again.

On the server, I run git 1.7.1 (from backports Debian), on the client, I run 1.7.2.2 (from Arch Linux)

, ? , "" HTTP- .

+3
3

, URL-:

https://myuser@server/git/test.git/
+10

, , : git , , 401 ( ).

, : netrc.

machine <server>
login <username>
password <password>

$HOME/.netrc $HOME/_netrc msysgit, .

+4

Source: https://habr.com/ru/post/1763788/


All Articles