2005-10-18 midnight
[git.git] / TODO
diff --git a/TODO b/TODO
index 73a4cf3..7ff0285 100644 (file)
--- a/TODO
+++ b/TODO
@@ -9,9 +9,9 @@ The GIT To-Do File
 Tool Renames Plan
 =================
 
- - In 0.99.8, we will still install the backward compatible
-   symbolic links in $(bindir).  These will however be removed
-   before 1.0 happens.
+ - In 0.99.8, we still install the backward compatible symbolic
+   links in $(bindir).  These will however be removed before 1.0
+   happens.
 
    git-ssh-push and git-ssh-pull pair is not going away within
    this timeframe, if ever.  Each of these old-name commands
@@ -33,6 +33,12 @@ patch, perhaps ;-).
 Documentation
 -------------
 
+* Document the ref naming restrictions [DONE].
+
+* David Ho's report suggests whatchanged documentation should
+  mention -m as "commonly used options".  Steal Linus'
+  response [DONE].
+
 * Help Jon Loeliger to find place in the documentation to place
   his drawing.
 
@@ -51,7 +57,8 @@ Documentation
 * Update tutorial to cover setting up repository hooks to do
   common tasks.
 
-* Accept patches to finish missing docs.
+* Do we still have missing docs?  If so accept patches to finish
+  them.
 
 * Accept patches to talk about "Whoops, it broke.  What's
   next?".
@@ -68,7 +75,8 @@ Technical (heavier)
   We would need a tool to generate an idx file out of a pack
   file for this.  Also this itself may turn out to be a bad
   idea, making the set of packs in repositories everybody has
-  different from each other.
+  different from each other. [DONE; git-index-pack by Sergey,
+  tweaking clone by me]
 
 * Git daemon, when deployed at kernel.org, might turn out to be
   quite a burden, since it needs to generate customized packs
@@ -105,43 +113,64 @@ Technical (heavier)
   integrating and testing; Post 1.0]
 
 * Accept patches to fetch multiple objects by HTTP in parallel.
-  [Preferably before 1.0]
+  [DONE]
 
 * Plug-in file-level merges [Post 1.0].
 
+* Per-repository configuration mechanism [DONE by Linus].
+
 
 Technical (milder)
 ------------------
 
+* Merlyn reports trouble with http fetch.
+
+* Maybe look at Cogito and see if I can help Pasky to adjust to
+  the later core features?  Zack Brown's "cg-seek leaving empty
+  directories" problem is a good example of this.
+
+* Perhaps detect cloning request in upload-pack and cache the
+  result for next cloning request until any of our refs change.
+
+* Perhaps accept more "want"s in upload-pack and do something
+  intelligent about it.
+
+* Perhaps send less "want"s from fetch-pack.
+
+* Look at svn importer Smurf has.  There is a small cvsimport
+  update in his tree as well [DONE].
+
+* Decide the notation of "peeling the onion" operator, and
+  implement it in sha1_name.c.  Perhaps postfix "^{}" to mean
+  "peel and expect anything", "^{blob}" to mean "peel and barf
+  unless blob".  The current "^0" becomes shorthand for
+  "^{commit}". [DONE]
+
+* Quote the URL so that libcurl's metecharacter mechanism would
+  not kick in [DONE].
+
 * Review the Makefile variables and exporting rules for them,
-  while looking at prefix passing by Kai Ruemmler.
+  while looking at prefix passing by Kai Ruemmler [DONE].
 
-* Review the 'sparce object database' change by Linus and move
-  the first phase of it to the "master" branch.
+* Review the 'sparse object database' change by Linus and move
+  the first phase of it to the "master" branch [DONE].
 
 * Decide on mmap().  I am inclined to just stick to mmap
   replacement by Johannes Schindelin and do nothing else right
-  now.
+  now, except perhaps drop the writing-back support [DONE].
 
 * Revisit Santi's patch to move commit temorary files out of the
-  working tree toplevel.  More generally, review the use of
-  temporary files again.  Assuming $GIT_DIR is writable is
-  more acceptable, but the working tree toplevel may not be in
-  a rare usage pattern.
+  working tree toplevel [DONE].
 
-* Perhaps accept more "want"s in upload-pack and do something
-  intelligent about it.
-
-* Perhaps detect cloning request in upload-pack and cache the
-  result for next cloning request until any of our refs change.
-
-* Perhaps send less "want"s from fetch-pack.
+* More generally, review the use of temporary files again.
+  Assuming writable $GIT_DIR is more acceptable, but the
+  working tree toplevel may not be in a rare usage pattern.
 
 * Encourage concrete proposals to commit log message templates
   we discussed some time ago.
 
 * Accept patches to cause "read-tree -u" delete a directory when
-  it makes it empty.
+  it makes it empty [DONE].
 
 * Perhaps accept patches to do undo/redo.
 
@@ -153,7 +182,12 @@ Technical (milder)
   lines.
 
 * What to do with TABs and LFs in pathnames without breaking GNU
-  patch? 
+  patch?  [DONE -- go with GNU patch extension proposed by Paul].
+
+* Adjust apply.c to proposed GNU patch extension that quotes \n
+  and \t in C style, inside "". [DONE]
+
+* Adjust diff.c to the same. [DONE]
 
 * Maybe grok PGP signed text/plain in applymbox as well.
 
@@ -161,7 +195,7 @@ Technical (milder)
   state?  People with BK background know this operation as
   'clean'.  'git checkout [-f] ent [path...]' was suggested by
   Matthias Urlichs which sounds a natural extention to what the
-  command currently does.
+  command currently does [DONE with a prodding by Linus].
 
 * Enhance "git repack" to not always use --all; this would be
   handy if the repository contains wagging heads like "pu" in
@@ -181,7 +215,7 @@ Technical (milder)
 * Make rebase restartable; instead of skipping what cannot be
   automatically forward ported, leave the conflicts in the work
   tree, have the user resolve it, and then restart from where it
-  left off.
+  left off [mechanism mostly done].
 
 * Output full path in the "git-rev-list --objects" output, not
   just the basename, and see the improved clustering results in
@@ -189,12 +223,40 @@ Technical (milder)
 
 * Updated git-changes-script Jeff Garzik needs [Inquiry for
   external spec sent out with a quick hack.  Will know if that
-  is what he needs soon enough].
+  is what he needs hopefully soon].
+
+* An mechanism to ignore filesystem mode bits altogether [DONE].
 
 
 Technical (trivial)
 -------------------
 
+* Peter Hagervall's sparse fix [DONE].
+
+* Alex Riesen reported that hooks are in effect in tests.
+  Should fix [DONE].
+
+* Disallow [\001-\040\177] byte values from ref names.  Also we
+  need to disallow ':' (used in refspec), '^' and '~' (postfix
+  "peel the onion" operators), and '..' ("ref1..ref2" notation
+  becomes ambiguous otherwise) [DONE].
+
+* Update fetch-pack and clone-pack to ignore funny refs from the
+  other end, while making sure peek-remote does not discard them.
+  [DONE]
+
+* Update upload-pack to send tag^{}.  This would hopefully help
+  Pasky's automated tag tracking, and also Martin's findtags.
+  [DONE]
+
+* Adjust update-index to quoted --index-info [DONE].
+
+* Prepare apply.c changes for maint branch (0.99.8e) [READY].
+
+* Perhaps show ^{commit}, ^{tree} instead of ^{} from ls-remote?
+
+* Re-adjust maint branch for the above if we did so.
+
 * short SHA1 naming is not enforcing uniqueness.  Should fix [DONE].
 
 * 'git repack' can be DOSed.  Should fix [DONE].