The GIT To-Do File ================== The latest copy of this document is found at http://kernel.org/git/?p=git/git.git;a=blob;hb=todo;f=TODO What to expect from now on ========================== This is written in a form of to-do list for me, so if I say "accept patch", it means I do not currently plan to do that myself. People interested in seeing it materialize please take a hint. Also whatever I marked "Perhaps" do not have to happen if ever -- only if somebody cares enough and submits a clean patch, perhaps ;-). Design issues ------------- * tree entries in index? -- sorry, stalled * "intent to add" index entries? -- together with the above needs rethinking. * Plug-in file-level merges. On the other hand, we may not even need this; just tell people to run "xxdiff -U" on the working tree files (or kompare). Technical (heavier) ------------------- * Libification. There are many places "run once" mentality is ingrained in the management of basic data structures, which need to be fixed. [Matthias Urlichs was already working on this: , but I do not know what happened to his efforts] * Lazy clones that can be controlled by the user, ranging from totally on-demand a la CVS/SVN to "cache down to this old commit so that I can make full use of git on at least recent history". This need a lot of work in making tools to exit gracefully when they hit unavailable objects while offline. Technical (milder) ------------------ * duplicated refspec given to "fetch-pack a a a" makes it emit strange error message because it triggers the "match only once" logic. Maybe strip the dups on the input side (Uwe Zeisberger <20060608073857.GA5072@informatik.uni-freiburg.de>). * map only parts of huge packfiles and LRU fragments of them. People are starting to try git on projects with deep history and/or many objects, e.g. Mozilla. * upload-pack support for start fetching from any valid point on the history, not just published refs. (Erik W. Biederman ) * git-daemon side support for virtual hosting. Client side is ready in 1.4.0 (Jon Loeliger <1149610100.23938.75.camel@cashmere.sps.mot.com>). * Subprojects. Try "gitlink" -- sorry, stalled. * daemon --strict-symlink. * daemon --base-path does not apply automatically to whitelist somehow feels wrong. If somebody cares enough, accept patches. * Perhaps detect cloning request in upload-pack and cache the result for next cloning request until any of our refs change. * Maybe grok PGP signed text/plain in applymbox as well. Technical (trivial) ------------------- * log-tree.c: pad sequence numbers with leading 0 if a series is larger than 9, around ll.133? * git-cherry-pick should check if the original commit message is just a single liner, in which case it should add a LF before appending "cherry-picked from..." message. * git-clone fail .git/refs/foo (Yann Dirson ) <20060610225040.GA7766@nowhere.earth> * git-proxy should be spawned with sh -c 'command' $1 $2. * Maybe a true git-proxy command that reads the first request pkt-line, and redirects the request to its real destination. * test scripts for the relative directory path stuff. * In a freshly created empty repository, `git fetch foo:bar` works OK, but `git checkout bar` afterwards does not (missing `.git/HEAD`). Local Variables: mode: text End: