e37f729cedb79daf4eb01de2717d3e4e7df9172f
[git.git] / TODO
1 What to expect after 0.99.5
2 ===========================
3
4 This is written in a form of to-do list for me, so if I say
5 "accept patch", it means I do not currently plan to do that
6 myself.  People interested in seeing it materialize please take
7 a hint.
8
9
10 Documentation
11 -------------
12
13 * Accept patches from people who actually have done CVS
14   migration and update the cvs-migration documentation.
15   Link the documentation from the main git.txt page.
16
17 * Link howto docs from the git.txt page. [DONE]
18
19 * Update the SubmittingPatches document to add MUA specific
20   hints on how to disable unwanted MIME and flowed-text by
21   collecting past list postings [DONE].  Accept patches from
22   people who were hit by shiny blue bat to update the same [IN
23   PROGRESS].
24
25 * Talk about using rsync just once at the beginning when
26   initializing a remote repository so that local packs do not
27   need to be expanded.  I personally do not think we need tool
28   support for this.
29
30 * Review the existing docs and see if the repository
31   organization needs to be clarified further [NEXT].
32
33 * Update tutorial to cover shared repository style a bit more,
34   maybe with a toy project that involves two or three
35   repositories.
36
37 * Update tutorial to cover setting up repository hooks to do
38   common tasks. [IN PROGRESS]
39
40 * Get help to properly use asciidoc in tutorial.
41
42 * Maybe justify and demonstrate an Octopus in the tutorial.  Add
43   it to the glossary.
44
45
46 Technical (heavier)
47 -------------------
48
49 * Tony Luck reported an unfortunate glitch in the 3-way merge.
50   Encourage discussions to come up with a not-so-expensive way
51   to catch the kind of ambiguities that led to his misery.
52   [Underway.  Thanks Daniel and Fredrik for taking an
53   initiative.]
54
55 * We might want to optimize cloning with GIT native transport
56   not to explode the pack, and store it in objects/pack instead.
57   We would need a tool to generate an idx file out of a pack
58   file for this.  Also this itself may turn out to be a bad
59   idea, making the set of packs in repositories everybody has
60   different from each other.
61
62 * Maybe a pack optimizer.  I am not convinced that packing all
63   objects into a single pack and removing all the existing pack
64   is the right way to go, since that would work against people
65   who already have those packs.
66
67
68 Technical (milder)
69 ------------------
70
71 * When the branch head pointed by $GIT_DIR/HEAD changes while
72   the index file and working tree are looking the other way
73   (e.g. somebody pushed into your repository, or you ran "git
74   fetch" to update the ref your working tree is on), "git
75   checkout" without -f gets confused.  Figure out a good way to
76   handle this. [DONE]
77
78   We still have the same issue with "git fetch".  Fetching into
79   the branch one is on _may_ need to do the same thing as
80   fetching into anonymous head and then do the resolve.  At
81   least it needs a warning. [DONE]
82
83 * "git commit -m" should work for initial commits and perhaps
84   merge commits as well.  Warning about merge is still a good
85   thing to do, while -m is useful in scripted non-interactive
86   use, so we need to be careful. [DONE]
87
88 * Encourage concrete proposals to commit log message templates
89   we discussed some time ago.
90
91 * Bug Ryan and work with him to update send-email easier to use.
92   [Resurrected it for Debian build.]
93
94 * Look at portability fixes from Jason Riedy
95
96     http://www.cs.berkeley.edu/~ejr/gits/git.git#portable 
97
98   [Applied.  Burned by one of them and backed out.]
99
100 * Accept patches to cause "read-tree -u" delete a directory when
101   it makes it empty.
102
103 * Perhaps accept patches to introduce the concept of "patch flow
104   expressed as ref mappings" Josef has been advocating about.
105
106 * Perhaps accept patches to do undo/redo.
107
108 * MIMEified applymbox to grok B and Q encodings in headers and
109   turn them into UTF-8; unwrap QP; explode multipart.
110   [DONE. waiting for a bug to happen ;-) ]
111
112 * "git cherry-pick" that applies the patch an existing commit
113   introduces in its ancestry chain, possibly using the 3-way
114   merge machinery. [DONE]
115
116 * Update rebase using the cherry-pick command. [DONE]
117
118 * Redo "git revert" using 3-way merge machinery. [DONE]
119
120 * A tool to detect, show and prune already merged topic
121   branches.
122
123 * Set up an automated documentation rebuilding procedure at
124   kernel.org, using update hook mechanism. [DONE]  Describe it
125   in a howto form [DONE].
126
127 * Enhance "git repack" to not always use --all; this would be
128   handy if the repository contains wagging heads like "pu" in
129   git.git repository.
130
131 * Accept and apply "git repack --all" patch, except the part
132   that removes the existing packs. [DONE]
133
134 * Internally split the project into non-doc and doc parts; add
135   an extra root for the doc part and merge from it; move the
136   internal doc source to a separate repository, like the +Meta
137   repository; experiment if this results in a reasonable
138   workflow, and document it in howto form if it does.
139
140 * Add names to all nodes in show-branch [DONE].
141
142 * Option to limit rename detection for more than N paths.
143
144
145 Technical (trivial)
146 -------------------
147
148 * Look at and merge Debian fixes from Tommi [Done].
149
150 * Perhaps "git branch -d" to delete a branch.
151
152 * Remove "git clone-dumb-http".
153
154 * We would want test scripts for the relative directory path
155   stuff Linus has been working on.  So far, the following
156   commands should be usable with relative directory paths:
157
158     update-cache
159     ls-files
160     diff-files
161     diff-cache
162     diff-tree
163     rev-list
164
165 \f
166 Local Variables:
167 mode: text
168 End: