4 The latest copy of this document is found at
6 http://kernel.org/git/?p=git/git.git;a=blob;hb=todo;f=TODO
12 - Immedately after 0.99.9, the backward compatible symbolic
13 links in $(bindir) will be removed [DONE].
15 git-ssh-push and git-ssh-pull pair is not going away if ever.
16 Each of these old-name commands continues to invoke its
17 old-name counterpart on the other end.
19 - There was a discussion to move bulk of the git-* programs out
20 of /usr/bin and use /usr/lib/git; the central mechanism was
21 done, but the actual move is postponed post 1.0.
24 What to expect after 0.99.9
25 ===========================
27 This is written in a form of to-do list for me, so if I say
28 "accept patch", it means I do not currently plan to do that
29 myself. People interested in seeing it materialize please take
30 a hint. Also whatever I marked "Perhaps" do not have to happen
31 if ever -- only if somebody cares enough and submits a clean
38 * Help Jon Loeliger to find place in the documentation to place
41 * Accept patches from people who actually have done CVS
42 migration and update the cvs-migration documentation.
43 Link the documentation from the main git.txt page.
45 * Talk about using rsync just once at the beginning when
46 initializing a remote repository so that local packs do not
47 need to be expanded. I personally do not think we need tool
48 support for this (but see below about optimized cloning).
50 * Maybe update tutorial with a toy project that involves two or
53 * Update tutorial to cover setting up repository hooks to do
56 * Do we still have missing docs? If so accept patches to finish
59 * Accept patches to talk about "Whoops, it broke. What's
62 * Accept patches to make formatted tables in asciidoc to work
63 well in both html and man pages (see git-diff(1)).
69 * Assess the side effects of "make the rest of the things
70 magically work from any subdirectory" change by Linus. It is
71 a good change in principle and we would like to have that
72 behaviour but some tool implementations I am sure are assuming
73 to never run from anywhere other than the top. [Post 1.0]
75 * Ref namespace management. Perhaps use refs/local/ suggestion
78 * Git daemon, when deployed at kernel.org, might turn out to be
79 quite a burden, since it needs to generate customized packs
80 every time a new request comes in. It may be worthwhile to
81 precompute some packs for popular sets of heads downloaders
82 have and serve that, even if that could give more than the
83 client asks for in some cases. We will know about this soon
84 enough [DONE part to allow using precomputed pack, but not
85 dynamic caching part].
87 * Libification. There are many places "run once" mentality is
88 ingrained in the management of basic data structures, which
89 need to be fixed. [Matthias Urlichs is already working on
90 this: <pan.2005.10.03.20.48.52.132570@smurf.noris.de>; Post
93 * Maybe a pack optimizer.
95 Given a set of objects and a set of refs (probably a handful
96 branch heads and point release tags), find a set of packs to
97 allow reasonably minimum download for all of these classes of
98 people: (1) somebody cloning the repository from scratch, (2)
99 somebody who tends to follow the master branch head reasonably
100 closely, (3) somebody who tends to follow only the point
103 * Maybe an Emacs VC backend.
105 * 'git split-projects'? This requires updated 'git-rev-list' to
106 skip irrelevant commits.
107 Message-ID: <Pine.LNX.4.63.0509221617300.23242@iabervon.org>
109 * Look at libified GNU diff CVS seems to use, or libxdiff.
110 [Daniel has his own diff tool almost ready to start
111 integrating and testing; Post 1.0]
113 * Plug-in file-level merges [Post 1.0].
119 * merge-recursive needs to register conflicting paths as higher
120 stage entries in the index. For that, it first needs to
121 construct three trees whose paths are already renamed, and
122 call 3-way read-tree.
124 * Binary package split. Plan laid out and discussion mostly
125 done. [RPM side done; Debian side delegated]
127 * User-relative paths by Andreas Ericsson. [DONE]
129 * Accessing configuration variables from C and from scripts by
132 * Proxing git:// connection by Paul Collins. [DONE]
134 * Maybe look at Cogito and see if I can help Pasky to adjust to
135 the later core features?
137 * Perhaps detect cloning request in upload-pack and cache the
138 result for next cloning request until any of our refs change.
140 * Encourage concrete proposals to commit log message templates
141 we discussed some time ago.
143 * Perhaps accept patches to do undo/redo.
145 * Perhaps accept patch to optionally allow '--fuzz' in
148 * Allow 'git apply' to accept GNU diff 2.7 output that forgets
149 to say '\No newline' if both input ends with incomplete
152 * Maybe grok PGP signed text/plain in applymbox as well.
154 * Enhance "git repack" to not always use --all; this would be
155 handy if the repository contains wagging heads like "pu" in
158 * Make rebase restartable; instead of skipping what cannot be
159 automatically forward ported, leave the conflicts in the work
160 tree, have the user resolve it, and then restart from where it
163 * Output full path in the "git-rev-list --objects" output, not
164 just the basename, and see the improved clustering results in
165 better packing [Tried, but did not work out well].
167 * Updated git-changes-script Jeff Garzik needs [Not needed --
168 pull into local or borrow temporarily with alternate object
169 directories environment variable and use normal tools].
171 * Customizable init-db. Personally I think template mechanism
172 is good enough. Otherwise, maybe add hooks/post-init-db.
174 * Make sure we do reasonable thing on binary files even in
175 cherry-pick and rebase [DONE].
177 * Binary diff detection fails if locale set to non English; even
178 GNU diff 2.8.1 and 2.8.7 in C locale say different things. At
179 least run diff under C locale (setenv LANG=C LC_ALL=C) for
180 1.0. It might be better to have our own binary detection
181 logic, or even our own diff output without forking an external
182 diff. [The former _might_ make sense for 1.0, but the latter
189 * Stop installing the old-name symlinks [DONE].
191 * 'git merge-projects'?
193 Subject: Re: Merges without bases
194 References: <1125004228.4110.20.camel@localhost.localdomain>
195 Date: Thu, 25 Aug 2005 15:26:36 -0700
196 Message-ID: <7vvf1tps9v.fsf@assigned-by-dhcp.cox.net>
198 * 'git lost-and-found'? Link dangling commits found by
199 fsck-objects under $GIT_DIR/refs/lost-found/. Then
200 show-branch or gitk can be used to find any lost commit.
203 Do not name it /lost+found/; that would probably confuse
204 things that mistake it a mount point (not our code but
207 * Add simple globbing rules to git-show-branch so that I can
208 say 'git show-branch --heads "ko-*"' (ko-master, ko-pu, and
209 ko-rc are in refs/tags/).
211 * We would want test scripts for the relative directory path
212 stuff Linus has been working on. Most of the C-level
213 commands should be usable with relative directory paths.
215 * In a freashly created empty repository, `git fetch foo:bar`
216 works OK, but `git checkout bar` afterwards does not (missing