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

[gsoc2012 wiki PATCH] "`git instaweb --serve`" project

From
Jakub Narebski <jnareb@gmail.com>
Date
Mar 10, 2012, 00:46 UTC
Message-ID
<1331340416-13359-1-git-send-email-jnareb@gmail.com>
In-Reply-To
<20120302091114.GA3984@sigill.intra.peff.net>

--- I don't know if "git-serve" is something that would be realy useful, or just checkmark in the comparison of Git and Mercurial.

 SoC-2012-Ideas.md |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/SoC-2012-Ideas.md b/SoC-2012-Ideas.md
index 95411ec..884237e 100644
--- a/SoC-2012-Ideas.md
+++ b/SoC-2012-Ideas.md
@@ -318,6 +318,60 @@ Programming language: JavaScript
 Proposed by: Jakub Narębski  
 Possible mentor(s): Jakub Narębski
 
+`git instaweb --serve`
+----------------------
+
+[git-instaweb] is a tool for browsing a repository (in gitweb) with
+a web browser.  To use it, simply run `git instaweb` inside
+repository.  It would set up gitweb and a web server, and by default
+also run a web browser.  Web interface would be available at
+`http://localhost:1234`.
+
+For informal, ad-hoc sharing it would be nice if there was an option
+to `git instaweb` that would make it also allow remote machines
+to **pull** from you (via HTTP), similar to [hg serve] command in
+Mercurial version control system.
+
+git-instaweb supports many web servers.  Currently apache2, lighttpd,
+mongoose, plackup and webrick are supported.  It is not necessary to
+implement support for `--serve` in all of them.
+
+The project would consist of the following steps:
+
+ * Configure web server to run `git-http-backend` CGI program to serve
+   git repositories over HTTP.  It should probably allow by default
+   only read-only use.
+
+ * Configure gitweb to show fetch URL in 'summary' page.
+
+ * If possible for given web server (and with available modules),
+   configure it so that "smart" HTTP server and gitweb share common
+   URL (are available under the same URL).
+
+ * If possible use mechanism native for a web server used, for example 
+   [Plack::App::GitSmartHttp] for 'plackup' web server, or [grack]
+   with WEBrick.
+
+ * Optionally: add support for pushing (disabled by default).
+
+ * Optionally: add documentation about using `git instaweb` to
+   "[Git User's Manual]" (or one of tutorials), similar to appropriate
+   chapter in [hgbook] ("Mercurial: The Definitive Guide").
+
+The minimum would be to implement pull support under different URL
+than web interface, and only for one web server.
+
+Programming language: shell script  
+Proposed by: Jakub Narębski  
+Possible mentor(s): Jakub Narębski, Eric Wong, ...
+
+[git-instaweb]: http://schacon.github.com/git/git-instaweb.html
+[hg serve]: http://mercurial.selenic.com/wiki/hgserve
+[Plack::App::GitSmartHttp]: http://search.cpan.org/perldoc?Plack::App::GitSmartHttp
+[grack]: https://github.com/schacon/grack
+[Git User's Manual]: http://schacon.github.com/git/user-manual.html
+[hgbook]: http://hgbook.red-bean.com/read/collaborating-with-other-people.html#sec:collab:serve
+
 Finishing network support for libgit2
 -------------------------------------
 
-- 
1.7.9
Previous: Jeff KingNext: Jakub Narebski
Message 19 of 20 in “GSoC 2012 application process”
  1. Jeff KingMar 2, 2012
  2. Nguyen Thai Ngoc DuyMar 2, 2012
  3. Junio C HamanoMar 2, 2012
  4. Jeff KingMar 3, 2012
  5. "Modernizing and expanding Git.pm" projectJakub Narebski, Mar 3, 2012
  6. Jeff KingMar 3, 2012
  7. Teaching "--3way" to "git apply"Junio C Hamano, Mar 4, 2012
  8. Jeff KingMar 5, 2012
  9. Thomas RastMar 5, 2012
  10. Jeff KingMar 5, 2012
  11. Matthieu MoyMar 5, 2012
  12. Jeff KingMar 5, 2012
  13. Matthieu MoyMar 5, 2012
  14. Jeff KingMar 5, 2012
  15. GSoC backup adminJeff King, Mar 7, 2012
  16. Shawn PearceMar 7, 2012
  17. "Use JavaScript library / framework in gitweb" projectJakub Narebski, Mar 8, 2012
  18. Jeff KingMar 9, 2012
  19. "`git instaweb --serve`" projectJakub Narebski, Mar 10, 2012
  20. "Graphical diff in git-gui" projectJakub Narebski, Mar 11, 2012

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.