Merge branch 'dh/repack' (early part)
[gitweb.git] / Documentation / urls.txt
index e027c71e07de22273bf74910615b843e93417896..745f9677d005b522f52496339abd5afc4267a815 100644 (file)
@@ -1,49 +1,70 @@
+GIT URLS[[URLS]]
+----------------
+
 One of the following notations can be used
 to name the remote repository:
-+
+
 ===============================================================
 - rsync://host.xz/path/to/repo.git/
 - http://host.xz/path/to/repo.git/
 - https://host.xz/path/to/repo.git/
 - git://host.xz/path/to/repo.git/
 - git://host.xz/~user/path/to/repo.git/
-- ssh://host.xz/path/to/repo.git/
-- ssh://host.xz/~user/path/to/repo.git/
-- ssh://host.xz/~/path/to/repo.git
+- ssh://{startsb}user@{endsb}host.xz/path/to/repo.git/
+- ssh://{startsb}user@{endsb}host.xz/~user/path/to/repo.git/
+- ssh://{startsb}user@{endsb}host.xz/~/path/to/repo.git
 ===============================================================
-+
-SSH Is the default transport protocol and also supports an
-scp-like syntax.  Both syntaxes support username expansion,
+
+SSH is the default transport protocol.  You can optionally specify
+which user to log-in as, and an alternate, scp-like syntax is also
+supported.  Both syntaxes support username expansion,
 as does the native git protocol. The following three are
 identical to the last three above, respectively:
-+
+
 ===============================================================
-- host.xz:/path/to/repo.git/
-- host.xz:~user/path/to/repo.git/
-- host.xz:path/to/repo.git
+- {startsb}user@{endsb}host.xz:/path/to/repo.git/
+- {startsb}user@{endsb}host.xz:~user/path/to/repo.git/
+- {startsb}user@{endsb}host.xz:path/to/repo.git
 ===============================================================
-+
+
 To sync with a local directory, use:
-+
+
 ===============================================================
 - /path/to/repo.git/
 ===============================================================
-+
+
+REMOTES
+-------
+
 In addition to the above, as a short-hand, the name of a
 file in `$GIT_DIR/remotes` directory can be given; the
 named file should be in the following format:
-+
+
+------------
        URL: one of the above URL format
        Push: <refspec>
        Pull: <refspec>
-+
-When such a short-hand is specified in place of
+
+------------
+
+Then such a short-hand is specified in place of
 <repository> without <refspec> parameters on the command
 line, <refspec> specified on `Push:` lines or `Pull:`
 lines are used for `git-push` and `git-fetch`/`git-pull`,
-respectively.  Multiple `Push:` and and `Pull:` lines may
+respectively.  Multiple `Push:` and `Pull:` lines may
 be specified for additional branch mappings.
-+
+
+Or, equivalently, in the `$GIT_DIR/config` (note the use
+of `fetch` instead of `Pull:`):
+
+------------
+       [remote "<remote>"]
+               url = <url>
+               push = <refspec>
+               fetch = <refspec>
+
+------------
+
 The name of a file in `$GIT_DIR/branches` directory can be
 specified as an older notation short-hand; the named
 file should contain a single line, a URL in one of the
@@ -52,11 +73,16 @@ name of remote head (URL fragment notation).
 `$GIT_DIR/branches/<remote>` file that stores a <url>
 without the fragment is equivalent to have this in the
 corresponding file in the `$GIT_DIR/remotes/` directory.
-+
+
+------------
        URL: <url>
        Pull: refs/heads/master:<remote>
-+
+
+------------
+
 while having `<url>#<head>` is equivalent to
-+
+
+------------
        URL: <url>
        Pull: refs/heads/<head>:<remote>
+------------