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

Re: If you would write git from scratch now, what would you change?

From
Shawn O. Pearce <spearce@spearce.org>
Date
Nov 27, 2007, 01:58 UTC
Message-ID
<20071127015833.GL14735@spearce.org>
In-Reply-To
<fifstd$ilj$1@ger.gmane.org>
Jakub Narebski <jnareb@gmail.com> wrote:
Show 12 quoted lines
> Shawn O. Pearce wrote:
> 
> [git-gui in XUL]
> 
> > But XUL doesn't support launching a process and connecting pipes
> > to its stdin and stdout.  I started to try and create an XPCOM
> > extension to provide that functionality from NSPR and started to
> > run into major problems compiling the XPCOM plugin, getting the
> > necessary interfaces implemented, etc.
> 
> What about Ajax / Comet support in XUL, Can this be used for that?
> (Just an [perhaps stupid] idea).

Yes, XUL fully supports AJAX. If it didn't Google Maps and its cool interface wouldn't exist. :-)

The problem there is that AJAX requires HTTP. So I'd have to create a "micro HTTP server" that runs on the loopback interface and listens for HTTP requests from the GUI, parses them, runs the necessary Git action, then sends the results back to the GUI.

Sort of ugly.

My bigger concern is also for a shared machine; how do I secure the HTTP server so only the git-gui process that is supposed to be using it is able to access it? I guess I could create a 600 ~/.gitguicookie file or some such entity and throw random data into it to initialize it. That's basically all xauth is doing.

Actually I might revisit this XUL concept using an HTTP server and AJAX. I could actually link the damn HTTP server against libgit.a (Junio will hate me). If the server dies XUL can notice it and simply restart it. But there's a whole suite of actions that I can run through the internal APIs with high chances of success, and a lot quicker than forking the corresponding plumbing process, especially on fork challenged machines like Windows.

-- 
Shawn.
Previous: Jakub NarebskiNext: Johannes Schindelin
Message 21 of 83 in “If you would write git from scratch now, what would you change?”
  1. Jakub NarebskiNov 25, 2007
  2. Pierre HabouzitNov 25, 2007
  3. Steven WalterNov 26, 2007
  4. Junio C HamanoNov 26, 2007
  5. Adam RobenNov 26, 2007
  6. Carlos RicaNov 26, 2007
  7. Daniel BarkalowNov 26, 2007
  8. Andy ParkinsNov 26, 2007
  9. Benoit SigoureNov 26, 2007
  10. Jan HudecNov 26, 2007
  11. David KastrupNov 26, 2007
  12. Jan HudecNov 26, 2007
  13. Michael PooleNov 26, 2007
  14. Jan HudecNov 26, 2007
  15. Michael PooleNov 26, 2007
  16. Jon SmirlNov 26, 2007
  17. Andy ParkinsNov 26, 2007
  18. Marco CostalbaNov 26, 2007
  19. Shawn O. PearceNov 27, 2007
  20. Jakub NarebskiNov 27, 2007
  21. Shawn O. PearceNov 27, 2007
  22. Johannes SchindelinNov 27, 2007
  23. [RFC] git-gui USer's Survey 2007 (was: If you would write git from scratch now, what would you change?)Jakub Narebski, Nov 27, 2007
  24. Johannes SchindelinNov 28, 2007
  25. Jason SewallNov 28, 2007
  26. Jan HudecNov 28, 2007
  27. Johannes SchindelinNov 28, 2007
  28. Jan HudecNov 29, 2007
  29. Johannes SchindelinNov 29, 2007
  30. Jan HudecNov 30, 2007
  31. Marco CostalbaNov 30, 2007
  32. Shawn O. PearceDec 1, 2007
  33. Marco CostalbaDec 1, 2007
  34. Sergei OrganovNov 28, 2007
  35. Andy ParkinsNov 27, 2007
  36. Marco CostalbaNov 27, 2007
  37. Jan HudecNov 27, 2007
  38. Johannes SchindelinNov 27, 2007
  39. Andy ParkinsDec 4, 2007
  40. Jing XueNov 27, 2007
  41. Jon SmirlNov 26, 2007
  42. David KastrupNov 26, 2007
  43. Jan HudecNov 26, 2007
  44. Benoit SigoureNov 26, 2007
  45. Jan HudecNov 26, 2007
  46. Nicolas PitreNov 26, 2007
  47. David KastrupNov 26, 2007
  48. Jan HudecNov 26, 2007
  49. David KastrupNov 26, 2007
  50. Jan HudecNov 26, 2007
  51. Nicolas PitreNov 26, 2007
  52. Wincent ColaiutaNov 26, 2007
  53. Junio C HamanoNov 26, 2007
  54. Nicolas PitreNov 26, 2007
  55. Junio C HamanoNov 26, 2007
  56. Nicolas PitreNov 26, 2007
  57. Shawn O. PearceNov 27, 2007
  58. Junio C HamanoNov 27, 2007
  59. Steven GrimmNov 27, 2007
  60. Johannes SchindelinNov 26, 2007
  61. Nicolas PitreNov 26, 2007
  62. Johannes SchindelinNov 26, 2007
  63. Andreas EricssonNov 27, 2007
  64. Jakub NarebskiNov 27, 2007
  65. Dana HowNov 26, 2007
  66. Nicolas PitreNov 26, 2007
  67. Dana HowNov 26, 2007
  68. Nicolas PitreNov 26, 2007
  69. Dana HowNov 26, 2007
  70. Nicolas PitreNov 26, 2007
  71. Jakub NarebskiNov 26, 2007
  72. Dana HowNov 26, 2007
  73. Shawn O. PearceNov 27, 2007
  74. Nicolas PitreNov 27, 2007
  75. Shawn O. PearceNov 27, 2007
  76. Junio C HamanoNov 27, 2007
  77. Shawn O. PearceNov 27, 2007
  78. Jakub NarebskiNov 27, 2007
  79. C# binding, was Re: If you would write git from scratch now, what would you change?Johannes Schindelin, Nov 27, 2007
  80. Nicolas PitreNov 27, 2007
  81. Dana HowNov 27, 2007
  82. Shawn O. PearceNov 27, 2007
  83. Linus TorvaldsNov 27, 2007

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.