Re: [PATCH/RFC] send-pack.c: Allow to disable side-band-64k
- From
- Thomas Braun <thomas.braun@byte-physics.de>
- Date
- May 19, 2014, 21:15 UTC
- Message-ID
- <537A7454.6030001@byte-physics.de>
- In-Reply-To
- <20140519193340.GP12314@google.com>
Am 19.05.2014 21:33, schrieb Jonathan Nieder:
Show 8 quoted lines
> Hi, > > Thomas Braun wrote: > >> pushing over the dump git protocol with a windows git client. > > I've never heard of the dump git protocol. Do you mean the git > protocol that's used with git:// URLs?
You are right I mean the protocol involving git:// URLs. But unfortunately I got it wrong as according to [1] the git:// is one of the so-called smart protocols. That was also the source where I read that there are smart and dump protocols.
[1]: http://git-scm.com/book/en/Git-Internals-Transfer-Protocols
Show 10 quoted lines
> [...] >> Alternative approaches considered but deemed too invasive: >> - Rewrite read/write wrappers in mingw.c in order to distinguish between >> a file descriptor which has a socket behind and a file descriptor >> which has a file behind. > > I assume here "too invasive" means "too much engineering effort"? > > It sounds like a clean fix, not too invasive at all. But I can > understand wanting a stopgap in the meantime.
No actually I meant too invasive in the sense of "requiring large rewrites which only benefit git on windows and hurt all others".
The two fixes I can think of either involve: - In a read *and* write wrapper the need to check if the fd is a socket, if yes use send/recv if no use read/write. According to Erik's comments this should be possible. But I would deem the expected performance penalty quite large as that will be done in every call. - Rewriting read/write to accept windows handles instead of file descriptors. Only a theoretical option IMHO.
For me the goal is also to minimise the diff between git and msysgit/git.
Show 7 quoted lines
> >> - Turning the capability side-band-64k off completely. This would remove a useful >> feature for users of non-affected transport protocols. > > Would it make sense to turn off sideband unconditionally on Windows > when using the relevant protocols? >
Yes, if this would be also acceptable for git.git.
I can check at the call site of send_pack in transport.c what protocol is in use, and then pass a new parameter use_sideband to it. Or maybe "adapt" server_capabilities in connect.c to not include side-band-64k if using git:// ?
-- -- *** Please reply-to-all at all times *** *** (do not pretend to know who is subscribed and who is not) *** *** Please avoid top-posting. *** The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free. You received this message because you are subscribed to the Google Groups "msysGit" group. To post to this group, send email to msysgit@googlegroups.com To unsubscribe from this group, send email to msysgit+unsubscribe@googlegroups.com For more options, and view previous threads, visit this group at http://groups.google.com/group/msysgit?hl=en_US?hl=en --- You received this message because you are subscribed to the Google Groups "msysGit" group. To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.