Skip to content

Commit

Permalink
Documentation: HTTP needs update-server-info.
Browse files Browse the repository at this point in the history
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Dec 17, 2005
1 parent 01385e2 commit 80248b2
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 10 deletions.
11 changes: 11 additions & 0 deletions Documentation/everyday.txt
Original file line number Diff line number Diff line change
Expand Up @@ -424,3 +424,14 @@ for branch policy control.
david is the release manager and is the only person who can
create and push version tags.
------------

HTTP server to support dumb protocol transfer.::
+
------------
dev$ git update-server-info <1>
dev$ ftp user@isp.example.com <2>
ftp> cp -r .git /home/user/myproject.git

<1> make sure your info/refs and objects/info/packs are up-to-date
<2> upload to public HTTP server hosted by your ISP.
------------
6 changes: 3 additions & 3 deletions Documentation/git-update-server-info.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ SYNOPSIS

DESCRIPTION
-----------
A dumb server that does not do on-the-fly pack generations can
A dumb server that does not do on-the-fly pack generations must
have some auxiliary information files in $GIT_DIR/info and
$GIT_OBJECT_DIRECTORY/info directories to help clients discover
what references and packs the server has and make optimized
pull decisions. This command generates such auxiliary files.
what references and packs the server has. This command
generates such auxiliary files.


OPTIONS
Expand Down
18 changes: 11 additions & 7 deletions Documentation/tutorial.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1091,9 +1091,10 @@ lacks and transfers (close to) minimum set of objects.
HTTP(S)::
`http://remote.machine/path/to/repo.git/`
+
HTTP and HTTPS transport are used only for downloading. They
first obtain the topmost commit object name from the remote site
by looking at `repo.git/info/refs` file, tries to obtain the
Downloader from http and https URL
first obtains the topmost commit object name from the remote site
by looking at the specified refname under `repo.git/refs/` directory,
and then tries to obtain the
commit object by downloading from `repo.git/objects/xx/xxx\...`
using the object name of that commit object. Then it reads the
commit object to find out its parent commits and the associate
Expand All @@ -1104,7 +1105,9 @@ sometimes also called 'commit walkers'.
The 'commit walkers' are sometimes also called 'dumb
transports', because they do not require any git aware smart
server like git Native transport does. Any stock HTTP server
would suffice.
that does not even support directory index would suffice. But
you must prepare your repository with `git-update-server-info`
to help dumb transport downloaders.
+
There are (confusingly enough) `git-ssh-fetch` and `git-ssh-upload`
programs, which are 'commit walkers'; they outlived their
Expand Down Expand Up @@ -1517,12 +1520,13 @@ A recommended workflow for a "project lead" goes like this:
2. Prepare a public repository accessible to others.
+
If other people are pulling from your repository over dumb
transport protocols, you need to keep this repository 'dumb
transport friendly'. After `git init-db`,
transport protocols (HTTP), you need to keep this repository
'dumb transport friendly'. After `git init-db`,
`$GIT_DIR/hooks/post-update` copied from the standard templates
would contain a call to `git-update-server-info` but the
`post-update` hook itself is disabled by default -- enable it
with `chmod +x post-update`.
with `chmod +x post-update`. This makes sure `git-update-server-info`
keeps the necessary files up-to-date.

3. Push into the public repository from your primary
repository.
Expand Down

0 comments on commit 80248b2

Please sign in to comment.