git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3] Documentation/urls: Rewrite to accomodate <transport>::<address>

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
Apr 5, 2010, 13:56 UTC
Message-ID
<n2rf3271551004050656vdd7d242dpeebacb25d4082f75@mail.gmail.com>

Rewrite the first part of the document to explicitly show differences between the URLs that can be used with different transport protocols. Mention <transport>::<address> format to explicitly invoke a remote helper.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
---
 Added ftp, ftps and clarified a few things after Ilari's review of v2.
 Documentation/urls.txt |   64 +++++++++++++++++++++++++----------------------
 1 files changed, 34 insertions(+), 30 deletions(-)
diff --git a/Documentation/urls.txt b/Documentation/urls.txt
index 459a394..75743f2 100644
--- a/Documentation/urls.txt
+++ b/Documentation/urls.txt
@@ -1,44 +1,48 @@
 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{startsb}:port{endsb}/path/to/repo.git/
-- https://host.xz{startsb}:port{endsb}/path/to/repo.git/
-- git://host.xz{startsb}:port{endsb}/path/to/repo.git/
-- git://host.xz{startsb}:port{endsb}/~user/path/to/repo.git/
-- ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/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 over the network.  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, but
-only the former supports port specification. The following
-three are identical to the last three above, respectively:
-
-- {startsb}user@{endsb}host.xz:/path/to/repo.git/
-- {startsb}user@{endsb}host.xz:~user/path/to/repo.git/
+In general, URLs contain information about the transport protocol, the
+address of the remote server, and the path to the repository.
+Depending on the transport protocol, some of this information may be
+absent.
+
+In addition to SSH, which is the default transport protocol over the
+network, git natively supports git, rsync, http, https, ftp, and ftps
+protocols. The following syntaxes may be used with them. Only SSH and
+git protocols support username expansion.
+
+- ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/path/to/repo.git
+- git://host.xz{startsb}:port{endsb}/path/to/repo.git
+- rsync://host.xz/path/to/repo.git
+- http{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git
+- ftp{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git
+
+The SSH protocol also supports an alternative scp-like syntax:
+
 - {startsb}user@{endsb}host.xz:path/to/repo.git

-To sync with a local directory, you can use:
+For local respositories, also supported by git natively, the following
+syntaxes may be used:

-- /path/to/repo.git/
-- file:///path/to/repo.git/
+- /path/to/repo.git
+- file:///path/to/repo.git

 ifndef::git-clone[]
-They are mostly equivalent, except when cloning.  See
-linkgit:git-clone[1] for details.
+These two syntaxes are mostly equivalent, except when cloning, when
+the former implies --local option. See linkgit:git-clone[1] for
+details.
 endif::git-clone[]

-ifdef::git-clone[]
-They are equivalent, except the former implies --local option.
-endif::git-clone[]
+When git doesn't know how to handle a certain transport protocol, it
+attempts to use the 'remote-<transport>' remote helper, if one
+exists. To explicitly request a remote helper, the following syntax
+may be used:
+
+- <transport>::<address>

+where <address> may be a path, a server and path, or an arbitrary
+URL-like string recognized by the specific remote helper being
+invoked. See linkgit:git-remote-helpers[1] for details.

 If there are a large number of similarly-named remote repositories and
 you want to use a different format for them (such that the URLs you
-- 
1.7.0.3
Next: Junio C Hamano
Message 1 of 3 in “Documentation/urls: Rewrite to accomodate <transport>::<address>”
  1. Documentation/urls: Rewrite to accomodate <transport>::<address>Ramkumar Ramachandra, Apr 5, 2010
  2. Junio C HamanoApr 5, 2010
  3. Ramkumar RamachandraApr 6, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.