[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[egit-dev] RFC smart HTTP push
|
"Shawn O. Pearce" <spearce@xxxxxxxxxxx> wrote:
> "Lay, Stefan" <stefan.lay@xxxxxxx> wrote:
> > > We could pioneer the smart push over HTTP protocol in JGit
> >
> > +1 I would appreciate this.
>
> Well then, I now know what my project for today will be. Picking up
> smart HTTP by trying to get the push side implemented.
RFC done. 6 patches on Gerrit:
I0b889564 Add getPacks to ObjectDirectory
Ia0f1a425 Simple dumb HTTP server for Git
I6f31f653 Teach ReceivePack how to use an RPC style interface
Id0e349c3 Expose RefAdvertiser for reuse outside of the transport package
Iaa331a47 Expose PacketLineOut for reuse outside of the transport package
Ie4f6e0c7 Smart push over HTTP: server side
I0ad95dea Smart push over HTTP: client side
For example:
$ ./jgit.sh push http://www.kernel.org/pub/scm/git/git.git refs/heads/master
fatal: Smart HTTP transport not supported
$ ./jgit.sh push http://localhost:8080/jgit/kernel/linux-2.6.git refs/heads/master:refs/heads/shawn-jgit
Writing objects: 100% (808/808)
To http://localhost:8080/jgit/kernel/linux-2.6.git
* [new branch] master -> shawn-jgit
Given how closely this smart HTTP push protocol matches the
git-receive-pack protocol, this should be fairly trivial to port
to C git. The real question is, would Junio accept it. :-)
Alex, I'm sure this is quite a bit different from what were
doing with a smart HTTP fetch, but I think we now have start of
a foundation we can use to build additional HTTP functionality,
and eventually I'd like to also do some gitweb-y sort of thing.
--
Shawn.