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

Re: [PATCH] Add support for host aliases in config files

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Jan 25, 2008, 21:12 UTC
Message-ID
<alpine.LNX.1.00.0801251535380.13593@iabervon.org>
In-Reply-To
<7vir1h64k7.fsf@gitster.siamese.dyndns.org>
On Fri, 25 Jan 2008, Junio C Hamano wrote:
Show 20 quoted lines
> Jakub Narebski <jnareb@gmail.com> writes:
> 
> > So this config variable is actually about _rewriting_ URLs, rather than
> > having multiple _alternate_ URLs to fetch from. IMHO either the
> > documentation above should be (re)written better (there is time, as we
> > are in feature freeze), or the example mentioned above should be added
> > (but where?).
> 
> I think Documentation/urls.txt would be a good candidate.
> Currently it talks only about non-nicknamed remotes, and is
> included only in clone and remote.  This makes sense as their
> usage of urls.txt documentation is to talk about non-nicknamed
> forms only (obviously clone cannot talk about nicknames in a
> local repository that does not yet exist, and "remote add" needs
> a non-nicknamed form as well).
> 
> Documentation/urls.txt can be enhanced to say that once you have
> the remote.*.url and other configs, you can use its nickname to
> name a remote repository.  Then it would become a good enough
> shape to be included in push/fetch/pull pages as well.
Isn't that Documentation/urls-remotes.txt?

In any case, this is a different nicknaming mechanism, because remotes are nicknames for repositories, and this is nicknames for collections of similarly-named repositories. (E.g., all the different publicly-accessible repositories on kernel.org)

So, something like:
diff --git a/Documentation/urls.txt b/Documentation/urls.txt
index 81ac17f..f47b9e0 100644
--- a/Documentation/urls.txt
+++ b/Documentation/urls.txt
@@ -36,6 +36,29 @@ To sync with a local directory, you can use:
 - file:///path/to/repo.git/
 ===============================================================
 
+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
+use will be rewritten into URLs that work), you can create a
+configuration section of the form:
+
+------------
+	[host "<host>"]
+		base = <actual url base>
+		alias = <other url base>
+------------
+
+In particular, if you need to use URLs like
+git://git.host.xz/repo.git, and you're getting a lot of URLs like
+host.xz:/path/to/repo.git/, or you'd like to use a URL like
+"work:repo.git" you can use a section:
+
+------------
+	[host "host.xz"]
+		base = git://git.host.xz/
+		alias = host.xz:/path/to/
+		alias = work:
+------------
+
 ifndef::git-clone[]
 They are mostly equivalent, except when cloning.  See
 linkgit:git-clone[1] for details.

	-Daniel
*This .sig left intentionally blank*
Previous: Junio C HamanoNext: Jakub Narebski
Message 9 of 10 in “Add support for host aliases in config files”
  1. Add support for host aliases in config filesDaniel Barkalow, Jan 25, 2008
  2. Jakub NarebskiJan 25, 2008
  3. Junio C HamanoJan 25, 2008
  4. Daniel BarkalowJan 25, 2008
  5. Jakub NarebskiJan 25, 2008
  6. Daniel BarkalowJan 25, 2008
  7. Jakub NarebskiJan 25, 2008
  8. Junio C HamanoJan 25, 2008
  9. Daniel BarkalowJan 25, 2008
  10. Jakub NarebskiJan 25, 2008

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.