GIT 0.99.9
authorJunio C Hamano <junkio@cox.net>
Sun, 30 Oct 2005 00:51:10 +0000 (17:51 -0700)
committerJunio C Hamano <junkio@cox.net>
Sun, 30 Oct 2005 00:51:10 +0000 (17:51 -0700)
Signed-off-by: Junio C Hamano <junkio@cox.net>
HAVEDONE
TODO

index 5445558..459dbae 100644 (file)
--- a/HAVEDONE
+++ b/HAVEDONE
@@ -1,48 +1,96 @@
-Done in 0.99.8
+Done in 0.99.9
 ==============
 
+Ports
+~~~~~
+
+* Cygwin port [HPA].
+
+* OpenBSD build [Merlyn and others].
+
+
+Fixes
+~~~~~
+
+* clone request over git native protocol from a repository with
+  too many refs did not work; this has been fixed.
+
+* git-daemon got safer for kernel.org use [HPA].
+
+* Extended SHA1 parser was not enforcing uniqueness for
+  abbreviated SHA1; this has been fixed.
+
+* http transport does not barf on funny characters in URL.
+
+* The ref naming restrictions have been formalized and the
+  coreish refuses to create funny refs; we still need to audit
+  importers.  See git-check-ref-format(1).
+
+
 New Features and Commands
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
-* 'git pull' now uses 'git-merge' instead of 'git-resolve', so you can
-  specify alternative merge strategy to use on its command line.
+* .git/config file as a per-repository configuration mechanism,
+  and some commands understand it [Linus].  See
+  git(7).
 
-* 'git pull -s recursive' has been taught about renaming merges,
-  which may deal with HPA's klibc vs klibc-kbuild situation better.
+* The core.filemode configuration item can be used to make us a
+  bit more FAT friendly.  See git(7).
 
-* Symbolic refs -- instead of using symlinks to express .git/HEAD,
-  you can have a regular file that stores a single line
-  'ref: refs/heads/master' in it.
+* The extended SHA1 notation acquired Peel-the-onion operator
+  ^{type} and ^{}.  See git-rev-parse(1).
 
-  git-update-ref is the preferred way to write into .git/HEAD,
-  not "echo >.git/HEAD".  git-symbolic-ref is the preferred way
-  to check which underlying ref a symbolic ref .git/HEAD refers
-  to, not "readlink .git/HEAD".
+* SVN importer [Matthias].  See git-svnimport(1).
 
-* A couple of new diff options (-l<num> and --name-status).
+* .git/objects/[0-9a-f]{2} directories are created on demand,
+  and removed when becomes empty after prune-packed [Linus].
 
-* Commit walker over http acquired more SSL options.
+* Filenames output from various commands without -z option are
+  quoted when they embed funny characters (TAB and LF) using
+  C-style quoting within double-quotes, to match the proposed
+  GNU diff/patch notation [me, but many people contributed in
+  the discussion].
 
-* 'git clone' checks out the working tree by default.
+* git-mv is expected to be a better replacement for git-rename.
+  While the latter has two parameter restriction, it acts more
+  like the regular 'mv' that can move multiple things to one
+  destinatino directory [Josef Weidendorfer].
 
+* git-checkout can take filenames to revert the changes to
+  them.  See git-checkout(1)
 
-Fixes
-~~~~~
+* The new program git-am is a replacement for git-applymbox that
+  has saner command line options and a bit easier to use when a
+  patch does not apply cleanly.
+
+* git-ls-remote can show unwrapped onions using ^{} notation, to
+  help Cogito to track tags.
+
+* git-merge-recursive backend can merge unrelated projects.
+
+* git-clone over native transport leaves the result packed.
+
+* git-http-fetch issues multiple requests in parallel when
+  underlying cURL library supports it [Nick and Daniel].
 
-* Removed unused commands (diff-helper, rev-tree, and export).
+* git-fetch-pack and git-upload-pack try harder to figure out
+  better common commits [Johannes].
 
-* Platforms with only Python 2.3 installed can use recursive merge
-  strategy.
+* git-read-tree -u removes a directory when it makes it empty.
 
-* Octopus documented.
+* git-diff-* records abbreviated SHA1 names of original and
+  resulting blob; this sometimes helps to apply otherwise an
+  unapplicable patch by falling back to 3-way merge.
 
-* Merge is more careful noticing potentially ambiguous situation. 
+* git-format-patch now takes series of from..to rev ranges and
+  with '-m --stdout', writes them out to the standard output.
+  This can be piped to 'git-am' to implement cheaper
+  cherry-picking.
 
-* Git pull does not blindly do Octopus when Pull: lines in remotes
-  file specifies more than one remote branches.
+* git-tag takes '-u' to specify the tag signer identity [Linus].
 
-* Commit walker got safer to use after interrupted downloads.
+* git-rev-list can take optional pathspecs to skip commits that
+  do not touch them (--dense) [Linus].
 
-* Commit walker over http can resume partial downloads.
+* Comes with new and improved gitk [Paulus and Linus].
 
-* More portability fixes for BSD and Solaris.
diff --git a/TODO b/TODO
index 15ecb59..6f51919 100644 (file)
--- a/TODO
+++ b/TODO
@@ -9,15 +9,15 @@ The GIT To-Do File
 Tool Renames Plan
 =================
 
- - In 0.99.9, the backward compatible symbolic links in
-   $(bindir) will be removed.
+ - Immedately after 0.99.9, the backward compatible symbolic
+   links in $(bindir) will be removed.
 
    git-ssh-push and git-ssh-pull pair is not going away if ever.
    Each of these old-name commands continues to invoke its
    old-name counterpart on the other end.
 
 
-What to expect after 0.99.8
+What to expect after 0.99.9
 ===========================
 
 This is written in a form of to-do list for me, so if I say
@@ -31,12 +31,6 @@ 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.
 
@@ -68,14 +62,6 @@ Documentation
 Technical (heavier)
 -------------------
 
-* We might want to optimize cloning with GIT native transport
-  not to explode the pack, and store it in objects/pack instead.
-  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. [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
   every time a new request comes in.  It may be worthwhile to
@@ -111,20 +97,12 @@ Technical (heavier)
   [Daniel has his own diff tool almost ready to start
   integrating and testing; Post 1.0]
 
-* Accept patches to fetch multiple objects by HTTP in parallel.
-  [DONE]
-
 * Plug-in file-level merges [Post 1.0].
 
-* Per-repository configuration mechanism [DONE by Linus].
-
 
 Technical (milder)
 ------------------
 
-* Merlyn reports trouble with http fetch [Hopefully solved by
-  Nick's updates].
-
 * 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.
@@ -132,46 +110,9 @@ Technical (milder)
 * 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 [Ongoing, by Johannes].
-
-* Perhaps send less "want"s from fetch-pack [DONE by JS].
-
-* 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 [DONE].
-
-* 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, except perhaps drop the writing-back support [DONE].
-
-* Revisit Santi's patch to move commit temorary files out of the
-  working tree toplevel [DONE].
-
-* 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 [DONE].
-
 * Perhaps accept patches to do undo/redo.
 
 * Perhaps accept patch to optionally allow '--fuzz' in
@@ -181,22 +122,8 @@ Technical (milder)
   to say '\No newline' if both input ends with incomplete
   lines.
 
-* What to do with TABs and LFs in pathnames without breaking GNU
-  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.
 
-* Perhaps a tool to revert a single file to pre-modification
-  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 [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
   git.git repository.
@@ -214,42 +141,10 @@ Technical (milder)
   external spec sent out with a quick hack.  Will know if that
   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) [DONE].
-
-* Perhaps show ^{commit}, ^{tree} instead of ^{} from ls-remote? [NO]
-
-* Re-adjust maint branch for the above if we did so. [NOT NEEDED]
-
-* short SHA1 naming is not enforcing uniqueness.  Should fix [DONE].
-
-* 'git repack' can be DOSed.  Should fix [DONE].
-
 * Stop installing the old-name symlinks [IN 0.99.9].
 
 * 'git merge-projects'?