Re: How can i write a new protocol for git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

The new protocol i mean is the network transfer protocol, like rsync.
Is the word "dumb protocol" you mean is the network transfer protocol
? But seem if i just implement a new protocol using jgit but not in C
(integrate with git core code), it may not worth because more of the
client using git core command line tool as git client.

Thank you ~

Regards,
Patrick

On Fri, Sep 5, 2008 at 10:52 PM, Shawn O. Pearce <spearce@xxxxxxxxxxx> wrote:
> Mike Hommey <mh@xxxxxxxxxxxx> wrote:
>> On Fri, Sep 05, 2008 at 05:22:57PM +0800, Sky Patrick wrote:
>> >
>> > If i want to write a new protocol for file transfer and would like to
>> > to integrate it with git. Is it possible and easy to integrate it ?
>> > Currently, i know that jgit may achieve it, but it is a Java
>> > implementation and may not work with git command line program that
>> > written in C.
>
> Writing a dumb protocol support isn't difficult in JGit due to the
> abstractions in place.  Its a little harder in C Git, unless Mike
> (or someone else) can abstract out the cURL library usage and make
> it more flexible.  Though these days cURL supports just about any
> file transfer protocol known.
>
>> First, it would depend if you need this new protocol to be a dumb
>> protocol (like rsync and http) or "native" (git or ssh).
>
> Writing a smart protocol is a PITA.  Look at the smart HTTP effort
> I am trying to do.  OK, I'm not spending a whole lot of time on
> it, but its a damn difficult thing to do well, and to keep simple
> enough that it can be described and reimplemented.  Otherwise we
> have another that-thing-before-Git on our hands.
>
>> I've been meaning to refactor the dumb protocol "stack" for a while, but
>> haven't gone much further than ideas in my mind (i.e. no code). I also
>> have some start of http code recfactoring, that is waiting for this dumb
>> protocol rework to be completed.
>
> Yea.  One reason why I'm doing the smart HTTP effort prototype in
> JGit is because the C code structure makes this harder to implement
> without first going through a number of refactorings.  Though for the
> smart HTTP stuff I really need to refactor fetch-pack/send-pack and
> upload-pack/receive-pack, not the dumb walkers.
>
> --
> Shawn.
>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux