git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: git@vger.kernel.org
Subject: Re: dumb transports not being welcomed..
Date: Tue, 13 Sep 2005 15:11:42 -0700	[thread overview]
Message-ID: <7vpsrcwrc1.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <7vacig1wrb.fsf@assigned-by-dhcp.cox.net> (Junio C. Hamano's message of "Tue, 13 Sep 2005 14:30:16 -0700")

Junio C Hamano <junkio@cox.net> writes:

> Sam Ravnborg <sam@ravnborg.org> writes:
>
>> Whats wrong using cogito?
>> In other words. Why does you feel like that when we use cogito to do
>> cg-update.
>
> Using cogito is not a problem at all.  The mechanism to prepare
> trees to serve wider audience not being used widely is.

I need to clarify what I meant by 'not welcoming dumb transport'
a bit better.  Namely, those (~80 - 23) = ~57 repositories lack
support for 'git ls-remote' over http, which means you cannot
discover what refs the repository has.

Some people argued that it can be done via recursive wget on
refs/ hierarchy.  Here is what you would get if you do that
against kernel.org:

  $ wget -r -np -nH --cut-dirs=4 http://kernel.org/pub/scm/git/git.git/refs/.
  $ ls -R refs
  refs:
  ./      index.html          index.html?C=N;O=A  index.html?C=S;O=D
  ../     index.html?C=M;O=A  index.html?C=N;O=D  tags/
  heads/  index.html?C=M;O=D  index.html?C=S;O=A

  refs/heads:
  ./          index.html?C=M;O=A  index.html?C=N;O=D  master  todo
  ../         index.html?C=M;O=D  index.html?C=S;O=A  pu
  index.html  index.html?C=N;O=A  index.html?C=S;O=D  rc

  refs/tags:
  ./                  index.html?C=M;O=D  index.html?C=S;O=D  v0.99.2  v0.99.6
  ../                 index.html?C=N;O=A  junio-gpg-pub       v0.99.3
  index.html          index.html?C=N;O=D  v0.99               v0.99.4
  index.html?C=M;O=A  index.html?C=S;O=A  v0.99.1             v0.99.5

Of course, I do not have a branch called index.html there, and
this also means I will not be able to have a branch with that
name even if I wanted to.

Also some webservers are configured not to even allow directory
index, and they may use different formatting for directory index
even when they do support it, so excluding anything that matches
index.html* would work well but that is only heuristics.

The file $GIT_DIR/info/refs was introduced to solve this by
listing the available refs for discovery, and hooks/post-update,
when enabled, runs update-server-info to update the file (among
other things) whenever you push into the repository.  info/refs
is not strictly necessary for repositories at kernel.org because
people tend to know what refs are available for pulling and you
can always visit there via gitweb to find it out.

I just felt that it is a good habit to get into to prepare your
repositories in a shape usable even when served by an HTTP
server that is less forgiving than what kernel.org runs -- that
was what I felt "discouraging" about.

Another thing is that the missing info/refs file means the
repository is not prepared with update-server-info, so it is
likely that it lacks objects/info/packs to describe what packs
are in the object database.  I believe cogito uses git-http-pull
after you tell which ref to pull, and this step would break if
the repository is packed, objects/info/packs is not available,
and if the downloader does not have an object that is already
prune-packed in the repository.  This means either people are
not packing their repository (hence nobody complained), or
public are pulling over rsync transport (which slurps everything
in sight).  Both are good reasons to feel discouraged about.

  parent reply	other threads:[~2005-09-13 22:11 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-13 21:07 dumb transports not being welcomed Junio C Hamano
2005-09-13 21:14 ` Sam Ravnborg
2005-09-13 21:30   ` Junio C Hamano
2005-09-13 21:42     ` Sam Ravnborg
2005-09-13 22:03     ` Horst von Brand
2005-09-13 22:23       ` Junio C Hamano
2005-09-13 22:11     ` Junio C Hamano [this message]
2005-09-13 22:21       ` Jeff Garzik
2005-09-13 22:29         ` Junio C Hamano
2005-09-14 13:21           ` Jeff Garzik
2005-09-13 22:29       ` Linus Torvalds
2005-09-13 22:37         ` Junio C Hamano
2005-09-13 22:55           ` Linus Torvalds
2005-09-13 23:02             ` Junio C Hamano
2005-09-14  2:25               ` Kay Sievers
2005-09-14  3:32                 ` Junio C Hamano
2005-09-14  0:01         ` Johannes Schindelin
2005-09-14  0:57           ` Linus Torvalds
2005-09-14  1:42             ` Linus Torvalds
2005-09-14  8:38             ` Johannes Schindelin
2005-09-14 15:07               ` Linus Torvalds
2005-09-15  9:17         ` Junio C Hamano
2005-09-14 10:45       ` Sven Verdoolaege
2005-09-14 16:14         ` Junio C Hamano
2005-09-14 14:10       ` Jon Loeliger
2005-09-14 19:00         ` Junio C Hamano
2005-09-14 19:13           ` Jon Loeliger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vpsrcwrc1.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=git@vger.kernel.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).