Really prepare for 0.99.7
authorJunio C Hamano <junkio@cox.net>
Sun, 18 Sep 2005 17:46:33 +0000 (10:46 -0700)
committerJunio C Hamano <junkio@cox.net>
Sun, 18 Sep 2005 17:46:33 +0000 (10:46 -0700)
Signed-off-by: Junio C Hamano <junkio@cox.net>
HAVEDONE [new file with mode: 0644]
TODO

diff --git a/HAVEDONE b/HAVEDONE
new file mode 100644 (file)
index 0000000..aeccb12
--- /dev/null
+++ b/HAVEDONE
@@ -0,0 +1,104 @@
+Done in 0.99.7
+==============
+
+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*].
+
+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.
+
+Importing from tla archives has been improved and documentated.
+
+'git branch' command acquired '-d' flag to delete a branch that
+has already been merged into the current branch.
+
+'git bisect' command is easier to use by logging the earlier
+good/bad choices and make it replayable.
+
+'git repack' has -a' flag to pack the whole repository into a
+single pack.
+
+'git grep' is a new command to run grep on files 'git' knows
+about.
+
+
+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.
+
+* 'git daemon' port is registered with IANA.
+
+* Many documentation updates.
+
+
+[Footnotes]
+*1* http://www.kernel.org/pub/software/scm/git/docs/glossary.html
+
+*2* Ancient environment variable names: SHA1_FILE_DIRECTORIES
+AUTHOR_DATE AUTHOR_EMAIL AUTHOR_NAME COMMIT_AUTHOR_EMAIL
+COMMIT_AUTHOR_NAME SHA1_FILE_DIRECTORY
+
+*3* But not grafts.
+
diff --git a/TODO b/TODO
index fe18dd3..6e5409c 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,15 +1,13 @@
-What to expect after 0.99.6
-===========================
+The GIT To-Do File
+==================
 
-This is written in a form of to-do list for me, so if I say
-"accept patch", it means I do not currently plan to do that
-myself.  People interested in seeing it materialize please take
-a hint.  The latest copy of this document is found at 
+  The latest copy of this document is found at 
 
     http://kernel.org/git/?p=git/git.git;a=blob;hb=todo;f=TODO
 
+
 Tool Renames Plan
------------------
+=================
 
  - All non-binary commands will lose -script suffix in
    $(bindir).  The source to git-foo will be either git-foo.sh
@@ -37,12 +35,10 @@ Tool Renames Plan
 
  - In 0.99.7, all renamed commands will have symbolic links in
    $(bindir) so that old names continue to work.  These backward
-   compatible symlinks will not be present in documentation,
-   though.  Especially, the main documentation, git(7) will talk
-   about the new names.  Old environment names defined in
-   gitenv() will also be removed in this release.
-
-   Tentatively we aim to do this on Sep 17th.
+   compatible names will not appear in documentation.  The main
+   documentation, git(7) will talk about the new names but would
+   mention their old names as historical notes.  Old environment
+   names defined in gitenv() will also be removed in this release.
 
  - In 0.99.8, we do not install these backward compatible
    symbolic links in $(bindir) anymore.  The Makefile will have
@@ -54,6 +50,15 @@ Tool Renames Plan
    find this schedule too tight.
 
 
+What to expect after 0.99.7
+===========================
+
+This is written in a form of to-do list for me, so if I say
+"accept patch", it means I do not currently plan to do that
+myself.  People interested in seeing it materialize please take
+a hint.
+
+
 Documentation
 -------------
 
@@ -95,16 +100,6 @@ Technical (heavier)
   me, and Daniel outlined a smarter merge strategy for this.
   Try them out.
 
-* To make it easier to experiment with different merge
-  strategies, make git-merge driver that will run merge backends
-  for the best merge [DONE].
-
-* Sort out the mess objects/info/alternates introduces on the
-  client end.  Both rsync and commit walkers are broken.
-  * describe current situation [DONE]
-  * http [Daniel started]
-  * rsync
-
 * 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
@@ -112,6 +107,10 @@ Technical (heavier)
   idea, making the set of packs in repositories everybody has
   different from each other.
 
+* Libification.  There are many places "run once" mentality is
+  ingrained in the management of basic data structures, which
+  need to be fixed.
+
 * Maybe a pack optimizer.
 
 * Maybe an Emacs VC backend.
@@ -120,41 +119,18 @@ Technical (heavier)
 Technical (milder)
 ------------------
 
-* Define semantics for relative pathnames in objects/info/alternates.
-  Either relative to 'objects', or relative to the top of project tree
-  ;the latter is consistent with GIT_ALTERNATE_OBJECT_DIRECTORIES.
-  Perhaps would end up doing the former because we would want to be
-  consistent between a naked repository and a repository with working
-  tree [DONE].
-
-* Tool renames.  Give fixup patch for at least Cogito and StGIT
-  [DONE].
-
-* Massage ssh-fetch and ssh-upload to be more backward
-  compatible.
-
-* Have Daniel's read-tree graduate from "pu" after plugging
-  leaks [DONE].
-
-* Implement a merge backend using Daniel's read-tree [DONE].
-
-* Rename 'git-merge-resolve' to 'git-merge-stupid' and
-  'git-merge-multibase' to 'git-merge-resolve'; the former is
-  for historical curiosity and comparison purposes only and not
-  to be used in real applications so remove it from the default
-  strategies list [DONE].
-
-* Accept Fredrik merge after renaming it (I want to name the
-  driver 'git merge').  Suggest where to place *.py stuff --
-  probably in $(share)/git-core/ and add Makefile entry for
-  installation [DONE].
+* The recent commit walker safety patch may be too cautious and
+  appears to take forever when cloning.  This may even be
+  infinitely looping in the code lifted from the old rev-list --
+  needs to be taken a look at [DONE INITIAL CUT].
 
 * Encourage concrete proposals to commit log message templates
   we discussed some time ago.
 
-* Bug Martin for archimport script documentation [DONE].
+* Accept patches for more portability.
 
-* More portability [IN PROGRESS].
+  * strcasestr() in mailinfo.  We may need compat/strcasestr.c;
+    this is bugging OpenBSD folks.
 
 * Accept patches to cause "read-tree -u" delete a directory when
   it makes it empty.
@@ -167,6 +143,10 @@ Technical (milder)
 * Perhaps accept patch to optionally allow '--fuzz' in
   'git-apply'.
 
+* Allow 'git apply' to accept GNU diff 2.7 output that forgets
+  to say '\No newline' if both input ends with incomplete
+  lines.
+
 * Maybe grok PGP signed text/plain in applymbox as well.
 
 * Perhaps a tool to revert a single file to pre-modification
@@ -175,18 +155,6 @@ Technical (milder)
   the command be called?  git-revert is taken so is
   git-checkout.
 
-* A tool to detect, show and prune already merged topic
-  branches [DONE; 'branch -d' to prune; users can do gitk for
-  deciding].
-
-* "Lost and Found"; link dangling commits found by fsck-objects
-  under $GIT_DIR/refs/lost-found/.  Then show-branch or gitk can
-  be used to find any lost commit.
-
-  Do not name it /lost+found/; that would probably confuse
-  things that mistake it a mount point (not our code but
-  somebody else's).
-
 * Enhance "git repack" to not always use --all; this would be
   handy if the repository contains wagging heads like "pu" in
   git.git repository.
@@ -197,15 +165,6 @@ Technical (milder)
   repository; experiment if this results in a reasonable
   workflow, and document it in howto form if it does.
 
-* Option to limit rename detection for more than N paths.
-
-* diffcore-rename leak reintroduced because the 'fix' was
-  broken [DONE].
-
-* Marking copy seems to be broken when A,B => B,C rename
-  happens; we incorrectly say B stays, which makes the new B
-  copy of old A, not rename [DONE].
-
 * 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
@@ -215,29 +174,32 @@ Technical (milder)
   just the basename, and see the improved clustering results in
   better packing [Tried, but did not work out well].
 
-* Allow 'git apply' to accept GNU diff 2.7 output that forgets
-  to say '\No newline' if both input ends with incomplete
-  lines.
+* Remove obsolete commands [READY].
+
+* Option to limit rename detection for more than N paths [READY].
+
+* Option to show only status and name from diff [READY].
 
 
 Technical (trivial)
 -------------------
 
-* Add simple globbing rules for git-show-branch so that I can
-  say 'git show-branch --heads "ko-*"' (ko-master, ko-pu, and
-  ko-rc are in refs/tags/).
+* 'git add --recursive'?
 
-* Deal with CDPATH [DONE].
+* 'git merge-projects'?
 
-* Teach 'git format-patch' about 'git cherry' [DONE].
+* 'git lost-and-found'?  Link dangling commits found by
+  fsck-objects under $GIT_DIR/refs/lost-found/.  Then
+  show-branch or gitk can be used to find any lost commit. [A
+  feeler patch sent out. Very underwhelming response X-<.]
 
-* Make 'git bisect' easier to use by logging the earlier
-  good/bad choices and make it replayable [DONE].
+  Do not name it /lost+found/; that would probably confuse
+  things that mistake it a mount point (not our code but
+  somebody else's).
 
-* Perhaps "git branch -d" to delete a branch.  We probably need
-  some way to say "delete this branch because everything in this
-  should be merged in the master branch" and refuse the removal
-  if it is not true [DONE].
+* Add simple globbing rules to git-show-branch so that I can
+  say 'git show-branch --heads "ko-*"' (ko-master, ko-pu, and
+  ko-rc are in refs/tags/).
 
 * We would want test scripts for the relative directory path
   stuff Linus has been working on.  So far, the following