git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [ANNOUNCE] Cogito-0.12

From
Petr Baudis <pasky@suse.cz>
Date
Jul 7, 2005, 22:14 UTC
Message-ID
<20050707221443.GB7151@pasky.ji.cz>
In-Reply-To
<Pine.LNX.4.58.0507071158220.3293@g5.osdl.org>
Let me join the sceptics camp. :-)

Dear diary, on Thu, Jul 07, 2005 at 09:04:58PM CEST, I got a letter where Linus Torvalds <torvalds@osdl.org> told me that...

> Note that I just re-packed the kernel archive on kernel.org, and removed 
> _all_ unpacked files. Once that percolates to the mirrors, the http 
> protocol will be useless without anything like this.
*grumble*

So, what _is_ then the way to pull now, actually? If we use rsync, won't we end up with having the objects we previous had twice now?

Show 5 quoted lines
> That said, I really think the dumb protocols are useless anyway. No other 
> system supports pure static object pulling anyway, and as far as I'm 
> concerned, I want "rsync" to kind of work (but it won't be optimal, since 
> re-packing will delete all the old objects and replace it with the new 
> pack that is downloaded anew). But plain http? I'm not convinced.

You can always just spider the repository which will work just as well as rsync in the git case. ;-)

I think it would be actually simplest (for the user) to have a trivial CGI script on the other side which will do the git-upload-pack stuff. Minimal extra administrative overhead, flexibility, works through proxies, and stuff. People can rewrite it in Perl or PHorridP if they wish and use it on webhosting servers not allowing much else.

That's not to say a dedicated server wouldn't have its place too, and that's what's now probably simplest for us. ;-)

Now we are in a situation when there's actually no way to pull from your kernel repository without throwing own repository to mess and duplicating data, AFAICS.

Show 13 quoted lines
> I'd much rather have a "stupid server" that just listens to a port, and
> basically forks off and executes "git-upload-pack" when it's connected to
> (perhaps reading the directory name first).  Nothing else. Then we can do 
> a security analysis of upload-pack, which should be fairly easy since it's 
> not actually ever _writing_ anything.
> 
> At that point, you can do
> 
> 	git pull git://www.kernel.org/pub/scm/git/..
> 
> and it would just connect to some default "git port", pass off the 
> directory name, and be done with it - exact same discovery protocol that 
> now use for ssh. And "git clone" would also automatically work.

Eek. Could you please make it at least pretend to be extensible? Compare git-upload-pack with git-ssh-pu* - the second one prepends letters to the data it sends so that if you add a new type of stuff to send (say for authentication or some smart tags stuff), you could extend it in a sensible way. What about dividing the communication to "blocks" separated by a newline? Each block would have its first word on the first line saying what kind of block it is - "refs", "have", "want", or "pack" (for simplicity, the pack block might have additional restriction that it's always the last one). If you hit unknown block, you should respond back by something like "huh" and ignore the rest of it.

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
<Espy> be careful, some twit might quote you out of context..
Previous: Linus TorvaldsNext: Linus Torvalds
Message 15 of 66 in “[ANNOUNCE] Cogito-0.12”
  1. Petr BaudisJul 3, 2005
  2. Brian GerstJul 6, 2005
  3. Petr BaudisJul 7, 2005
  4. Junio C HamanoJul 7, 2005
  5. Linus TorvaldsJul 7, 2005
  6. Junio C HamanoJul 7, 2005
  7. Linus TorvaldsJul 7, 2005
  8. Junio C HamanoJul 7, 2005
  9. Junio C HamanoJul 7, 2005
  10. Eric W. BiedermanJul 7, 2005
  11. Linus TorvaldsJul 7, 2005
  12. Eric W. BiedermanJul 8, 2005
  13. Dumb servers (was: [ANNOUNCE] Cogito-0.12)Kevin Smith, Jul 8, 2005
  14. Linus TorvaldsJul 8, 2005
  15. Petr BaudisJul 7, 2005
  16. Linus TorvaldsJul 7, 2005
  17. Pull efficiently from a dumb git store.Junio C Hamano, Jul 7, 2005
  18. rev-list: add "--objects=self-sufficient" flag.Junio C Hamano, Jul 7, 2005
  19. Linus TorvaldsJul 7, 2005
  20. rev-list: add "--full-objects" flag.Junio C Hamano, Jul 8, 2005
  21. Linus TorvaldsJul 8, 2005
  22. Linus TorvaldsJul 8, 2005
  23. Junio C HamanoJul 8, 2005
  24. Linus TorvaldsJul 8, 2005
  25. Eric W. BiedermanJul 9, 2005
  26. Linus TorvaldsJul 10, 2005
  27. Junio C HamanoJul 10, 2005
  28. Sven VerdoolaegeJul 10, 2005
  29. Linus TorvaldsJul 10, 2005
  30. Eric W. BiedermanJul 11, 2005
  31. Linus TorvaldsJul 11, 2005
  32. Eric W. BiedermanJul 12, 2005
  33. Linus TorvaldsJul 12, 2005
  34. Eric W. BiedermanJul 12, 2005
  35. Linus TorvaldsJul 12, 2005
  36. Eric W. BiedermanJul 12, 2005
  37. Linus TorvaldsJul 12, 2005
  38. Linus TorvaldsJul 11, 2005
  39. Give --full-objects flag to rev-list when preparing a dumb server.Junio C Hamano, Jul 8, 2005
  40. Use --objects=self-sufficient flag to rev-list.Junio C Hamano, Jul 7, 2005
  41. Tony LuckJul 7, 2005
  42. Junio C HamanoJul 7, 2005
  43. Linus TorvaldsJul 7, 2005
  44. Tony LuckJul 8, 2005
  45. Linus TorvaldsJul 8, 2005
  46. Russell KingJul 9, 2005
  47. Russell KingJul 9, 2005
  48. Junio C HamanoJul 9, 2005
  49. Linus TorvaldsJul 10, 2005
  50. Linus TorvaldsJul 10, 2005
  51. Russell KingJul 10, 2005
  52. Junio C HamanoJul 10, 2005
  53. Russell KingJul 10, 2005
  54. Linus TorvaldsJul 10, 2005
  55. Russell KingJul 10, 2005
  56. Linus TorvaldsJul 10, 2005
  57. Russell KingJul 10, 2005
  58. Linus TorvaldsJul 10, 2005
  59. Russell KingJul 10, 2005
  60. Petr BaudisJul 10, 2005
  61. Chris WrightJul 11, 2005
  62. Linus TorvaldsJul 8, 2005
  63. Petr BaudisJul 8, 2005
  64. Daniel BarkalowJul 8, 2005
  65. Chris WrightJul 7, 2005
  66. Check packs and then files.Junio C Hamano, Jul 11, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.