* git and "dumb protocols"
@ 2006-11-02 10:36 Matthieu Moy
2006-11-02 10:42 ` Andy Whitcroft
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Matthieu Moy @ 2006-11-02 10:36 UTC (permalink / raw)
To: git
Hi,
Is it possible with git to push to a server on which git is not
installed, and if so, how?
From the man page of git, sftp doesn't seem supported, and ssh://
complains about git-receive-pack not being installed on the server.
The man page documents a rsync:// protocol, but
$ git push rsync://some.location.com/
fatal: I don't handle protocol 'rsync'
$
What am I missing?
Thanks,
--
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: git and "dumb protocols"
2006-11-02 10:36 git and "dumb protocols" Matthieu Moy
@ 2006-11-02 10:42 ` Andy Whitcroft
2006-11-02 10:48 ` Petr Baudis
2006-11-02 10:51 ` Johannes Schindelin
2 siblings, 0 replies; 10+ messages in thread
From: Andy Whitcroft @ 2006-11-02 10:42 UTC (permalink / raw)
To: git
Matthieu Moy wrote:
> Hi,
>
> Is it possible with git to push to a server on which git is not
> installed, and if so, how?
>
>>From the man page of git, sftp doesn't seem supported, and ssh://
> complains about git-receive-pack not being installed on the server.
>
> The man page documents a rsync:// protocol, but
>
> $ git push rsync://some.location.com/
> fatal: I don't handle protocol 'rsync'
> $
>
> What am I missing?
To push only makes sense when you have git installed at the receiving
end. It is the interaction between the source and destination git
instances which renders the push an effective optimisation.
If you are using rsync, then you can just rsync the whole repository out
and what is out there is as valid as your own copy. Of course a repack
will make the whole thing changed and you'll pay on the next rsync.
git is designed with this use model involved, you 'git
update-server-info' then rsync the repo in-toto out to your http server
and it can be fetch'ed from (all be it less efficiently) by another
client. All without any requirement for anything other than passive
data delivery at the server end. Great if you don't have shell access etc.
-apw
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: git and "dumb protocols"
2006-11-02 10:36 git and "dumb protocols" Matthieu Moy
2006-11-02 10:42 ` Andy Whitcroft
@ 2006-11-02 10:48 ` Petr Baudis
2006-11-02 10:57 ` Johannes Schindelin
2006-11-02 12:04 ` Matthieu Moy
2006-11-02 10:51 ` Johannes Schindelin
2 siblings, 2 replies; 10+ messages in thread
From: Petr Baudis @ 2006-11-02 10:48 UTC (permalink / raw)
To: git
Hi,
Dear diary, on Thu, Nov 02, 2006 at 11:36:07AM CET, I got a letter
where Matthieu Moy <Matthieu.Moy@imag.fr> said that...
> Is it possible with git to push to a server on which git is not
> installed, and if so, how?
yes, you can push using HTTP DAV - just push to an HTTP URL; make sure
you have git-http-push compiled, it is sometimes not compiled because it
unfortunately adds dependencies on couple of more libraries.
Beware that this is inherently not safe for anonymous push access,
since malicious client with write access can destroy the repository. You
will want to protect write access to the repository by .htaccess file.
I think a patch that would add support for pushing over sftp or some
other dumb protocol would be welcome. One problem is with proper locking
of ref updates (not sure how well would sftp cope with that), another is
that you will need to do git-update-server-info's job on the server
side.
If you already have SSH access to the server, why not compile Git
there and install it to your $HOME, though?
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: git and "dumb protocols"
2006-11-02 10:36 git and "dumb protocols" Matthieu Moy
2006-11-02 10:42 ` Andy Whitcroft
2006-11-02 10:48 ` Petr Baudis
@ 2006-11-02 10:51 ` Johannes Schindelin
2 siblings, 0 replies; 10+ messages in thread
From: Johannes Schindelin @ 2006-11-02 10:51 UTC (permalink / raw)
To: Matthieu Moy; +Cc: git
Hi,
On Thu, 2 Nov 2006, Matthieu Moy wrote:
> Is it possible with git to push to a server on which git is not
> installed, and if so, how?
See
http://www.kernel.org/git/gitweb.cgi?p=git/git.git;a=blob;h=ba191569af9501117322e1881160226a74867007;hb=html;f=howto/setup-git-server-over-http.txt
Hth,
Dscho
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: git and "dumb protocols"
2006-11-02 10:48 ` Petr Baudis
@ 2006-11-02 10:57 ` Johannes Schindelin
2006-11-02 11:02 ` Petr Baudis
2006-11-02 12:04 ` Matthieu Moy
1 sibling, 1 reply; 10+ messages in thread
From: Johannes Schindelin @ 2006-11-02 10:57 UTC (permalink / raw)
To: Petr Baudis; +Cc: git
Hi,
On Thu, 2 Nov 2006, Petr Baudis wrote:
> If you already have SSH access to the server, why not compile Git
> there and install it to your $HOME, though?
Could be a number of reasons:
- no compiler
- quota issues
- missing support for that particular platform
- time constraints
- etc
Happened to me.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: git and "dumb protocols"
2006-11-02 10:57 ` Johannes Schindelin
@ 2006-11-02 11:02 ` Petr Baudis
0 siblings, 0 replies; 10+ messages in thread
From: Petr Baudis @ 2006-11-02 11:02 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
Hi,
Dear diary, on Thu, Nov 02, 2006 at 11:57:16AM CET, I got a letter
where Johannes Schindelin <Johannes.Schindelin@gmx.de> said that...
> On Thu, 2 Nov 2006, Petr Baudis wrote:
>
> > If you already have SSH access to the server, why not compile Git
> > there and install it to your $HOME, though?
>
> Could be a number of reasons:
>
> - no compiler
> - quota issues
good points.
> - missing support for that particular platform
If not with conjunction with the following ("- time constraints"), it
would be superb to add support for that particular platform. :^)
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: git and "dumb protocols"
2006-11-02 10:48 ` Petr Baudis
2006-11-02 10:57 ` Johannes Schindelin
@ 2006-11-02 12:04 ` Matthieu Moy
2006-11-02 12:12 ` Jakub Narebski
` (2 more replies)
1 sibling, 3 replies; 10+ messages in thread
From: Matthieu Moy @ 2006-11-02 12:04 UTC (permalink / raw)
To: git
Petr Baudis <pasky@suse.cz> writes:
> yes, you can push using HTTP DAV - just push to an HTTP URL; make sure
> you have git-http-push compiled, it is sometimes not compiled because it
> unfortunately adds dependencies on couple of more libraries.
That's great. I don't need this right now, but having worked behind a
firewall + proxy, I know how appreciable it is to push with DAV ;-).
> I think a patch that would add support for pushing over sftp or some
> other dumb protocol would be welcome. One problem is with proper locking
> of ref updates (not sure how well would sftp cope with that), another is
> that you will need to do git-update-server-info's job on the server
> side.
It should be possible (but not implemented AAUI) also to generate the
additional info of git-update-server-info on the client, isn't it?
> If you already have SSH access to the server, why not compile Git
> there and install it to your $HOME, though?
I'll probably do, but my concern is broader than that. I like the
ability to use almost any webhosting service for my revision control.
GNU Arch was quite good at that, bzr is also (doesn't support webdav
very well yet, but read-only-HTTP, sftp and ftp are there), so I'd
like git to do the same.
And yes, there are tons of reasons not to install git on the server.
In particular, the fact that I'm not root there, and too lazy to do
more than "aptitude install git" with pleasure ;-).
--
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: git and "dumb protocols"
2006-11-02 12:04 ` Matthieu Moy
@ 2006-11-02 12:12 ` Jakub Narebski
2006-11-02 12:21 ` Petr Baudis
2006-11-03 23:27 ` Daniel Barkalow
2 siblings, 0 replies; 10+ messages in thread
From: Jakub Narebski @ 2006-11-02 12:12 UTC (permalink / raw)
To: git
Matthieu Moy wrote:
> I'll probably do, but my concern is broader than that. I like the
> ability to use almost any webhosting service for my revision control.
> GNU Arch was quite good at that, bzr is also (doesn't support webdav
> very well yet, but read-only-HTTP, sftp and ftp are there), so I'd
> like git to do the same.
Well, git can fetch (read) via http, https, ftp, sftp, rsync, git, ssh+git;
it can push via http(s) with WebDAV, and ssh+git (ssh+git meaning via ssh,
with git installed on the server side).
BTW. rsync is considered obsolete, and suitable only for initial cloning,
perhaps.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: git and "dumb protocols"
2006-11-02 12:04 ` Matthieu Moy
2006-11-02 12:12 ` Jakub Narebski
@ 2006-11-02 12:21 ` Petr Baudis
2006-11-03 23:27 ` Daniel Barkalow
2 siblings, 0 replies; 10+ messages in thread
From: Petr Baudis @ 2006-11-02 12:21 UTC (permalink / raw)
To: git
Dear diary, on Thu, Nov 02, 2006 at 01:04:16PM CET, I got a letter
where Matthieu Moy <Matthieu.Moy@imag.fr> said that...
> Petr Baudis <pasky@suse.cz> writes:
> > I think a patch that would add support for pushing over sftp or some
> > other dumb protocol would be welcome. One problem is with proper locking
> > of ref updates (not sure how well would sftp cope with that), another is
> > that you will need to do git-update-server-info's job on the server
> > side.
>
> It should be possible (but not implemented AAUI) also to generate the
> additional info of git-update-server-info on the client, isn't it?
Yes, that's what git-http-push does.
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: git and "dumb protocols"
2006-11-02 12:04 ` Matthieu Moy
2006-11-02 12:12 ` Jakub Narebski
2006-11-02 12:21 ` Petr Baudis
@ 2006-11-03 23:27 ` Daniel Barkalow
2 siblings, 0 replies; 10+ messages in thread
From: Daniel Barkalow @ 2006-11-03 23:27 UTC (permalink / raw)
To: Matthieu Moy; +Cc: git
On Thu, 2 Nov 2006, Matthieu Moy wrote:
> I'll probably do, but my concern is broader than that. I like the
> ability to use almost any webhosting service for my revision control.
> GNU Arch was quite good at that, bzr is also (doesn't support webdav
> very well yet, but read-only-HTTP, sftp and ftp are there), so I'd
> like git to do the same.
You should be able to put together the repository you want hosted locally
and use any webhosting service updating procedure to update what's hosted.
AFAIK, git.kernel.org is a completely dumb mirror of master.kernel.org,
working like that.
The main thing is that you want "objects" to be updated before "refs", and
you don't want to do any git operations during the mirroring. But it's not
even that important, so long as whenever you leave the mirror for a while,
it matches some final state (with respect to git) of the master.
What you actually care about the git-native stuff for is preparing the
master image, so that you don't have random cruft from your working
repository, and then you just want it to mirror efficiently.
-Daniel
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2006-11-03 23:27 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-02 10:36 git and "dumb protocols" Matthieu Moy
2006-11-02 10:42 ` Andy Whitcroft
2006-11-02 10:48 ` Petr Baudis
2006-11-02 10:57 ` Johannes Schindelin
2006-11-02 11:02 ` Petr Baudis
2006-11-02 12:04 ` Matthieu Moy
2006-11-02 12:12 ` Jakub Narebski
2006-11-02 12:21 ` Petr Baudis
2006-11-03 23:27 ` Daniel Barkalow
2006-11-02 10:51 ` Johannes Schindelin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox