* repo.or.cz wishes?
@ 2007-08-26 23:59 Petr Baudis
2007-08-27 0:16 ` Sven Verdoolaege
` (3 more replies)
0 siblings, 4 replies; 28+ messages in thread
From: Petr Baudis @ 2007-08-26 23:59 UTC (permalink / raw)
To: git
Hi,
I've just finally killed the HTTP auth for project administration that
was destroying everyone's lives, and added support for resetting
forgotten passwords, two main things that seemed to be the popular nits
of the repo.or.cz audience.
So now I wonder, what is the thing you miss most there? Any cool stuff
repo.or.cz could (preferrably easily) do and doesn't?
And please don't ask for smaller roundtrip times of requests for
administrator assistance. ;-)
Thanks,
--
Petr "Pasky" Baudis
Ever try. Ever fail. No matter. // Try again. Fail again. Fail better.
-- Samuel Beckett
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-26 23:59 repo.or.cz wishes? Petr Baudis
@ 2007-08-27 0:16 ` Sven Verdoolaege
2007-08-27 0:41 ` Petr Baudis
2007-08-27 2:40 ` Sam Vilain
` (2 subsequent siblings)
3 siblings, 1 reply; 28+ messages in thread
From: Sven Verdoolaege @ 2007-08-27 0:16 UTC (permalink / raw)
To: Petr Baudis; +Cc: git, Jakub Narebski
On Mon, Aug 27, 2007 at 01:59:44AM +0200, Petr Baudis wrote:
> So now I wonder, what is the thing you miss most there? Any cool stuff
> repo.or.cz could (preferrably easily) do and doesn't?
Just a minor nit, but how about dropping the "git+" from the
Push URL?
Jakub was also talking about support in gitweb for specifying
the location of submodules. It would be nice if admins could
set this information, wherever it ends up getting stored.
skimo
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 0:16 ` Sven Verdoolaege
@ 2007-08-27 0:41 ` Petr Baudis
2007-08-27 18:23 ` Linus Torvalds
2007-08-27 21:58 ` Jakub Narebski
0 siblings, 2 replies; 28+ messages in thread
From: Petr Baudis @ 2007-08-27 0:41 UTC (permalink / raw)
To: skimo; +Cc: git, Jakub Narebski
On Mon, Aug 27, 2007 at 02:16:34AM CEST, Sven Verdoolaege wrote:
> On Mon, Aug 27, 2007 at 01:59:44AM +0200, Petr Baudis wrote:
> > So now I wonder, what is the thing you miss most there? Any cool stuff
> > repo.or.cz could (preferrably easily) do and doesn't?
>
> Just a minor nit, but how about dropping the "git+" from the
> Push URL?
I'm a major proponent of the "git+" - it's just the correct thing to
specify. ssh:// by itself means secure _shell_, and that's not what the
URL means - ssh is literaily just a transport layer for the git
protocol. This is not my invention but fairly standard thing which
plenty of people use, and it makes it possible to select proper protocol
handlers and so on, shall something generic crunch on the URL. I've
never actually understood why do some people dislike it.
> Jakub was also talking about support in gitweb for specifying
> the location of submodules. It would be nice if admins could
> set this information, wherever it ends up getting stored.
Hmm, this shouldn't be very hard to do if the support will get into
gitweb. And adding the support to gitweb shouldn't be that hard either.
:-) OTOH, it's not something that would get me terribly excited, so I
guess I'll wait for the gitweb side.
--
Petr "Pasky" Baudis
Early to rise and early to bed makes a male healthy and wealthy and dead.
-- James Thurber
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-26 23:59 repo.or.cz wishes? Petr Baudis
2007-08-27 0:16 ` Sven Verdoolaege
@ 2007-08-27 2:40 ` Sam Vilain
2007-08-27 8:35 ` Johannes Schindelin
2007-08-27 19:49 ` Uwe Kleine-König
3 siblings, 0 replies; 28+ messages in thread
From: Sam Vilain @ 2007-08-27 2:40 UTC (permalink / raw)
To: Petr Baudis; +Cc: git
Petr Baudis wrote:
> Hi,
>
> I've just finally killed the HTTP auth for project administration that
> was destroying everyone's lives, and added support for resetting
> forgotten passwords, two main things that seemed to be the popular nits
> of the repo.or.cz audience.
>
> So now I wonder, what is the thing you miss most there? Any cool stuff
> repo.or.cz could (preferrably easily) do and doesn't?
>
> And please don't ask for smaller roundtrip times of requests for
> administrator assistance. ;-)
>
I'd like to see the service mirrored, including potentially a repository
which contains the meta/auth information (sans password hashes, perhaps)
for admins on accounts.
This of course opens a large can of worms when it comes to achieving
decentralization of the service as a whole, however I think those
questions will be best answered once the information is available for
setting up mirrors.
I've also got hardware, bandwidth and some tuits.
Sam.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-26 23:59 repo.or.cz wishes? Petr Baudis
2007-08-27 0:16 ` Sven Verdoolaege
2007-08-27 2:40 ` Sam Vilain
@ 2007-08-27 8:35 ` Johannes Schindelin
[not found] ` <20070828041059.GK18160@spearce.org>
2007-08-27 19:49 ` Uwe Kleine-König
3 siblings, 1 reply; 28+ messages in thread
From: Johannes Schindelin @ 2007-08-27 8:35 UTC (permalink / raw)
To: Petr Baudis; +Cc: git
Hi,
On Mon, 27 Aug 2007, Petr Baudis wrote:
> So now I wonder, what is the thing you miss most there?
I wonder if this is repo.or.cz specific, but we recently had a problem
where the blobs of a project went away, and the forked project still
relied on them. Any ideas how to solve that issue?
Ciao,
Dscho
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 0:41 ` Petr Baudis
@ 2007-08-27 18:23 ` Linus Torvalds
2007-08-27 18:58 ` Junio C Hamano
` (2 more replies)
2007-08-27 21:58 ` Jakub Narebski
1 sibling, 3 replies; 28+ messages in thread
From: Linus Torvalds @ 2007-08-27 18:23 UTC (permalink / raw)
To: Petr Baudis; +Cc: skimo, git, Jakub Narebski
On Mon, 27 Aug 2007, Petr Baudis wrote:
> On Mon, Aug 27, 2007 at 02:16:34AM CEST, Sven Verdoolaege wrote:
> > On Mon, Aug 27, 2007 at 01:59:44AM +0200, Petr Baudis wrote:
> > > So now I wonder, what is the thing you miss most there? Any cool stuff
> > > repo.or.cz could (preferrably easily) do and doesn't?
> >
> > Just a minor nit, but how about dropping the "git+" from the
> > Push URL?
>
> I'm a major proponent of the "git+"
I'd say "only", not "major".
It makes no sense.
> - it's just the correct thing to specify. ssh:// by itself means secure
> _shell_
No it isn't, and no it doesn't.
It makes no sense what-so-ever.
"ssh://" is the *protocol*. What is actually done over the protocol is
specified by the program.
This is not at all git specific. Try running "ssh" vs "scp" some day, and
you'll notice the exact same thing: they both use the ssh _protocol_, but
no, your statement that "ssh://" by itself means "secure _shell_" is total
and utter garbage.
It means nothing at all of the kind.
"ssh://" means the ssh protocol. It is that unambiguous, and that simple.
Saying "git+ssh://" is totally idiotic, always has been, and always will
be.
It's as stupid as it would be to require people to say
scp cp+ssh://host/filename .
and nobody sane would *ever* advocate something that stupid. It's not how
it's done.
So why do you continue to advocate "git+ssh://", when nobody else does,
and several people have asked you not to.
And yes, I realize that SVN does it. SVN for some unfathomable reason uses
"svn+ssh://", but let's face it, the SVN developers have neither taste nor
brains. They don't know any better.
Linus
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 18:23 ` Linus Torvalds
@ 2007-08-27 18:58 ` Junio C Hamano
2007-08-27 19:09 ` Matthieu Moy
2007-08-27 20:05 ` Martin Mares
2 siblings, 0 replies; 28+ messages in thread
From: Junio C Hamano @ 2007-08-27 18:58 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Petr Baudis, skimo, git, Jakub Narebski
Linus Torvalds <torvalds@linux-foundation.org> writes:
> On Mon, 27 Aug 2007, Petr Baudis wrote:
> ...
> It's as stupid as it would be to require people to say
>
> scp cp+ssh://host/filename .
>
> and nobody sane would *ever* advocate something that stupid. It's not how
> it's done.
>
> So why do you continue to advocate "git+ssh://", when nobody else does,
> and several people have asked you not to.
Chuckles...
I'd rather see hostname:/path/to/file on the page as it tends to
be even shorter.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 18:23 ` Linus Torvalds
2007-08-27 18:58 ` Junio C Hamano
@ 2007-08-27 19:09 ` Matthieu Moy
2007-08-27 20:05 ` Martin Mares
2 siblings, 0 replies; 28+ messages in thread
From: Matthieu Moy @ 2007-08-27 19:09 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Petr Baudis, skimo, git, Jakub Narebski
Linus Torvalds <torvalds@linux-foundation.org> writes:
> It's as stupid as it would be to require people to say
>
> scp cp+ssh://host/filename .
>
> and nobody sane would *ever* advocate something that stupid. It's not how
> it's done.
You could find a better example.
scp doesn't accept URL syntax at all. So, no, it doesn't know about
cp+ssh://, but doesn't know ssh:// either.
--
Matthieu
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-26 23:59 repo.or.cz wishes? Petr Baudis
` (2 preceding siblings ...)
2007-08-27 8:35 ` Johannes Schindelin
@ 2007-08-27 19:49 ` Uwe Kleine-König
3 siblings, 0 replies; 28+ messages in thread
From: Uwe Kleine-König @ 2007-08-27 19:49 UTC (permalink / raw)
To: Petr Baudis; +Cc: git
Hello Petr,
Petr Baudis wrote:
> So now I wonder, what is the thing you miss most there? Any cool stuff
> repo.or.cz could (preferrably easily) do and doesn't?
I have two wishes (even though I don't use repo.or.cz regularly).
- searching for sha1 id.
OK, I know how to create an URL for that, but that's inconvient.
- When looking on forks of say git.git, I want the "main" project shown,
too. That is http://repo.or.cz/w/git.git?a=forks should include a
link to http://repo.or.cz/w/git.git.
After rereading these may more be gitweb wishes than repo.or.cz, but
anyhow ...
Best regards
Uwe
--
Uwe Kleine-König
http://www.google.com/search?q=half+a+cup+in+teaspoons
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 18:23 ` Linus Torvalds
2007-08-27 18:58 ` Junio C Hamano
2007-08-27 19:09 ` Matthieu Moy
@ 2007-08-27 20:05 ` Martin Mares
2007-08-27 21:27 ` Jing Xue
2007-08-27 22:27 ` Linus Torvalds
2 siblings, 2 replies; 28+ messages in thread
From: Martin Mares @ 2007-08-27 20:05 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Petr Baudis, skimo, git, Jakub Narebski
Hello, world!\n
> "ssh://" is the *protocol*. What is actually done over the protocol is
> specified by the program.
>
> This is not at all git specific.
Really?
What does `ssh://what.the.hell.org/some/file' per se mean?
SSH is a protocol, but rather in the sense similar to TLS, not to HTTP.
If it has some addressable objects, which could be referred to by the
path part of the URL, they should be the programs to execute at the
remote server, i.e., in our case the path to the GIT client binary,
and certainly not the name of the repository, which has nothing to do
with the SSH protocol.
(Just for completeness: I do not advocate using git+ssh, but your arguments
against it look somewhat illogical.)
Have a nice fortnight
--
Martin `MJ' Mares <mj@ucw.cz> http://mj.ucw.cz/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
Only dead fish swim with the stream.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 20:05 ` Martin Mares
@ 2007-08-27 21:27 ` Jing Xue
2007-08-27 22:27 ` Linus Torvalds
1 sibling, 0 replies; 28+ messages in thread
From: Jing Xue @ 2007-08-27 21:27 UTC (permalink / raw)
To: Martin Mares; +Cc: Linus Torvalds, Petr Baudis, skimo, git, Jakub Narebski
Quoting Martin Mares <mj@ucw.cz>:
> What does `ssh://what.the.hell.org/some/file' per se mean?
>
> SSH is a protocol, but rather in the sense similar to TLS, not to HTTP.
> If it has some addressable objects, which could be referred to by the
> path part of the URL, they should be the programs to execute at the
> remote server, i.e., in our case the path to the GIT client binary,
> and certainly not the name of the repository, which has nothing to do
> with the SSH protocol.
Not to advocate either way (me being completely new to git), but as
far as ssh is concerned, I don't think that the addressable objects
necessarily have to be executables.
Quoting RFC4251:
"The Secure Shell (SSH) Protocol is a protocol for secure remote login
and other secure network services over an insecure network."
That reads rather vague to me.
--
Jing Xue
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 0:41 ` Petr Baudis
2007-08-27 18:23 ` Linus Torvalds
@ 2007-08-27 21:58 ` Jakub Narebski
[not found] ` <20070828084939.GF1976MdfPADPa@greensroom.kotnet.org>
1 sibling, 1 reply; 28+ messages in thread
From: Jakub Narebski @ 2007-08-27 21:58 UTC (permalink / raw)
To: Petr Baudis; +Cc: Sven Verdoolaege, git
On Monday, 27 August 2007, Petr "Pasky" Baudis wrote:
> On Mon, Aug 27, 2007 at 02:16:34AM CEST, Sven Verdoolaege wrote:
>> On Mon, Aug 27, 2007 at 01:59:44AM +0200, Petr Baudis wrote:
>>>
>>> So now I wonder, what is the thing you miss most there? Any cool stuff
>>> repo.or.cz could (preferrably easily) do and doesn't?
Is it now possible to _upload_ SSH key, instad of copy'n'paste it
when creating repository/account?
Would it be reasonable to limit repository name length, or at least
modify gitweb to truncate (cut) it if it is too long?
>> Just a minor nit, but how about dropping the "git+" from the
>> Push URL?
>
> I'm a major proponent of the "git+" - it's just the correct thing to
> specify. ssh:// by itself means secure _shell_, and that's not what the
> URL means - ssh is literaily just a transport layer for the git
> protocol. This is not my invention but fairly standard thing which
> plenty of people use, and it makes it possible to select proper protocol
> handlers and so on, shall something generic crunch on the URL. I've
> never actually understood why do some people dislike it.
First, it is in the context of git, so one can say that "git+" is
implied. Documentation mentions only "ssh://". That said I prefer
"git+ssh://" to "ssh://" alone.
Second, IIRC Linus prefers scp-like syntax for SSH protocol, namely
"[user]@host:/path/to/repo", so perhaps that one should be used
instead.
>> Jakub was also talking about support in gitweb for specifying
>> the location of submodules. It would be nice if admins could
>> set this information, wherever it ends up getting stored.
>
> Hmm, this shouldn't be very hard to do if the support will get into
> gitweb. And adding the support to gitweb shouldn't be that hard either.
> :-) OTOH, it's not something that would get me terribly excited, so I
> guess I'll wait for the gitweb side.
The problem is that repo.or.cz needs support for that in gitweb, while
gitweb in turn needs support for that in git. This needs git consensus
on how to specify object database location (or just gitdir) for
submodules, to have later submodule support in gitweb.
--
Jakub Narebski
Poland
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 20:05 ` Martin Mares
2007-08-27 21:27 ` Jing Xue
@ 2007-08-27 22:27 ` Linus Torvalds
2007-08-27 22:58 ` Sam Vilain
2007-08-27 23:16 ` Jakub Narebski
1 sibling, 2 replies; 28+ messages in thread
From: Linus Torvalds @ 2007-08-27 22:27 UTC (permalink / raw)
To: Martin Mares; +Cc: Petr Baudis, skimo, git, Jakub Narebski
On Mon, 27 Aug 2007, Martin Mares wrote:
>
> What does `ssh://what.the.hell.org/some/file' per se mean?
So what does "http://what.the.hell.org/some/file" mean?
Does it mean that you have to start a web browser? Should we make that be
git+http://what.the.hell.org/some/file
to make it clear that we're doing "git work" over the "http" protocol?
Pretty obviously not.
> SSH is a protocol, but rather in the sense similar to TLS, not to HTTP.
What does *that* mean? A protocol is a protocol. Your argument that
protocols are "different" is pointless. Some protocols are usable for git,
others aren't. OF COURSE different protocols are different. They are
different in different ways.
Git uses URL's to say how to access something, which includes a protocol,
an optional host, and a location within the host. It's quite obvious what
they mean, and it's *also* obvious that the meaning is git-specific.
Here's what it boils down to:
- do you think it is sensible to write
git clone git+file:///some/directory
git clone git+http://host/directory
git clone git+rsync://host/directory
when cloning from the local filesystem, over http, or over rsync
respectively? The first one, btw, actually uses the "git protocol". The
two others do not, but since a user shouldn't care, it would be really
stupid to try to make some internal implementation detail show up in
the URL scheme.
- if you really think that the above is sensible, then explain why.
- if you think that is TOTALLY IDIOTIC, then explain why "ssh://" is so
magically special that it would somehow make sense to say "git+" for
it?
As to your TLS example: if we were to do "git over TLS", it would make
perfect sense to use either "tls://" (although "gits://" might be more
natural, not because tls is wrong, but because people have gotten used to
"https://") if we were to have a "secure git" port. Or maybe we'd use the
same port number that we already have assigned for git, and just add some
"use TLS to authenticate/encrypt", and use "tls://" for that. It makes
perfect sense.
In short: you should just ask yourself: what is the most natural thing for
a *user* to type to "git clone". And no, the "git+" prefix never makes
sense.
Linus
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 22:27 ` Linus Torvalds
@ 2007-08-27 22:58 ` Sam Vilain
2007-08-27 23:17 ` Linus Torvalds
2007-08-27 23:16 ` Jakub Narebski
1 sibling, 1 reply; 28+ messages in thread
From: Sam Vilain @ 2007-08-27 22:58 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Martin Mares, Petr Baudis, skimo, git, Jakub Narebski
Linus Torvalds wrote:
> - if you really think that the above is sensible, then explain why.
>
> - if you think that is TOTALLY IDIOTIC, then explain why "ssh://" is so
> magically special that it would somehow make sense to say "git+" for
> it?
This is also useful for foreign SCM support; the idea of supporting
svn+ssh:// "directly" with git remote and the likes.
I don't usually write git+ssh://, but I do consider it to be the form
which is more in the spirit of application interoperability. It says
what it is, which is ssh tunnelled git protocol.
> As to your TLS example: if we were to do "git over TLS", it would make
> perfect sense to use either "tls://" (although "gits://" might be more
> natural, not because tls is wrong, but because people have gotten used to
> "https://") if we were to have a "secure git" port. Or maybe we'd use the
> same port number that we already have assigned for git, and just add some
> "use TLS to authenticate/encrypt", and use "tls://" for that. It makes
> perfect sense.
The scheme is bad because it doesn't integrate with other appliations.
Seeing the URI in a web page they have no way of knowing which
application or port this tls:// URI refers to. It's not *universal*.
This is fine for URIs passed into git, but bad if you want to link to it
from elsewhere.
Sam.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 22:27 ` Linus Torvalds
2007-08-27 22:58 ` Sam Vilain
@ 2007-08-27 23:16 ` Jakub Narebski
1 sibling, 0 replies; 28+ messages in thread
From: Jakub Narebski @ 2007-08-27 23:16 UTC (permalink / raw)
To: Linus Torvalds, Petr Baudis, git; +Cc: Martin Mares, Sven Verdoolaege
Linus Torvalds wrote:
> As to your TLS example: if we were to do "git over TLS", it would make
> perfect sense to use either "tls://" (although "gits://" might be more
> natural, not because tls is wrong, but because people have gotten used to
> "https://") if we were to have a "secure git" port. Or maybe we'd use the
> same port number that we already have assigned for git, and just add some
> "use TLS to authenticate/encrypt", and use "tls://" for that. It makes
> perfect sense.
I like gits:// idea for "git over TLS", and I'm against "tls://". I wonder
if it would be hard to implement "git overt TLS"? We could resurrect patch
which allowed push over git protocol, onnly restricting pushing to gits
protocol.
--
Jakub Narebski
Poland
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 22:58 ` Sam Vilain
@ 2007-08-27 23:17 ` Linus Torvalds
2007-08-27 23:27 ` Jakub Narebski
2007-08-27 23:30 ` Sam Vilain
0 siblings, 2 replies; 28+ messages in thread
From: Linus Torvalds @ 2007-08-27 23:17 UTC (permalink / raw)
To: Sam Vilain; +Cc: Martin Mares, Petr Baudis, skimo, git, Jakub Narebski
On Tue, 28 Aug 2007, Sam Vilain wrote:
>
> This is fine for URIs passed into git, but bad if you want to link to it
> from elsewhere.
..and by that logic, you should add "git+" to *everything*, not just ssh.
Which simply isn't practical or sane - only damn annoying.
Linus
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 23:17 ` Linus Torvalds
@ 2007-08-27 23:27 ` Jakub Narebski
2007-08-27 23:38 ` Linus Torvalds
2007-08-27 23:30 ` Sam Vilain
1 sibling, 1 reply; 28+ messages in thread
From: Jakub Narebski @ 2007-08-27 23:27 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Sam Vilain, Martin Mares, Petr Baudis, skimo, git
Linus Torvalds wrote:
>
> On Tue, 28 Aug 2007, Sam Vilain wrote:
> >
> > This is fine for URIs passed into git, but bad if you want to link to it
> > from elsewhere.
>
> ..and by that logic, you should add "git+" to *everything*, not just ssh.
>
> Which simply isn't practical or sane - only damn annoying.
Not exactly. You can browse using http:// and file:// protocols,
rsync:// is simply rsync, while ssh:// (or git_ssh://) can be limited
using git-shell.
--
Jakub Narebski
Poland
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 23:17 ` Linus Torvalds
2007-08-27 23:27 ` Jakub Narebski
@ 2007-08-27 23:30 ` Sam Vilain
2007-08-27 23:34 ` Linus Torvalds
1 sibling, 1 reply; 28+ messages in thread
From: Sam Vilain @ 2007-08-27 23:30 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Martin Mares, Petr Baudis, skimo, git, Jakub Narebski
Linus Torvalds wrote:
>
> On Tue, 28 Aug 2007, Sam Vilain wrote:
>> This is fine for URIs passed into git, but bad if you want to link to it
>> from elsewhere.
>
> ..and by that logic, you should add "git+" to *everything*, not just ssh.
> Which simply isn't practical or sane - only damn annoying.
Why annoying and impractical, if you don't ever have to specify it
unless you want to write a URI which is portable between applications?
Sam.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 23:30 ` Sam Vilain
@ 2007-08-27 23:34 ` Linus Torvalds
0 siblings, 0 replies; 28+ messages in thread
From: Linus Torvalds @ 2007-08-27 23:34 UTC (permalink / raw)
To: Sam Vilain; +Cc: Martin Mares, Petr Baudis, skimo, git, Jakub Narebski
On Tue, 28 Aug 2007, Sam Vilain wrote:
>
> Why annoying and impractical, if you don't ever have to specify it
> unless you want to write a URI which is portable between applications?
Sure. I'm perfectly happy to make connect.c just ignore any "git+" prefix,
and let people do it.
What I object to is:
- the totally *idiotic* notion that "ssh" is somehow different
- encouraging people to actually *use* that inconvenient format
The fact is, nobody really cares. We've happily used the non-"git+" forms
for over two years, and there has never *ever* been a case of actual
confusion. So allowing the "git+" prefix everywhere may be _logical_, but
it's still totally idiotic and user-unfriendly.
Linus
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-27 23:27 ` Jakub Narebski
@ 2007-08-27 23:38 ` Linus Torvalds
0 siblings, 0 replies; 28+ messages in thread
From: Linus Torvalds @ 2007-08-27 23:38 UTC (permalink / raw)
To: Jakub Narebski; +Cc: Sam Vilain, Martin Mares, Petr Baudis, skimo, git
On Tue, 28 Aug 2007, Jakub Narebski wrote:
>
> Not exactly. You can browse using http:// and file:// protocols,
> rsync:// is simply rsync, while ssh:// (or git_ssh://) can be limited
> using git-shell.
Bullshit. You carefully left out "git://", since that doesn't fit your
"argument".
The fact is, all git URL's make sense for *git*, not necessarily for
anything else. They may have incidental meanings outside of git, but
certainly nothing that is really *sensible*.
And that is how it was designed to be. The URL's are for *git*, not for
other uses. If you want to do cross-SCM tools, you need to let them know
it's a "git" thing wheher it's browsable or not, so the argument that ssh
is something "different" is bogus crapola.
Just face it, ssh is in no way different from any of the other git URL
specifiers.
Linus
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
[not found] ` <200708282356.10605.jnareb@gmail.com>
@ 2007-08-29 7:32 ` Sven Verdoolaege
2007-08-29 23:12 ` Jakub Narebski
0 siblings, 1 reply; 28+ messages in thread
From: Sven Verdoolaege @ 2007-08-29 7:32 UTC (permalink / raw)
To: Jakub Narebski; +Cc: Petr Baudis, git
On Tue, Aug 28, 2007 at 11:56:10PM +0200, Jakub Narebski wrote:
> On Tue, 28 August 2007, Sven Verdoolaege wrote:
> > On Mon, Aug 27, 2007 at 11:58:42PM +0200, Jakub Narebski wrote:
> >>
> >> The problem is that repo.or.cz needs support for that in gitweb, while
> >> gitweb in turn needs support for that in git. This needs git consensus
> >> on how to specify object database location (or just gitdir) for
> >> submodules, to have later submodule support in gitweb.
> >
> > What would be the use of that (outside of gitweb) ?
>
> For the hypothetical (planned?) future '--recurse-submodules' option
> to git-diff family, git-ls-tree and git-ls-files, git-fetch and git-push
> (but I think not git-pull), perhaps git-log (besides what it supports
> by the way of git-diff-tree), maybe even git-status and git-commit.
Ah... you're talking about bare repositories, right?
For non-bare repos, I'd assume you would only recurse for those
submodules that you have actually checked out in your working tree.
skimo
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
[not found] ` <20070829042005.GT18160@spearce.org>
@ 2007-08-29 9:54 ` Petr Baudis
0 siblings, 0 replies; 28+ messages in thread
From: Petr Baudis @ 2007-08-29 9:54 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Johannes Schindelin, Theodore Tso, git
On Wed, Aug 29, 2007 at 06:20:05AM CEST, Shawn O. Pearce wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > On Tue, 28 Aug 2007, Theodore Tso wrote:
> > > On Tue, Aug 28, 2007 at 12:10:59AM -0400, Shawn O. Pearce wrote:
> > > > At day-job I have a hard rule that you cannot even push into an A, let
> > > > alone rewind a branch in it or delete a branch from it.
> > >
> > > Why don't you even allow people to push into A? That should be safe....
> >
> > Nope:
> >
> > for b in $(git ls-remote /that/other/repo | sed "s/^[^ ]* //")
> > do
> > git push /that/other/repo :$b
> > done
>
> Well, at day-job I use contrib/hooks/update-paranoid to deny all
> push access into my A's (/that/other/repo). But that could just
> as easily be configured to allow branch creation and branch update
> (fast-forward) but no rewind or delete.
>
> When I symlink A's refs into B I also don't allow B to update,
> create, rewind or delete the symlinked refs via push. This way
> you can't do something weird to A like upload new objects into B's
> ODB but then change A's refs to point to objects that A's own ODB
> doesn't have.
>
> Hmm, I wonder of Pasky handles that correctly on repo.or.cz...
I don't handle it at all, but if you don't have permissions to modify A
you simply won't be able to do anything weird to A. If you have the
permissions, I'm still not sure if Git will keep symlinked refs over
ref updates; if so, hey, you had the permissions for A and it's your
reponsibility if you screw up.
--
Petr "Pasky" Baudis
Early to rise and early to bed makes a male healthy and wealthy and dead.
-- James Thurber
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
[not found] ` <7vr6lnszay.fsf@gitster.siamese.dyndns.org>
@ 2007-08-29 9:58 ` Petr Baudis
0 siblings, 0 replies; 28+ messages in thread
From: Petr Baudis @ 2007-08-29 9:58 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Shawn O. Pearce, Theodore Tso, Johannes Schindelin, git
On Wed, Aug 29, 2007 at 07:08:21AM CEST, Junio C Hamano wrote:
> "Shawn O. Pearce" <spearce@spearce.org> writes:
>
> > Theodore Tso <tytso@mit.edu> wrote:
> >> On Tue, Aug 28, 2007 at 12:10:59AM -0400, Shawn O. Pearce wrote:
> >> > Its what happens when you use `git clone --shared A B` and the
> > ...
> >> This has been discussed before, and it wouldn't be *that* hard to have
> >> "git clone --shared" create a backpointer from B to A, so that
> >> "git-prune" could also search the B's refs and not prune anything that
> >> is in A which is reachable from heads in A and B.
> >
> > Not if I already have a pointer from B to A's refs. repo.or.cz
> > also has this same pointer:
> >
> > git clone --shared A B
> > ln -s A/refs B/refs/forkee
>
> Two things to watch out for are (1) packed refs won't be
> protected with this trick, and (2) symrefs in refs/ hierarchy
> will point at wrong place if you did this. The latter hopefully
> won't be a problem because the trick being discussed is only to
> add reachability and not _using_ the borrowed refs for anything
> (iow, this makes B/refs/forkee/remote/origin/HEAD incorrectly
> point at refs/remotes/origin/master, but what it really should
> point at is B/refs/forkee/remote/origin/master).
BTW gitweb actually uses refs/forkee/ to add funny ref tags to commits,
which was completely unintended but is actually in the end quite handy
(though the tags should be modified to look less confusing).
--
Petr "Pasky" Baudis
Early to rise and early to bed makes a male healthy and wealthy and dead.
-- James Thurber
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
[not found] ` <20070829041523.GS18160@spearce.org>
[not found] ` <7vr6lnszay.fsf@gitster.siamese.dyndns.org>
@ 2007-08-29 11:13 ` Theodore Tso
2007-08-31 21:09 ` Shawn O. Pearce
2007-08-29 17:11 ` Linus Torvalds
2 siblings, 1 reply; 28+ messages in thread
From: Theodore Tso @ 2007-08-29 11:13 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Johannes Schindelin, Petr Baudis, git
On Wed, Aug 29, 2007 at 12:15:23AM -0400, Shawn O. Pearce wrote:
> > This is morally the same, but it makes the hardlink step easier (only
> > one pack to link from A to B), and by using git-gc mit makes it
> > conceptually easier for people to understand what's going on.
> >
> > git --git-dir=A gc
> > ln A/.git/objects/pack/* B/.git/objects/pack
> > git --git-dir=B gc --prune
> > git --git-dir=A prune
>
> No, it won't work.
>
> The problem is that during the first `git --git-dir=A gc` call
> you are deleting packfiles that may contain objects that B needs.
> *poof*.
But "git-gc" without the --prune doesn't delete any objects. So it
should always be safe to use git-gc even if there are repositories
that are relying on that repo's ODB. It's only if you use git-gc
--prune that you could get in troudble. It might delete some
packfiles containing objects needed by B, but only after consolidating
all of the objects into a single packfile that contains all of the
objects that had always been in A's ODB.
So I don't see why this wouldn't work.
- Ted
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
[not found] ` <20070829041523.GS18160@spearce.org>
[not found] ` <7vr6lnszay.fsf@gitster.siamese.dyndns.org>
2007-08-29 11:13 ` Theodore Tso
@ 2007-08-29 17:11 ` Linus Torvalds
2007-09-01 2:58 ` Shawn O. Pearce
2 siblings, 1 reply; 28+ messages in thread
From: Linus Torvalds @ 2007-08-29 17:11 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Theodore Tso, Johannes Schindelin, Petr Baudis, git
On Wed, 29 Aug 2007, Shawn O. Pearce wrote:
>
> Not if I already have a pointer from B to A's refs. repo.or.cz
> also has this same pointer:
>
> git clone --shared A B
> ln -s A/refs B/refs/forkee
Now, this doesn't work well with packed refs, I'm afraid.
So I suspect that if we really want to support something like this, we'd
need to do more than just avoid the recursion when you cross-link.
Linus
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-29 7:32 ` Sven Verdoolaege
@ 2007-08-29 23:12 ` Jakub Narebski
0 siblings, 0 replies; 28+ messages in thread
From: Jakub Narebski @ 2007-08-29 23:12 UTC (permalink / raw)
To: skimo; +Cc: Petr Baudis, git
On Wed, Aug 29, 2007, Sven Verdoolaege wrote:
> On Tue, Aug 28, 2007 at 11:56:10PM +0200, Jakub Narebski wrote:
>> On Tue, 28 August 2007, Sven Verdoolaege wrote:
>>> On Mon, Aug 27, 2007 at 11:58:42PM +0200, Jakub Narebski wrote:
>>>>
>>>> The problem is that repo.or.cz needs support for that in gitweb, while
>>>> gitweb in turn needs support for that in git. This needs git consensus
>>>> on how to specify object database location (or just gitdir) for
>>>> submodules, to have later submodule support in gitweb.
>>>
>>> What would be the use of that (outside of gitweb) ?
>>
>> For the hypothetical (planned?) future '--recurse-submodules' option
>> to git-diff family, git-ls-tree and git-ls-files, git-fetch and git-push
>> (but I think not git-pull), perhaps git-log (besides what it supports
>> by the way of git-diff-tree), maybe even git-status and git-commit.
>
> Ah... you're talking about bare repositories, right?
> For non-bare repos, I'd assume you would only recurse for those
> submodules that you have actually checked out in your working tree.
For bare repositories, and for repositories which move around (at least
once change path). Gitweb uses repository like it is bare...
--
Jakub Narebski
Poland
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-29 11:13 ` Theodore Tso
@ 2007-08-31 21:09 ` Shawn O. Pearce
0 siblings, 0 replies; 28+ messages in thread
From: Shawn O. Pearce @ 2007-08-31 21:09 UTC (permalink / raw)
To: Theodore Tso; +Cc: Johannes Schindelin, Petr Baudis, git
Theodore Tso <tytso@mit.edu> wrote:
> On Wed, Aug 29, 2007 at 12:15:23AM -0400, Shawn O. Pearce wrote:
> > >
> > > git --git-dir=A gc
> > > ln A/.git/objects/pack/* B/.git/objects/pack
> > > git --git-dir=B gc --prune
> > > git --git-dir=A prune
> >
> > No, it won't work.
> >
> > The problem is that during the first `git --git-dir=A gc` call
> > you are deleting packfiles that may contain objects that B needs.
> > *poof*.
>
> But "git-gc" without the --prune doesn't delete any objects.
Yes, it does delete objects. Even without --prune. That is
because git-gc is running `git-repack -a -d -l`. repack -a means
repack all objects reachable from the current refs. The -d means
delete the packfiles that existed when the repack started, as it
is assumed that all needed (reachable) objects were copied into
the new output packfile(s). The -d also means delete any loose
objects that are now packed (git-prune-packed).
Yet there may be objects in A that A cannot reach anymore (deleted
or rewound branch) but that B needs and B does not have a copy of.
If these objects were in one of the prior packfiles of A and is
not in the new packfile(s) of A then those objects are gone. *poof*.
> So it
> should always be safe to use git-gc even if there are repositories
> that are relying on that repo's ODB. It's only if you use git-gc
> --prune that you could get in troudble. It might delete some
> packfiles containing objects needed by B, but only after consolidating
> all of the objects into a single packfile that contains all of the
> objects that had always been in A's ODB.
But when we repack we don't repack everything in A's ODB, we only
repack the things that A can reach. If A cannot reach something
because a branch was rewound or deleted it won't survive the repack.
Then the repack is behaving like at least partially like gc --prune.
> So I don't see why this wouldn't work.
It only works if A cannot delete a branch or rewind a branch.
In other words, once an object is stored in A's ODB it must always
be reachable from A's refs.
--
Shawn.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: repo.or.cz wishes?
2007-08-29 17:11 ` Linus Torvalds
@ 2007-09-01 2:58 ` Shawn O. Pearce
0 siblings, 0 replies; 28+ messages in thread
From: Shawn O. Pearce @ 2007-09-01 2:58 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Theodore Tso, Johannes Schindelin, Petr Baudis, git
Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Wed, 29 Aug 2007, Shawn O. Pearce wrote:
> >
> > Not if I already have a pointer from B to A's refs. repo.or.cz
> > also has this same pointer:
> >
> > git clone --shared A B
> > ln -s A/refs B/refs/forkee
>
> Now, this doesn't work well with packed refs, I'm afraid.
No, it doesn't work well. So I actually also avoid packing A's refs.
Which is yet another reason why my A's don't allow pushing, that
way nobody goes nuts and creates a ton of refs in there. With only
refs/heads/master and it being unpacked its not a big deal.
> So I suspect that if we really want to support something like this, we'd
> need to do more than just avoid the recursion when you cross-link.
Yes. I've been thinking about trying to better share the ODB and
the ref database between repositories, but it has been low priority
for me.
I rely on this ref symlinking/alternate ODB trick a lot at day-job
to help me cope with an ugly situation I created across a number of
repositories. Most of our codebase came from one Git repository,
but has been refactored and split into about 10 different Git
repositories. I did that refactoring by just cloning and deleting
the uninteresting content, so each repository actually has a huge
block of its history in common with the other 9.
One such A is "common-crap.git" that is the shared common history.
Since its strictly history nobody changes that repository, and
everyone borrows objects from it. This reduces my common working
set by about 900MiB, as the history lives in only one packfile and
not in 10.
There are obviously other ways to deal with this:
- start the 10 repositories over again and use info/grafts to
reinsert the old history when/if required;
- just hardlink the same .keep'd packfile into the 10 repositories,
since it is held by .keep it won't be touched during repack.
So one reason it has been low priority for me to improve upon is
because there's more than one way to solve the problem, and the
particular solution I have settled upon may not be the best solution
for anyone.
Though I think we can all agree that repo.or.cz's use of forks
is increasingly more popular, and one of the more powerful social
features of git. Better supporting it out of the box by making it
easier to setup and manage can only be a good thing for our users.
--
Shawn.
^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2007-09-01 2:59 UTC | newest]
Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-26 23:59 repo.or.cz wishes? Petr Baudis
2007-08-27 0:16 ` Sven Verdoolaege
2007-08-27 0:41 ` Petr Baudis
2007-08-27 18:23 ` Linus Torvalds
2007-08-27 18:58 ` Junio C Hamano
2007-08-27 19:09 ` Matthieu Moy
2007-08-27 20:05 ` Martin Mares
2007-08-27 21:27 ` Jing Xue
2007-08-27 22:27 ` Linus Torvalds
2007-08-27 22:58 ` Sam Vilain
2007-08-27 23:17 ` Linus Torvalds
2007-08-27 23:27 ` Jakub Narebski
2007-08-27 23:38 ` Linus Torvalds
2007-08-27 23:30 ` Sam Vilain
2007-08-27 23:34 ` Linus Torvalds
2007-08-27 23:16 ` Jakub Narebski
2007-08-27 21:58 ` Jakub Narebski
[not found] ` <20070828084939.GF1976MdfPADPa@greensroom.kotnet.org>
[not found] ` <200708282356.10605.jnareb@gmail.com>
2007-08-29 7:32 ` Sven Verdoolaege
2007-08-29 23:12 ` Jakub Narebski
2007-08-27 2:40 ` Sam Vilain
2007-08-27 8:35 ` Johannes Schindelin
[not found] ` <20070828041059.GK18160@spearce.org>
[not found] ` <20070828111913.GA31120@thunk.org>
[not found] ` <Pine.LNX.4.64.0708281230310.28586@racer.site>
[not found] ` <20070829042005.GT18160@spearce.org>
2007-08-29 9:54 ` Petr Baudis
[not found] ` <20070829041523.GS18160@spearce.org>
[not found] ` <7vr6lnszay.fsf@gitster.siamese.dyndns.org>
2007-08-29 9:58 ` Petr Baudis
2007-08-29 11:13 ` Theodore Tso
2007-08-31 21:09 ` Shawn O. Pearce
2007-08-29 17:11 ` Linus Torvalds
2007-09-01 2:58 ` Shawn O. Pearce
2007-08-27 19:49 ` Uwe Kleine-König
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 NNTP newsgroup(s).