Retire resolved items.
[git] / TODO
1 The GIT To-Do File
2 ==================
3
4   The latest copy of this document is found at 
5
6     http://kernel.org/git/?p=git/git.git;a=blob;hb=todo;f=TODO
7
8
9 What to expect from now on
10 ==========================
11
12 This is written in a form of to-do list for me, so if I say
13 "accept patch", it means I do not currently plan to do that
14 myself.  People interested in seeing it materialize please take
15 a hint.  Also whatever I marked "Perhaps" do not have to happen
16 if ever -- only if somebody cares enough and submits a clean
17 patch, perhaps ;-).
18
19
20 Design issues
21 -------------
22
23 * tree entries in index?  -- sorry, stalled
24
25 * "intent to add" index entries?  -- together with the above
26   needs rethinking.
27
28 * Plug-in file-level merges.  On the other hand, we may not even
29   need this; just tell people to run "xxdiff -U" on the working
30   tree files (or kompare).
31
32
33 Technical (heavier)
34 -------------------
35
36 * Libification.  There are many places "run once" mentality is
37   ingrained in the management of basic data structures, which
38   need to be fixed.  [Matthias Urlichs was already working on
39   this: <pan.2005.10.03.20.48.52.132570@smurf.noris.de>, but I
40   do not know what happened to his efforts]
41
42 * Lazy clones that can be controlled by the user, ranging from
43   totally on-demand a la CVS/SVN to "cache down to this old
44   commit so that I can make full use of git on at least recent
45   history".  This need a lot of work in making tools to exit
46   gracefully when they hit unavailable objects while offline.
47
48
49 Technical (milder)
50 ------------------
51
52 * duplicated refspec given to "fetch-pack a a a" makes it emit
53   strange error message because it triggers the "match only
54   once" logic.  Maybe strip the dups on the input side
55   (Uwe Zeisberger
56   <20060608073857.GA5072@informatik.uni-freiburg.de>). 
57
58 * map only parts of huge packfiles and LRU fragments of them.
59   People are starting to try git on projects with deep history
60   and/or many objects, e.g. Mozilla.
61
62 * upload-pack support for start fetching from any valid point on
63   the history, not just published refs. (Erik W. Biederman
64   <m164jc9ekx.fsf@ebiederm.dsl.xmission.com>)
65
66 * git-daemon side support for virtual hosting.  Client side
67   is ready in 1.4.0 (Jon Loeliger <1149610100.23938.75.camel@cashmere.sps.mot.com>).
68
69 * Subprojects.  Try "gitlink" -- sorry, stalled.
70
71 * daemon --strict-symlink.
72
73 * daemon --base-path does not apply automatically to whitelist
74   somehow feels wrong.  If somebody cares enough, accept
75   patches.
76
77 * Perhaps detect cloning request in upload-pack and cache the
78   result for next cloning request until any of our refs change.
79
80 * Maybe grok PGP signed text/plain in applymbox as well.
81
82
83 Technical (trivial)
84 -------------------
85
86 * git-cherry-pick should check if the original commit message is
87   just a single liner, in which case it should add a LF before
88   appending "cherry-picked from..." message.
89
90 * git-clone fail .git/refs/foo (Yann Dirson <ydirson@altern.org>)
91   <20060610225040.GA7766@nowhere.earth>
92
93 * git-proxy should be spawned with sh -c 'command' $1 $2.
94
95 * Maybe a true git-proxy command that reads the first request
96   pkt-line, and redirects the request to its real destination.
97
98 * test scripts for the relative directory path stuff.
99
100 * In a freshly created empty repository, `git fetch foo:bar`
101   works OK, but `git checkout bar` afterwards does not (missing
102   `.git/HEAD`).
103
104 \f
105 Local Variables:
106 mode: text
107 End: