GIT 0.99.8
[git.git] / HAVEDONE
index aeccb12..5445558 100644 (file)
--- a/HAVEDONE
+++ b/HAVEDONE
-Done in 0.99.7
+Done in 0.99.8
 ==============
 
-Organization
-~~~~~~~~~~~~
-
-Some commands and most scripts are renamed for consistency.
-
-  - We have an official standard terminology list [*1*].  To
-    match this, commands that operate on index files now have
-    'index' instead of 'cache' in their names, and ones that
-    download are called 'fetch' instead of 'pull'.
-
-  - We used to install most of the commands that happen to be
-    implemented as scripts as 'git-*-script', which was
-    cumbersome to remember and type unless you always used 'git'
-    wrapper.  They lost '-script' suffix from their names.
-
-For now, we install synonyms as symbolic links so that old
-names continue to work, but they are planned to be removed in
-0.99.8 (or later if there are enough objections on the list --
-so far I have heard none).
-
-Also ancient environment variables [*2*] are not supported
-anymore.
-
-
 New Features and Commands
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Downloaders that are not fully git aware have been taught about
-the mechanism to borrow objects from other repositories via
-objects/info/alternates the server side may be using.  'git
-fetch' and 'git pull' commands over rsync and http transport
-should be able to handle such repositories [*3*].
+* 'git pull' now uses 'git-merge' instead of 'git-resolve', so you can
+  specify alternative merge strategy to use on its command line.
 
-People found interesting cases where the 'stupid' three-way
-merge mechanism does the wrong thing without noticing.  We have
-two new merge algorithms by Daniel and Fredrik that attempt to
-do better in such cases.  A new 'git merge' command has been
-introduced to make it easier to experiment with and choose among
-different merge strategies.  Note that 'git pull' still uses the
-traditional three-way merge after downloading, but it is
-expected to be switched to use 'git merge' sometime in the
-future.
+* 'git pull -s recursive' has been taught about renaming merges,
+  which may deal with HPA's klibc vs klibc-kbuild situation better.
 
-Importing from tla archives has been improved and documentated.
+* 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.
 
-'git branch' command acquired '-d' flag to delete a branch that
-has already been merged into the current branch.
+  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".
 
-'git bisect' command is easier to use by logging the earlier
-good/bad choices and make it replayable.
+* A couple of new diff options (-l<num> and --name-status).
 
-'git repack' has -a' flag to pack the whole repository into a
-single pack.
+* Commit walker over http acquired more SSL options.
 
-'git grep' is a new command to run grep on files 'git' knows
-about.
+* 'git clone' checks out the working tree by default.
 
 
 Fixes
 ~~~~~
 
-* 'git-diff-*' commands used to mark copy/rename incorrectly
-  when an (A,B) => (B,C) rename was made.  We said the new B is
-  a copy of old A, not a rename of old A.
-
-* When the user exported CDPATH into environment, 'cd' took
-  scripts to unexpected places.  Unset it upfront to guard us.
-
-* 'git format-patch' knows about 'git cherry' and skips patches
-  already merged upstream.
-
-* hopefully plugged memory leak in diffcore-rename properly.
-
-* commit walkers incorrectly assumed having a commit means we
-  have the whole history leading up to it -- which is not true
-  if the previous download was interrupted.  As a safety
-  measure, we now only trust the commits that are pointed by the
-  existing refs.
-
-* 'git rev-list' uses a lot less memory.
-
-* The build should be a bit friendlier to Solaris and Darwin now.
-
-* 'git ssh-{push,pull}' are friendlier to tcsh.
-
-* http transport is nicer to caching proxies.
+* Removed unused commands (diff-helper, rev-tree, and export).
 
-* 'git daemon' port is registered with IANA.
+* Platforms with only Python 2.3 installed can use recursive merge
+  strategy.
 
-* Many documentation updates.
+* Octopus documented.
 
+* Merge is more careful noticing potentially ambiguous situation. 
 
-[Footnotes]
-*1* http://www.kernel.org/pub/software/scm/git/docs/glossary.html
+* Git pull does not blindly do Octopus when Pull: lines in remotes
+  file specifies more than one remote branches.
 
-*2* Ancient environment variable names: SHA1_FILE_DIRECTORIES
-AUTHOR_DATE AUTHOR_EMAIL AUTHOR_NAME COMMIT_AUTHOR_EMAIL
-COMMIT_AUTHOR_NAME SHA1_FILE_DIRECTORY
+* Commit walker got safer to use after interrupted downloads.
 
-*3* But not grafts.
+* Commit walker over http can resume partial downloads.
 
+* More portability fixes for BSD and Solaris.