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
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.
* 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?".
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
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.
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.
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
* 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
* 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].