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

Re: Features from GitSurvey 2010

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jan 29, 2011, 23:13 UTC
Message-ID
<20110129231310.GA11088@burratino>
In-Reply-To
<AANLkTi=gf9_618iojpYJgN_msAe-FBq-Jao=sj76VQak@mail.gmail.com>
Hi Dmitry,
Dmitry S. Kravtsov wrote:
> I want to dedicate my coursework at University to implementation of
> some useful git feature. So I'm interesting in some kind of list of
> development status of these features
[...]
> Or I'll be glad to know what features are now 'free' and what are
> currently in active development.

Interesting question. The short answer is that they are all "free". Generally people seem to be happy to learn of an alternative approach to what they have been working on.

[For the following pointers, the easiest way to follow up is probably to search the mailing list archives.]

> better support for big files (large media)

For a conservative approach, you might want to get in touch with Sam Hocevar, Nicolas Pitre, and Miklos Vajna. The idea is to stream big files directly to pack and not waste time trying to compress them.

For an alternative approach, Joey Hess's git-annex might be interesting.

> resumable clone/fetch (and other remote operations)
Jakub Narebski seems to be interested in this and Nicolas Pitre has
given some good advice about it.  You can get something usable today
by putting up a git bundle for download over HTTP or rsync, so it is
possible that this just involves some UI (porcelain) and documentation
work to become standard practice.
 
> GitTorrent Protocol, or git-mirror
Sam Vilain and Jonas Fonseca did some good work on this, but it's
stalled.
 
> lazy clone / on-demand fetching of object

There's a patch. As is, it is not likely to be useful outside specialized circumstances imho.

http://thread.gmane.org/gmane.comp.version-control.git/73117
 
> subtree clone
Nguyễn Thái Ngọc Duy and Elijah Newren have done some design and
prototyping work.
 
> support for tracking empty directories
Tricky to get the UI right.  I am interested in and would be glad to
help with this one.
 
> environment variables in config
> better undo/abort/continue, and for more commands

These might involve nice "bite-sized" projects. Christian Couder and Johannes Schindelin have discussed cherry-pick --abort/--continue and they might be interested in patches on that subject. Stephen Beyer's sequencer might be interesting for inspiration:

git://repo.or.cz/git/sbeyer.git
> '-n' like option for each command, which describes what would happen
> warn before/when rewriting published history
> git push --create
> "commands issued" (or "command equivalents") in git-gui / gitk
Go for it.  "git init --remote" might be a good companion to "git push
--create".
 
> side-by-side diffs and/or color-words diff in gitweb
> admin and/or write features in gitweb
> graphical history view in gitweb
 
There may or may not have been design work on some of these for Pavan
Kumar Sunkara's last summer of code project.  John 'Warthog9' Hawley,
Jakub Narebski, and Petr Baudis might have advice.
> GUI for rebase in git-gui
> GUI for creating repository in git-gui
> graphical diff/merge tool integrated with git-gui
> syntax highlighting in git-gui
 
Pat Thoyts is probably the one to talk to.
> filename encoding (in repository vs in filesystem)
 
This is important for the Windows port and likely to be a nuisance
on Unix.  I think there has been some work on it on the msysgit list?
> localization of command-line messages (i18n)
Ævar Arnfjörð Bjarmason did some work which is in pu.  It needs
some polishing.  I am also interested.
 
> wholesame directory rename detection
Yann Dirson wrote a patch.  It needs some polishing (I'd be glad to
help --- it would be exciting to see this move forward).
 
> union checkouts (some files from one branch, some from other)
Not sure I understand the use case?
 
> advisory locking / "this file is being edited"
Probably better to implement out of band (using hooks?).  I don't
know of any work or documentation in that direction.
 
> built-in gitjour/bananajour support
 
A good start might be to submit one or both of these to contrib?
> better support for submodules	

Jens Lehmann has done some great work on this and presumably would be happy for help.

https://github.com/jlehmann/git-submod-enhancements/wiki

Hope that helps, Jonathan

Previous: Dmitry S. KravtsovNext: Jakub Narebski
Message 2 of 36 in “Features from GitSurvey 2010”
  1. Dmitry S. KravtsovJan 29, 2011
  2. Jonathan NiederJan 29, 2011
  3. Jakub NarebskiFeb 1, 2011
  4. Nguyen Thai Ngoc DuyFeb 1, 2011
  5. Shawn PearceFeb 1, 2011
  6. Shawn PearceFeb 1, 2011
  7. Nguyen Thai Ngoc DuyFeb 1, 2011
  8. Junio C HamanoFeb 1, 2011
  9. Nicolas PitreFeb 1, 2011
  10. Nguyen Thai Ngoc DuyFeb 1, 2011
  11. Shawn PearceFeb 1, 2011
  12. Nicolas PitreFeb 1, 2011
  13. Shawn PearceFeb 2, 2011
  14. Nicolas PitreFeb 2, 2011
  15. david@lang.hmFeb 2, 2011
  16. Geert BoschFeb 3, 2011
  17. Narrow clone (Re: features from GitSurvey 2010)Jonathan Nieder, Feb 3, 2011
  18. Geert BoschFeb 3, 2011
  19. Jonathan NiederFeb 3, 2011
  20. Jonathan NiederFeb 3, 2011
  21. Nicolas PitreFeb 3, 2011
  22. Tracking empty directoriesJonathan Nieder, Feb 1, 2011
  23. Nguyen Thai Ngoc DuyFeb 1, 2011
  24. Ilari LiusvaaraFeb 1, 2011
  25. Jakub NarebskiFeb 1, 2011
  26. Ilari LiusvaaraFeb 1, 2011
  27. Jonathan NiederFeb 1, 2011
  28. Jakub NarebskiFeb 1, 2011
  29. Nguyen Thai Ngoc DuyFeb 2, 2011
  30. Kevin P. FlemingFeb 2, 2011
  31. Nicolas PitreFeb 1, 2011
  32. big files in git was: Re: Features from GitSurvey 2010david@lang.hm, Feb 1, 2011
  33. Nicolas PitreFeb 3, 2011
  34. Matthieu MoyFeb 1, 2011
  35. Jonathan NiederFeb 1, 2011
  36. Matthieu MoyFeb 1, 2011

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.