]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Split past issues of What's cooking and What's in
authorJunio C Hamano <gitster@pobox.com>
Wed, 6 Aug 2008 04:42:17 +0000 (21:42 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Aug 2008 04:44:16 +0000 (21:44 -0700)
It was a mistake to use the same file over and over again, as it does not
generally make much sense to diff "what's in" and "what's cooking" between
revisions.

26 files changed:
whats/cooking/2008/06/01.txt [new file with mode: 0644]
whats/cooking/2008/06/02.txt [new file with mode: 0644]
whats/cooking/2008/06/03.txt [new file with mode: 0644]
whats/cooking/2008/06/04.txt [new file with mode: 0644]
whats/cooking/2008/07/01.txt [new file with mode: 0644]
whats/cooking/2008/07/02.txt [new file with mode: 0644]
whats/cooking/2008/07/03.txt [new file with mode: 0644]
whats/cooking/2008/07/04.txt [new file with mode: 0644]
whats/cooking/2008/07/05.txt [new file with mode: 0644]
whats/cooking/2008/07/06.txt [new file with mode: 0644]
whats/cooking/2008/07/07.txt [new file with mode: 0644]
whats/cooking/2008/07/08.txt [new file with mode: 0644]
whats/cooking/2008/07/09.txt [new file with mode: 0644]
whats/cooking/2008/07/10.txt [moved from whatscooking.txt with 100% similarity]
whats/in/2008/06/01.txt [new file with mode: 0644]
whats/in/2008/06/02.txt [new file with mode: 0644]
whats/in/2008/06/03.txt [new file with mode: 0644]
whats/in/2008/06/04.txt [new file with mode: 0644]
whats/in/2008/07/01.txt [new file with mode: 0644]
whats/in/2008/07/02.txt [new file with mode: 0644]
whats/in/2008/07/03.txt [new file with mode: 0644]
whats/in/2008/07/04.txt [new file with mode: 0644]
whats/in/2008/07/05.txt [new file with mode: 0644]
whats/in/2008/07/06.txt [new file with mode: 0644]
whats/in/2008/07/07.txt [new file with mode: 0644]
whats/in/2008/07/08.txt [moved from whatsin.txt with 100% similarity]

diff --git a/whats/cooking/2008/06/01.txt b/whats/cooking/2008/06/01.txt
new file mode 100644 (file)
index 0000000..31b12bd
--- /dev/null
@@ -0,0 +1,306 @@
+What's cooking in git.git (Jun 2008, issue #01; Sat, 21)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.
+
+It already is beginning to become clear what 1.6.0 will look like.  What's
+already in 'next' all are well intentioned (I do not guarantee they are
+already bug-free --- that is what cooking them in 'next' is for) and are
+good set of feature enhancements.  But bigger changes will be:
+
+ * MinGW will be in.
+
+ * /usr/bin/git-cat-file is no more.  The bulk of the git commands will
+   move to /usr/libexec/git-core/ or somesuch.
+
+ * git-merge will be rewritten in C.
+
+Currently tip of 'pu' is broken and does not pass tests, as j6t/mingw has
+interaction with dr/ceiling and jc/merge-theirs has interaction with
+mv/merge-in-c.
+
+----------------------------------------------------------------
+[New Topics]
+
+* jc/merge-theirs (Fri Jun 20 00:17:59 2008 -0700) 2 commits
+ - git-merge-recursive-{ours,theirs}
+ - git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but still
+salvaging the parts that are cleanly automerged.  It is likely that this
+will result in nonsense mishmash, but somehow often people want this, so
+here they are.  The interface to the backends may need to change, though.
+
+* lt/racy-empty (Tue Jun 10 10:44:43 2008 -0700) 1 commit
+ + racy-git: an empty blob has a fixed object name
+
+* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
+ + Remove the use of '--' in merge program invocation
+
+* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
+ - compat/pread.c: Add a forward declaration to fix a warning
+ - Windows: Fix ntohl() related warnings about printf formatting
+ - Windows: TMP and TEMP environment variables specify a temporary
+   directory.
+ - Windows: Make 'git help -a' work.
+ - Windows: Work around an oddity when a pipe with no reader is
+   written to.
+ - Windows: Make the pager work.
+ - When installing, be prepared that template_dir may be relative.
+ - Windows: Use a relative default template_dir and ETC_GITCONFIG
+ - Windows: Compute the fallback for exec_path from the program
+   invocation.
+ - Turn builtin_exec_path into a function.
+ - Windows: Use a customized struct stat that also has the st_blocks
+   member.
+ - Windows: Add a custom implementation for utime().
+ - Windows: Add a new lstat and fstat implementation based on Win32
+   API.
+ - Windows: Implement a custom spawnve().
+ - Windows: Implement wrappers for gethostbyname(), socket(), and
+   connect().
+ - Windows: Work around incompatible sort and find.
+ - Windows: Implement asynchronous functions as threads.
+ - Windows: Disambiguate DOS style paths from SSH URLs.
+ - Windows: A rudimentary poll() emulation.
+ - Windows: Change the name of hook scripts to make them not
+   executable.
+ - Windows: Implement start_command().
+ - Windows: A pipe() replacement whose ends are not inherited to
+   children.
+ - Windows: Wrap execve so that shell scripts can be invoked.
+ - Windows: Implement setitimer() and sigaction().
+ - Windows: Fix PRIuMAX definition.
+ - Windows: Implement gettimeofday().
+ - Windows: Handle absolute paths in
+   safe_create_leading_directories().
+ - Windows: Treat Windows style path names.
+ - setup.c: Prepare for Windows directory separators.
+ - Windows: Work around misbehaved rename().
+ - Windows: always chmod(, 0666) before unlink().
+ - Windows: A minimal implemention of getpwuid().
+ - Windows: Implement a wrapper of the open() function.
+ - Windows: Strip ".exe" from the program name.
+ - Windows: Use the Windows style PATH separator ';'.
+ - Add target architecture MinGW.
+ - Compile some programs only conditionally.
+ - Add compat/regex.[ch] and compat/fnmatch.[ch].
+
+No explanation is necessary ;-).
+
+* sn/static (Thu Jun 19 08:21:11 2008 +0900) 2 commits
+ + config.c: make git_env_bool() static
+ + environment.c: remove unused function
+
+* lt/config-fsync (Wed Jun 18 15:18:44 2008 -0700) 4 commits
+ + Add config option to enable 'fsync()' of object files
+ + Split up default "i18n" and "branch" config parsing into helper
+   routines
+ + Split up default "user" config parsing into helper routine
+ + Split up default "core" config parsing into helper routine
+
+* lw/gitweb (Thu Jun 19 22:03:21 2008 +0200) 1 commit
+ + gitweb: standarize HTTP status codes
+
+* mv/merge-in-c (Fri Jun 20 01:22:36 2008 +0200) 11 commits
+ - Add new test to ensure git-merge handles more than 25 refs.
+ - Build in merge
+ - Introduce filter_independent() in commit.c
+ - Introduce get_octopus_merge_bases() in commit.c
+ - git-fmt-merge-msg: make it usable from other builtins
+ - Move read_cache_unmerged() to read-cache.c
+ - parseopt: add a new PARSE_OPT_ARGV0_IS_AN_OPTION option
+ - Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ - Move parse-options's skip_prefix() to git-compat-util.h
+ - Move commit_list_count() to commit.c
+ - Move split_cmdline() to alias.c
+
+* jc/maint-combine-diff-pre-context (Wed Jun 18 23:59:41 2008 -0700) 1 commit
+ + diff -c/--cc: do not include uninteresting deletion before leading
+   context
+
+* lt/maint-gitdir-relative (Thu Jun 19 12:34:06 2008 -0700) 1 commit
+ + Make git_dir a path relative to work_tree in setup_work_tree()
+
+----------------------------------------------------------------
+[Actively Cooking]
+
+* nd/dashless (Wed Nov 28 23:21:57 2007 +0700) 1 commit
+ + Move all dashed-form commands to libexecdir
+
+Scheduled for 1.6.0.
+
+* jc/dashless (Sat Dec 1 22:09:22 2007 -0800) 2 commits
+ - Prepare execv_git_cmd() for removal of builtins from the
+   filesystem
+ - git-shell: accept "git foo" form
+
+We do not plan to remove git-foo form completely from the filesystem at
+this point, but git-shell may need to be updated.
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
+ + Eliminate an unnecessary chdir("..")
+ + Add support for GIT_CEILING_DIRECTORIES
+ + Fold test-absolute-path into test-path-utils
+ + Implement normalize_absolute_path
+
+* jn/web (Tue Jun 10 19:21:44 2008 +0200) 2 commits
+ + gitweb: Separate generating 'sort by' table header
+ + gitweb: Separate filling list of projects info
+
+* rs/archive-ignore (Sun Jun 8 18:42:33 2008 +0200) 1 commit
+ + Teach new attribute 'export-ignore' to git-archive
+
+* rg/gitweb (Fri Jun 6 09:53:32 2008 +0200) 1 commit
+ + gitweb: remove git_blame and rename git_blame2 to git_blame
+
+* kh/update-ref (Tue Jun 3 01:34:53 2008 +0200) 2 commits
+ + Make old sha1 optional with git update-ref -d
+ + Clean up builtin-update-ref's option parsing
+
+* mo/status-untracked (Thu Jun 5 14:47:50 2008 +0200) 3 commits
+ + Add configuration option for default untracked files mode
+ + Add argument 'no' commit/status option -u|--untracked-files
+ + Add an optional <mode> argument to commit/status -u|--untracked-
+   files option
+
+* sr/tests (Sun Jun 8 16:04:35 2008 +0200) 3 commits
+ + Hook up the result aggregation in the test makefile.
+ + A simple script to parse the results from the testcases
+ + Modify test-lib.sh to output stats to t/test-results/*
+
+* jh/clone-packed-refs (Sun Jun 15 16:06:16 2008 +0200) 4 commits
+ + Teach "git clone" to pack refs
+ + Prepare testsuite for a "git clone" that packs refs
+ + Move pack_refs() and friends into libgit
+ + Incorporate fetched packs in future object traversal
+
+This is useful when cloning from a repository with insanely large number
+of refs.
+
+* jc/reflog-expire (Sun Jun 15 23:48:46 2008 -0700) 1 commit
+ - Per-ref reflog expiry configuration
+
+Perhaps a good foundation for optionally unexpirable stash.  As 1.6.0 will
+be a good time to make backward incompatible changes, we might make expiry
+period of stash 'never' in new repositories.  Needs a concensus.
+
+* lw/perlish (Thu Jun 19 22:32:49 2008 +0200) 2 commits
+ + Git.pm: add test suite
+ + t/test-lib.sh: add test_external and test_external_without_stderr
+
+Beginning of regression tests for Perl part of the system.
+
+* jk/test (Sat Jun 14 03:28:07 2008 -0400) 5 commits
+ + enable whitespace checking of test scripts
+ + avoid trailing whitespace in zero-change diffstat lines
+ + avoid whitespace on empty line in automatic usage message
+ + mask necessary whitespace policy violations in test scripts
+ + fix whitespace violations in test scripts
+
+Tightens whitespace rules for t/*.sh scripts.
+
+* pb/fast-export (Wed Jun 11 13:17:04 2008 +0200) 1 commit
+ + builtin-fast-export: Add importing and exporting of revision marks
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+Nothing today but expect many small ones to come out of 'next' this
+weekend.
+
+----------------------------------------------------------------
+[On Hold]
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+The blame that finds where each line in the original lines moved to.  This
+may help a GSoC project that wants to gather statistical overview of the
+history.  The final presentation may need tweaking (see the log message of
+the commit ""git-blame --reverse" on the series).
+
+The tip two commits are for peeling to see what's behind the blamed
+commit, which we should be able to separate out into an independent topic
+from the rest.
+
+* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
+ - "git push": tellme-more protocol extension
+
+Kicked back to 'pu' for now.
+
+* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
+ - Use perl instead of tac
+ - Fix t3404 assumption that `wc -l` does not use whitespace.
+ - rebase -i: Use : in expr command instead of match.
+ - rebase -i: update the implementation of 'mark' command
+ - Add option --preserve-tags
+ - Teach rebase interactive the tag command
+ - Add option --first-parent
+ - Do rebase with preserve merges with advanced TODO list
+ - Select all lines with fake-editor
+ - Unify the length of $SHORT* and the commits in the TODO list
+ - Teach rebase interactive the merge command
+ - Move redo merge code in a function
+ - Teach rebase interactive the reset command
+ - Teach rebase interactive the mark command
+ - Move cleanup code into it's own function
+ - Don't append default merge message to -m message
+ - fake-editor: output TODO list if unchanged
+
+It is very likely that this whole thing will be reverted from 'next' and
+be replaced with the new sequenser series during 1.6.0 cycle.
+
+* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
+ - Introduce fast forward option only
+ - Head reduction before selecting merge strategy
+ - Restructure git-merge.sh
+ - Introduce -ff=<fast forward option>
+ - New merge tests
+ - Documentation for joining more than two histories
+
+This will interfere with Miklos's rewrite of merge to C.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
+ - WIP: rethink replay merge
+ - Start using replay-tree merge in cherry-pick
+ - revert/cherry-pick: start refactoring call to merge_recursive
+
+This is meant to improve cherry-pick's behaviour when renames are
+involved, by not using merge-recursive (whose d/f conflict resolution is
+quite broken), but unfortunately has stalled for some time now.
+
+* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
+ - git-am --forge: add Signed-off-by: line for the author
+ - git-am: clean-up Signed-off-by: lines
+ - stripspace: add --log-clean option to clean up signed-off-by:
+   lines
+ - stripspace: use parse_options()
+ - Add "git am -s" test
+ - git-am: refactor code to add signed-off-by line for the committer
+
+Just my toy at this moment.
+
diff --git a/whats/cooking/2008/06/02.txt b/whats/cooking/2008/06/02.txt
new file mode 100644 (file)
index 0000000..2054edb
--- /dev/null
@@ -0,0 +1,329 @@
+What's cooking in git.git (Jun 2008, issue #02; Mon, 23)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.
+
+It already is beginning to become clear what 1.6.0 will look like.  What's
+already in 'next' all are well intentioned (I do not guarantee they are
+already bug-free --- that is what cooking them in 'next' is for) and are
+good set of feature enhancements.  But bigger changes will be:
+
+ * MinGW will be in.
+
+ * /usr/bin/git-cat-file is no more.  The bulk of the git commands will
+   move to /usr/libexec/git-core/ or somesuch.
+
+ * git-merge will be rewritten in C.
+
+Currently tip of 'pu' is broken and does not pass tests, as j6t/mingw has
+interaction with dr/ceiling and jc/merge-theirs has interaction with
+mv/merge-in-c.
+
+----------------------------------------------------------------
+[New Topics]
+
+* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
+ - rerere.autoupdate
+ - t4200: fix rerere test
+ - rerere: remove dubious "tail_optimization"
+ - git-rerere: detect unparsable conflicts
+ - rerere: rerere_created_at() and has_resolution() abstraction
+
+* sb/rebase (Sun Jun 22 01:55:50 2008 +0200) 2 commits
+ + t3404: stricter tests for git-rebase--interactive
+ + api-builtin.txt: update and fix typo
+
+* sb/maint-rebase (Sun Jun 22 16:07:02 2008 +0200) 1 commit
+ + git-rebase.sh: Add check if rebase is in progress
+
+----------------------------------------------------------------
+[Will merge to master soon]
+
+* lw/gitweb (Thu Jun 19 22:03:21 2008 +0200) 1 commit
+ + gitweb: standarize HTTP status codes
+
+* lt/config-fsync (Wed Jun 18 15:18:44 2008 -0700) 4 commits
+ + Add config option to enable 'fsync()' of object files
+ + Split up default "i18n" and "branch" config parsing into helper
+   routines
+ + Split up default "user" config parsing into helper routine
+ + Split up default "core" config parsing into helper routine
+
+* nd/dashless (Wed Nov 28 23:21:57 2007 +0700) 1 commit
+ + Move all dashed-form commands to libexecdir
+
+Scheduled for 1.6.0.
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+* sr/tests (Sun Jun 8 16:04:35 2008 +0200) 3 commits
+ + Hook up the result aggregation in the test makefile.
+ + A simple script to parse the results from the testcases
+ + Modify test-lib.sh to output stats to t/test-results/*
+
+* jh/clone-packed-refs (Sun Jun 15 16:06:16 2008 +0200) 4 commits
+ + Teach "git clone" to pack refs
+ + Prepare testsuite for a "git clone" that packs refs
+ + Move pack_refs() and friends into libgit
+ + Incorporate fetched packs in future object traversal
+
+This is useful when cloning from a repository with insanely large number
+of refs.
+
+* lw/perlish (Thu Jun 19 22:32:49 2008 +0200) 2 commits
+ + Git.pm: add test suite
+ + t/test-lib.sh: add test_external and test_external_without_stderr
+
+Beginning of regression tests for Perl part of the system.
+
+----------------------------------------------------------------
+[Actively Cooking]
+
+* mv/merge-in-c (Sat Jun 21 19:15:35 2008 +0200) 14 commits
+ - Add new test case to ensure git-merge reduces octopus parents when
+   possible
+ - Add new test case to ensure git-merge filters for independent
+   parents
+ - Build in merge
+ - Introduce reduce_heads()
+ - Introduce get_merge_bases_many()
+ - Add new test to ensure git-merge handles more than 25 refs.
+ - Introduce get_octopus_merge_bases() in commit.c
+ - git-fmt-merge-msg: make it usable from other builtins
+ - Move read_cache_unmerged() to read-cache.c
+ - parseopt: add a new PARSE_OPT_ARGV0_IS_AN_OPTION option
+ - Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ - Move parse-options's skip_prefix() to git-compat-util.h
+ - Move commit_list_count() to commit.c
+ - Move split_cmdline() to alias.c
+
+* jc/dashless (Sat Dec 1 22:09:22 2007 -0800) 2 commits
+ - Prepare execv_git_cmd() for removal of builtins from the
+   filesystem
+ - git-shell: accept "git foo" form
+
+We do not plan to remove git-foo form completely from the filesystem at
+this point, but git-shell may need to be updated.
+
+* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
+ + Eliminate an unnecessary chdir("..")
+ + Add support for GIT_CEILING_DIRECTORIES
+ + Fold test-absolute-path into test-path-utils
+ + Implement normalize_absolute_path
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+* rs/archive-ignore (Sun Jun 8 18:42:33 2008 +0200) 1 commit
+ + Teach new attribute 'export-ignore' to git-archive
+
+* lt/racy-empty (Tue Jun 10 10:44:43 2008 -0700) 1 commit
+ + racy-git: an empty blob has a fixed object name
+
+* sn/static (Thu Jun 19 08:21:11 2008 +0900) 2 commits
+ + config.c: make git_env_bool() static
+ + environment.c: remove unused function
+
+* jc/maint-combine-diff-pre-context (Wed Jun 18 23:59:41 2008 -0700) 1 commit
+ + diff -c/--cc: do not include uninteresting deletion before leading
+   context
+
+* lt/maint-gitdir-relative (Thu Jun 19 12:34:06 2008 -0700) 1 commit
+ + Make git_dir a path relative to work_tree in setup_work_tree()
+
+* jn/web (Tue Jun 10 19:21:44 2008 +0200) 2 commits
+ + gitweb: Separate generating 'sort by' table header
+ + gitweb: Separate filling list of projects info
+
+* rg/gitweb (Fri Jun 6 09:53:32 2008 +0200) 1 commit
+ + gitweb: remove git_blame and rename git_blame2 to git_blame
+
+* kh/update-ref (Tue Jun 3 01:34:53 2008 +0200) 2 commits
+ + Make old sha1 optional with git update-ref -d
+ + Clean up builtin-update-ref's option parsing
+
+* mo/status-untracked (Thu Jun 5 14:47:50 2008 +0200) 3 commits
+ + Add configuration option for default untracked files mode
+ + Add argument 'no' commit/status option -u|--untracked-files
+ + Add an optional <mode> argument to commit/status -u|--untracked-
+   files option
+
+* jk/test (Sat Jun 14 03:28:07 2008 -0400) 5 commits
+ + enable whitespace checking of test scripts
+ + avoid trailing whitespace in zero-change diffstat lines
+ + avoid whitespace on empty line in automatic usage message
+ + mask necessary whitespace policy violations in test scripts
+ + fix whitespace violations in test scripts
+
+Tightens whitespace rules for t/*.sh scripts.
+
+* pb/fast-export (Wed Jun 11 13:17:04 2008 +0200) 1 commit
+ + builtin-fast-export: Add importing and exporting of revision marks
+
+----------------------------------------------------------------
+[On Hold]
+
+* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
+ + Remove the use of '--' in merge program invocation
+
+Waiting for success reports from people who use various backends.
+
+* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
+ - compat/pread.c: Add a forward declaration to fix a warning
+ - Windows: Fix ntohl() related warnings about printf formatting
+ - Windows: TMP and TEMP environment variables specify a temporary
+   directory.
+ - Windows: Make 'git help -a' work.
+ - Windows: Work around an oddity when a pipe with no reader is
+   written to.
+ - Windows: Make the pager work.
+ - When installing, be prepared that template_dir may be relative.
+ - Windows: Use a relative default template_dir and ETC_GITCONFIG
+ - Windows: Compute the fallback for exec_path from the program
+   invocation.
+ - Turn builtin_exec_path into a function.
+ - Windows: Use a customized struct stat that also has the st_blocks
+   member.
+ - Windows: Add a custom implementation for utime().
+ - Windows: Add a new lstat and fstat implementation based on Win32
+   API.
+ - Windows: Implement a custom spawnve().
+ - Windows: Implement wrappers for gethostbyname(), socket(), and
+   connect().
+ - Windows: Work around incompatible sort and find.
+ - Windows: Implement asynchronous functions as threads.
+ - Windows: Disambiguate DOS style paths from SSH URLs.
+ - Windows: A rudimentary poll() emulation.
+ - Windows: Change the name of hook scripts to make them not
+   executable.
+ - Windows: Implement start_command().
+ - Windows: A pipe() replacement whose ends are not inherited to
+   children.
+ - Windows: Wrap execve so that shell scripts can be invoked.
+ - Windows: Implement setitimer() and sigaction().
+ - Windows: Fix PRIuMAX definition.
+ - Windows: Implement gettimeofday().
+ - Windows: Handle absolute paths in
+   safe_create_leading_directories().
+ - Windows: Treat Windows style path names.
+ - setup.c: Prepare for Windows directory separators.
+ - Windows: Work around misbehaved rename().
+ - Windows: always chmod(, 0666) before unlink().
+ - Windows: A minimal implemention of getpwuid().
+ - Windows: Implement a wrapper of the open() function.
+ - Windows: Strip ".exe" from the program name.
+ - Windows: Use the Windows style PATH separator ';'.
+ - Add target architecture MinGW.
+ - Compile some programs only conditionally.
+ - Add compat/regex.[ch] and compat/fnmatch.[ch].
+
+No explanation is necessary ;-).  The series is probably 'next' worthy
+as-is.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* jc/reflog-expire (Sun Jun 15 23:48:46 2008 -0700) 1 commit
+ - Per-ref reflog expiry configuration
+
+Perhaps a good foundation for optionally unexpirable stash.  As 1.6.0 will
+be a good time to make backward incompatible changes, we might make expiry
+period of stash 'never' in new repositories.  Needs a concensus.
+
+* jc/merge-theirs (Fri Jun 20 00:17:59 2008 -0700) 2 commits
+ - git-merge-recursive-{ours,theirs}
+ - git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but still
+salvaging the parts that are cleanly automerged.  It is likely that this
+will result in nonsense mishmash, but somehow often people want this, so
+here they are.  The interface to the backends may need to change, though.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+The blame that finds where each line in the original lines moved to.  This
+may help a GSoC project that wants to gather statistical overview of the
+history.  The final presentation may need tweaking (see the log message of
+the commit ""git-blame --reverse" on the series).
+
+The tip two commits are for peeling to see what's behind the blamed
+commit, which we should be able to separate out into an independent topic
+from the rest.
+
+----------------------------------------------------------------
+[Dropped for now]
+
+* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
+ . Introduce fast forward option only
+ . Head reduction before selecting merge strategy
+ . Restructure git-merge.sh
+ . Introduce -ff=<fast forward option>
+ . New merge tests
+ . Documentation for joining more than two histories
+
+This will interfere with Miklos's rewrite of merge to C.
+
+* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
+ . Use perl instead of tac
+ . Fix t3404 assumption that `wc -l` does not use whitespace.
+ . rebase -i: Use : in expr command instead of match.
+ . rebase -i: update the implementation of 'mark' command
+ . Add option --preserve-tags
+ . Teach rebase interactive the tag command
+ . Add option --first-parent
+ . Do rebase with preserve merges with advanced TODO list
+ . Select all lines with fake-editor
+ . Unify the length of $SHORT* and the commits in the TODO list
+ . Teach rebase interactive the merge command
+ . Move redo merge code in a function
+ . Teach rebase interactive the reset command
+ . Teach rebase interactive the mark command
+ . Move cleanup code into it's own function
+ . Don't append default merge message to -m message
+ . fake-editor: output TODO list if unchanged
+
+* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
+ . WIP: rethink replay merge
+ . Start using replay-tree merge in cherry-pick
+ . revert/cherry-pick: start refactoring call to merge_recursive
+
+This is meant to improve cherry-pick's behaviour when renames are
+involved, by not using merge-recursive (whose d/f conflict resolution is
+quite broken), but unfortunately has stalled for some time now.
+
+* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
+ . git-am --forge: add Signed-off-by: line for the author
+ . git-am: clean-up Signed-off-by: lines
+ . stripspace: add --log-clean option to clean up signed-off-by:
+   lines
+ . stripspace: use parse_options()
+ . Add "git am -s" test
+ . git-am: refactor code to add signed-off-by line for the committer
+
+Just my toy at this moment.
+
+* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
+ . "git push": tellme-more protocol extension
+
diff --git a/whats/cooking/2008/06/03.txt b/whats/cooking/2008/06/03.txt
new file mode 100644 (file)
index 0000000..ed5a24e
--- /dev/null
@@ -0,0 +1,295 @@
+What's cooking in git.git (Jun 2008, issue #03; Wed, 25)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.
+
+It already is beginning to become clear what 1.6.0 will look like.  What's
+already in 'next' all are well intentioned (I do not guarantee they are
+already bug-free --- that is what cooking them in 'next' is for) and are
+good set of feature enhancements.  But bigger changes will be:
+
+ * MinGW will be in.
+
+ * /usr/bin/git-cat-file is no more.  The bulk of the git commands will
+   move to /usr/libexec/git-core/ or somesuch.
+
+ * git-merge will be rewritten in C.
+
+ * default pack and idx versions will be updated as scheduled for some
+   time ago.
+
+----------------------------------------------------------------
+[New Topics]
+
+* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
+ - Migrate git-blame to parse-option partially.
+ - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+ - parse-opt: fake short strings for callers to believe in.
+ - parse-opt: do not pring errors on unknown options, return -2
+   intead.
+ - parse-opt: create parse_options_step.
+ - parse-opt: Export a non NORETURN usage dumper.
+ - parse-opt: have parse_options_{start,end}.
+
+----------------------------------------------------------------
+[Will merge to master soon]
+
+* lw/gitweb (Thu Jun 19 22:03:21 2008 +0200) 1 commit
+ + gitweb: standarize HTTP status codes
+
+* lt/config-fsync (Wed Jun 18 15:18:44 2008 -0700) 4 commits
+ + Add config option to enable 'fsync()' of object files
+ + Split up default "i18n" and "branch" config parsing into helper
+   routines
+ + Split up default "user" config parsing into helper routine
+ + Split up default "core" config parsing into helper routine
+
+* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
+ + Keep some git-* programs in $(bindir)
+ + Move all dashed-form commands to libexecdir
+
+Scheduled for 1.6.0.  We'll leave server-side programs in $(bindir) 
+so that ssh clients can ask for "git-program" and find them on the $PATH.
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+* sr/tests (Sun Jun 8 16:04:35 2008 +0200) 3 commits
+ + Hook up the result aggregation in the test makefile.
+ + A simple script to parse the results from the testcases
+ + Modify test-lib.sh to output stats to t/test-results/*
+
+* jh/clone-packed-refs (Sun Jun 15 16:06:16 2008 +0200) 4 commits
+ + Teach "git clone" to pack refs
+ + Prepare testsuite for a "git clone" that packs refs
+ + Move pack_refs() and friends into libgit
+ + Incorporate fetched packs in future object traversal
+
+This is useful when cloning from a repository with insanely large number
+of refs.
+
+* lw/perlish (Thu Jun 19 22:32:49 2008 +0200) 2 commits
+ + Git.pm: add test suite
+ + t/test-lib.sh: add test_external and test_external_without_stderr
+
+Beginning of regression tests for Perl part of the system.
+
+----------------------------------------------------------------
+[Actively Cooking]
+
+* mv/merge-in-c (Sat Jun 21 19:15:35 2008 +0200) 12 commits
+ - Add new test case to ensure git-merge reduces octopus parents when
+   possible
+ - Build in merge
+ - Introduce reduce_heads()
+ - Introduce get_merge_bases_many()
+ - Add new test to ensure git-merge handles more than 25 refs.
+ - Introduce get_octopus_merge_bases() in commit.c
+ - git-fmt-merge-msg: make it usable from other builtins
+ - Move read_cache_unmerged() to read-cache.c
+ - Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ - Move parse-options's skip_prefix() to git-compat-util.h
+ - Move commit_list_count() to commit.c
+ - Move split_cmdline() to alias.c
+
+I dropped the change to parseopt in this series and fixed up the caller.
+
+* jc/dashless (Sat Dec 1 22:09:22 2007 -0800) 2 commits
+ + Prepare execv_git_cmd() for removal of builtins from the
+   filesystem
+ + git-shell: accept "git foo" form
+
+We do not plan to remove git-foo form completely from the filesystem at
+this point, but git-shell may need to be updated.
+
+* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
+ + Eliminate an unnecessary chdir("..")
+ + Add support for GIT_CEILING_DIRECTORIES
+ + Fold test-absolute-path into test-path-utils
+ + Implement normalize_absolute_path
+
+* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
+ - rerere.autoupdate
+ - t4200: fix rerere test
+ - rerere: remove dubious "tail_optimization"
+ - git-rerere: detect unparsable conflicts
+ - rerere: rerere_created_at() and has_resolution() abstraction
+
+* sb/rebase (Sun Jun 22 01:55:50 2008 +0200) 2 commits
+ + t3404: stricter tests for git-rebase--interactive
+ + api-builtin.txt: update and fix typo
+
+* sb/maint-rebase (Sun Jun 22 16:07:02 2008 +0200) 1 commit
+ + git-rebase.sh: Add check if rebase is in progress
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+
+----------------------------------------------------------------
+[On Hold]
+
+* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
+ + Remove the use of '--' in merge program invocation
+
+Waiting for success reports from people who use various backends.
+
+* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 39 commits
+ - compat/pread.c: Add a forward declaration to fix a warning
+ - Windows: Fix ntohl() related warnings about printf formatting
+ - Windows: TMP and TEMP environment variables specify a temporary
+   directory.
+ - Windows: Make 'git help -a' work.
+ - Windows: Work around an oddity when a pipe with no reader is
+   written to.
+ - Windows: Make the pager work.
+ - When installing, be prepared that template_dir may be relative.
+ - Windows: Use a relative default template_dir and ETC_GITCONFIG
+ - Windows: Compute the fallback for exec_path from the program
+   invocation.
+ - Turn builtin_exec_path into a function.
+ - Windows: Use a customized struct stat that also has the st_blocks
+   member.
+ - Windows: Add a custom implementation for utime().
+ - Windows: Add a new lstat and fstat implementation based on Win32
+   API.
+ - Windows: Implement a custom spawnve().
+ - Windows: Implement wrappers for gethostbyname(), socket(), and
+   connect().
+ - Windows: Work around incompatible sort and find.
+ - Windows: Implement asynchronous functions as threads.
+ - Windows: Disambiguate DOS style paths from SSH URLs.
+ - Windows: A rudimentary poll() emulation.
+ - Windows: Change the name of hook scripts to make them not
+   executable.
+ - Windows: Implement start_command().
+ - Windows: A pipe() replacement whose ends are not inherited to
+   children.
+ - Windows: Wrap execve so that shell scripts can be invoked.
+ - Windows: Implement setitimer() and sigaction().
+ - Windows: Fix PRIuMAX definition.
+ - Windows: Implement gettimeofday().
+ - Make my_mktime() public and rename it to tm_to_time_t()
+ - Windows: Work around misbehaved rename().
+ - Windows: always chmod(, 0666) before unlink().
+ - Windows: A minimal implemention of getpwuid().
+ - Windows: Implement a wrapper of the open() function.
+ - Windows: Strip ".exe" from the program name.
+ - Windows: Handle absolute paths in
+   safe_create_leading_directories().
+ - Windows: Treat Windows style path names.
+ - setup.c: Prepare for Windows directory separators.
+ - Windows: Use the Windows style PATH separator ';'.
+ - Add target architecture MinGW.
+ - Compile some programs only conditionally.
+ - Add compat/regex.[ch] and compat/fnmatch.[ch].
+
+No explanation is necessary ;-).  The series is probably 'next' worthy
+as-is, except that template renaming hack won't be needed anymore.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* jc/reflog-expire (Sun Jun 15 23:48:46 2008 -0700) 1 commit
+ - Per-ref reflog expiry configuration
+
+Perhaps a good foundation for optionally unexpirable stash.  As 1.6.0 will
+be a good time to make backward incompatible changes, we might make expiry
+period of stash 'never' in new repositories.  Needs a concensus.
+
+* jc/merge-theirs (Fri Jun 20 00:17:59 2008 -0700) 2 commits
+ - git-merge-recursive-{ours,theirs}
+ - git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but still
+salvaging the parts that are cleanly automerged.  It is likely that this
+will result in nonsense mishmash, but somehow often people want this, so
+here they are.  The interface to the backends may need to change, though.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+The blame that finds where each line in the original lines moved to.  This
+may help a GSoC project that wants to gather statistical overview of the
+history.  The final presentation may need tweaking (see the log message of
+the commit ""git-blame --reverse" on the series).
+
+The tip two commits are for peeling to see what's behind the blamed
+commit, which we should be able to separate out into an independent topic
+from the rest.
+
+----------------------------------------------------------------
+[Dropped for now]
+
+* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
+ . Introduce fast forward option only
+ . Head reduction before selecting merge strategy
+ . Restructure git-merge.sh
+ . Introduce -ff=<fast forward option>
+ . New merge tests
+ . Documentation for joining more than two histories
+
+This will interfere with Miklos's rewrite of merge to C.
+
+* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
+ . Use perl instead of tac
+ . Fix t3404 assumption that `wc -l` does not use whitespace.
+ . rebase -i: Use : in expr command instead of match.
+ . rebase -i: update the implementation of 'mark' command
+ . Add option --preserve-tags
+ . Teach rebase interactive the tag command
+ . Add option --first-parent
+ . Do rebase with preserve merges with advanced TODO list
+ . Select all lines with fake-editor
+ . Unify the length of $SHORT* and the commits in the TODO list
+ . Teach rebase interactive the merge command
+ . Move redo merge code in a function
+ . Teach rebase interactive the reset command
+ . Teach rebase interactive the mark command
+ . Move cleanup code into it's own function
+ . Don't append default merge message to -m message
+ . fake-editor: output TODO list if unchanged
+
+* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
+ . WIP: rethink replay merge
+ . Start using replay-tree merge in cherry-pick
+ . revert/cherry-pick: start refactoring call to merge_recursive
+
+This is meant to improve cherry-pick's behaviour when renames are
+involved, by not using merge-recursive (whose d/f conflict resolution is
+quite broken), but unfortunately has stalled for some time now.
+
+* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
+ . git-am --forge: add Signed-off-by: line for the author
+ . git-am: clean-up Signed-off-by: lines
+ . stripspace: add --log-clean option to clean up signed-off-by:
+   lines
+ . stripspace: use parse_options()
+ . Add "git am -s" test
+ . git-am: refactor code to add signed-off-by line for the committer
+
+Just my toy at this moment.
+
+* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
+ . "git push": tellme-more protocol extension
+
diff --git a/whats/cooking/2008/06/04.txt b/whats/cooking/2008/06/04.txt
new file mode 100644 (file)
index 0000000..a8179ed
--- /dev/null
@@ -0,0 +1,339 @@
+What's cooking in git.git (Jun 2008, issue #04; Mon, 30)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be applied to the maintenance series have "maint-" in their
+names.
+
+It already is beginning to become clear what 1.6.0 will look like.  What's
+already in 'next' all are well intentioned (I do not guarantee they are
+already bug-free --- that is what cooking them in 'next' is for) and are
+good set of feature enhancements.  Bigger changes will be:
+
+ * MinGW will be in.
+
+ * With the default Makefile settings, most of the programs will be
+   installed outside your $PATH, except for "git", "gitk", "git-gui" and
+   some server side programs that need to be accessible for technical
+   reasons.  Invoking a git subcommand as "git-xyzzy" from the command
+   line has been deprecated since early 2006 (and officially announced in
+   1.5.4 release notes); use of them from your scripts after adding
+   output from "git --exec-path" to the $PATH will still be supported in
+   1.6.0, but users are again strongly encouraged to adjust their
+   scripts to use "git xyzzy" form, as we will stop installing
+   "git-xyzzy" hardlinks for built-in commands in later releases.
+
+ * git-merge will be rewritten in C.
+
+ * default pack and idx versions will be updated as scheduled for some
+   time ago.
+
+----------------------------------------------------------------
+[Will merge to master soon]
+
+* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
+ + Keep some git-* programs in $(bindir)
+ + Move all dashed-form commands to libexecdir
+
+Scheduled for 1.6.0.  We'll leave server-side programs in $(bindir) so
+that ssh clients can ask for "git-program" and find them on the $PATH.
+Next major release after 1.6.0 would most likely remove the hardlinks to
+built-in commands, but not yet.
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 4 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+ + Prepare execv_git_cmd() for removal of builtins from the
+   filesystem
+ + git-shell: accept "git foo" form
+
+----------------------------------------------------------------
+[Actively Cooking]
+
+* jk/maint-fetch-ref-hier (Fri Jun 27 00:01:41 2008 -0400) 2 commits
+ + fetch: give a hint to the user when local refs fail to update
+ + fetch: report local storage errors in status table
+
+When the remote used to have "foo" branch but now has "foo/bar", fetch
+refuses to delete the existing remote tracking branch "foo" to create a
+new remote tracking branch "foo/bar", but the error message was
+confusing.
+
+* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit
+ + Allow "git-reset path" when unambiguous
+
+We used to require "git-reset -- path" even when there is no ambiguity
+(i.e. path cannot be mistaken as a valid tree-ish and it is a filename in
+the work tree).
+
+* js/maint-clone-insteadof (Fri Jun 27 13:55:23 2008 +0100) 2 commits
+ + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
+ + clone: respect url.insteadOf setting in global configs
+
+"git clone" did not honor "url.InsteadOf" in $HOME/.gitconfig.  I think
+Daniel's "Let's get rid of internal use of GIT_CONFIG" makes sense (even
+though it feels very scary), and it would make the solution much simpler,
+but it came late and it is already past my bedtime, so...
+
+* tr/send-email-ssl (Thu Jun 26 23:03:21 2008 +0200) 2 commits
+ + git-send-email: prevent undefined variable warnings if no
+   encryption is set
+ + git-send-email: add support for TLS via Net::SMTP::SSL
+
+* kb/send-email-fifo (Wed Jun 25 15:44:40 2008 -0700) 1 commit
+ + git-send-email: Accept fifos as well as files
+
+Two minor send-email feature enhancements for 1.6.0.
+
+* jc/checkdiff (Sun Jun 29 16:49:06 2008 -0400) 7 commits
+ + Fix t4017-diff-retval for white-space from wc
+ + Update sample pre-commit hook to use "diff --check"
+ + diff --check: detect leftover conflict markers
+ + Teach "diff --check" about new blank lines at end
+ + checkdiff: pass diff_options to the callback
+ + check_and_emit_line(): rename and refactor
+ + diff --check: explain why we do not care whether old side is
+   binary
+
+Allows us to replace the sample pre-commit hook that was not aware of the
+line termination convention per path nor newer whitespace breakage rules.
+
+* np/pack-default (Wed Jun 25 00:25:53 2008 -0400) 2 commits
+ + pack.indexversion config option now defaults to 2
+ + repack.usedeltabaseoffset config option now defaults to "true"
+
+Updates the default value for pack.indexversion to 2 and use delta-base
+offset encoding of the packfiles by default.
+
+* js/apply-recount (Fri Jun 27 18:43:09 2008 +0100) 1 commit
+ + Allow git-apply to recount the lines in a hunk (AKA recountdiff)
+
+A good ingredient for implementing "apply --edit".
+
+* dz/apply-again (Fri Jun 27 14:39:12 2008 -0400) 1 commit
+ + git-apply: handle a patch that touches the same path more than
+   once better
+
+Allows us to feed a patch that touches the same path more than once.
+
+* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
+ - Make default expiration period of reflog used for stash infinite
+ - Per-ref reflog expiry configuration
+
+As 1.6.0 will be a good time to make backward incompatible changes, the
+tip commit makes the default expiry period of stash 'never', unless you
+configure them to expire explicitly using gc.refs/stash.* variables.
+Needs consensus, but I am guessing that enough people would want stash
+that does not expire.
+
+* jc/merge-theirs (Sat Jun 28 17:28:22 2008 -0700) 3 commits
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but still
+salvaging the parts that are cleanly automerged.  It is likely that this
+will result in nonsense mishmash, but somehow often people want this, so
+here they are.  The interface to the backends is updated so that you can
+say "git merge -Xours -s recursive other" now.
+
+* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
+ + compat/pread.c: Add a forward declaration to fix a warning
+ + Windows: Fix ntohl() related warnings about printf formatting
+ + Windows: TMP and TEMP environment variables specify a temporary
+   directory.
+ + Windows: Make 'git help -a' work.
+ + Windows: Work around an oddity when a pipe with no reader is
+   written to.
+ + Windows: Make the pager work.
+ + When installing, be prepared that template_dir may be relative.
+ + Windows: Use a relative default template_dir and ETC_GITCONFIG
+ + Windows: Compute the fallback for exec_path from the program
+   invocation.
+ + Turn builtin_exec_path into a function.
+ + Windows: Use a customized struct stat that also has the st_blocks
+   member.
+ + Windows: Add a custom implementation for utime().
+ + Windows: Add a new lstat and fstat implementation based on Win32
+   API.
+ + Windows: Implement a custom spawnve().
+ + Windows: Implement wrappers for gethostbyname(), socket(), and
+   connect().
+ + Windows: Work around incompatible sort and find.
+ + Windows: Implement asynchronous functions as threads.
+ + Windows: Disambiguate DOS style paths from SSH URLs.
+ + Windows: A rudimentary poll() emulation.
+ + Windows: Implement start_command().
+ + Windows: A pipe() replacement whose ends are not inherited to
+   children.
+ + Windows: Wrap execve so that shell scripts can be invoked.
+ + Windows: Implement setitimer() and sigaction().
+ + Windows: Fix PRIuMAX definition.
+ + Windows: Implement gettimeofday().
+ + Make my_mktime() public and rename it to tm_to_time_t()
+ + Windows: Work around misbehaved rename().
+ + Windows: always chmod(, 0666) before unlink().
+ + Windows: A minimal implemention of getpwuid().
+ + Windows: Implement a wrapper of the open() function.
+ + Windows: Strip ".exe" from the program name.
+ + Windows: Handle absolute paths in
+   safe_create_leading_directories().
+ + Windows: Treat Windows style path names.
+ + setup.c: Prepare for Windows directory separators.
+ + Windows: Use the Windows style PATH separator ';'.
+ + Add target architecture MinGW.
+ + Compile some programs only conditionally.
+ + Add compat/regex.[ch] and compat/fnmatch.[ch].
+
+No explanation necessary ;-)
+
+* mv/merge-in-c (Mon Jun 30 03:39:58 2008 +0200) 13 commits
+ - Build in merge
+ - Add new test case to ensure git-merge prepends the custom merge
+   message
+ - Add new test case to ensure git-merge reduces octopus parents when
+   possible
+ - Introduce reduce_heads()
+ - Introduce get_merge_bases_many()
+ - Add new test to ensure git-merge handles more than 25 refs.
+ - Introduce get_octopus_merge_bases() in commit.c
+ - git-fmt-merge-msg: make it usable from other builtins
+ - Move read_cache_unmerged() to read-cache.c
+ - Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ - Move parse-options's skip_prefix() to git-compat-util.h
+ - Move commit_list_count() to commit.c
+ - Move split_cmdline() to alias.c
+
+The last one is still in flux.
+
+* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
+ + Eliminate an unnecessary chdir("..")
+ + Add support for GIT_CEILING_DIRECTORIES
+ + Fold test-absolute-path into test-path-utils
+ + Implement normalize_absolute_path
+
+* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
+ + rerere.autoupdate
+ + t4200: fix rerere test
+ + rerere: remove dubious "tail_optimization"
+ + git-rerere: detect unparsable conflicts
+ + rerere: rerere_created_at() and has_resolution() abstraction
+
+A new configuration will allow paths that have been resolved cleanly by
+rerere to be updated in the index automatically.
+
+* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
+ - Migrate git-blame to parse-option partially.
+ - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+ - parse-opt: fake short strings for callers to believe in.
+ - parse-opt: do not pring errors on unknown options, return -2
+   intead.
+ - parse-opt: create parse_options_step.
+ - parse-opt: Export a non NORETURN usage dumper.
+ - parse-opt: have parse_options_{start,end}.
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+----------------------------------------------------------------
+[On Hold]
+
+* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
+ + Remove the use of '--' in merge program invocation
+
+Waiting for success reports from people who use various backends.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+The blame that finds where each line in the original lines moved to.  This
+may help a GSoC project that wants to gather statistical overview of the
+history.  The final presentation may need tweaking (see the log message of
+the commit ""git-blame --reverse" on the series).
+
+The tip two commits are for peeling to see what's behind the blamed
+commit, which we should be able to separate out into an independent topic
+from the rest.
+
+----------------------------------------------------------------
+[Dropped for now]
+
+* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
+ . Introduce fast forward option only
+ . Head reduction before selecting merge strategy
+ . Restructure git-merge.sh
+ . Introduce -ff=<fast forward option>
+ . New merge tests
+ . Documentation for joining more than two histories
+
+This will interfere with Miklos's rewrite of merge to C.
+
+* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
+ . Use perl instead of tac
+ . Fix t3404 assumption that `wc -l` does not use whitespace.
+ . rebase -i: Use : in expr command instead of match.
+ . rebase -i: update the implementation of 'mark' command
+ . Add option --preserve-tags
+ . Teach rebase interactive the tag command
+ . Add option --first-parent
+ . Do rebase with preserve merges with advanced TODO list
+ . Select all lines with fake-editor
+ . Unify the length of $SHORT* and the commits in the TODO list
+ . Teach rebase interactive the merge command
+ . Move redo merge code in a function
+ . Teach rebase interactive the reset command
+ . Teach rebase interactive the mark command
+ . Move cleanup code into it's own function
+ . Don't append default merge message to -m message
+ . fake-editor: output TODO list if unchanged
+
+* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
+ . WIP: rethink replay merge
+ . Start using replay-tree merge in cherry-pick
+ . revert/cherry-pick: start refactoring call to merge_recursive
+
+This is meant to improve cherry-pick's behaviour when renames are
+involved, by not using merge-recursive (whose d/f conflict resolution is
+quite broken), but unfortunately has stalled for some time now.
+
+* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
+ . git-am --forge: add Signed-off-by: line for the author
+ . git-am: clean-up Signed-off-by: lines
+ . stripspace: add --log-clean option to clean up signed-off-by:
+   lines
+ . stripspace: use parse_options()
+ . Add "git am -s" test
+ . git-am: refactor code to add signed-off-by line for the committer
+
+Just my toy at this moment.
+
+* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
+ . "git push": tellme-more protocol extension
+
diff --git a/whats/cooking/2008/07/01.txt b/whats/cooking/2008/07/01.txt
new file mode 100644 (file)
index 0000000..abdef9c
--- /dev/null
@@ -0,0 +1,415 @@
+What's cooking in git.git (Jul 2008, issue #01; Tue, 01)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be applied to the maintenance series have "maint-" in their
+names.
+
+It already is beginning to become clear what 1.6.0 will look like.  Wha=
+t's
+already in 'next' all are well intentioned (I do not guarantee they are
+already bug-free --- that is what cooking them in 'next' is for) and ar=
+e
+good set of feature enhancements.  Bigger changes will be:
+
+ * MinGW will be in.
+
+ * With the default Makefile settings, most of the programs will be
+   installed outside your $PATH, except for "git", "gitk", "git-gui" an=
+d
+   some server side programs that need to be accessible for technical
+   reasons.  Invoking a git subcommand as "git-xyzzy" from the command
+   line has been deprecated since early 2006 (and officially announced =
+in
+   1.5.4 release notes); use of them from your scripts after adding
+   output from "git --exec-path" to the $PATH will still be supported i=
+n
+   1.6.0, but users are again strongly encouraged to adjust their
+   scripts to use "git xyzzy" form, as we will stop installing
+   "git-xyzzy" hardlinks for built-in commands in later releases.
+
+ * git-merge will be rewritten in C.
+
+ * default pack and idx versions will be updated as scheduled for some
+   time ago.
+
+ * GIT_CONFIG, which was only documented as affecting "git config", but
+   actually affected all git commands, now only affects "git config".
+   GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
+   not different from GIT_CONFIG in a useful way, is removed.
+
+----------------------------------------------------------------
+[New Topics]
+
+* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit
+ + Add another fast-import example, this time for .zip files
+
+* js/apply-root (Tue Jul 1 00:44:47 2008 +0100) 1 commit
+ + Teach "git apply" to prepend a prefix with "--root=3D<root>"
+
+* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit
+ + Only use GIT_CONFIG in "git config", not other programs
+
+----------------------------------------------------------------
+[Will merge to master soon]
+
+* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
+ + compat/pread.c: Add a forward declaration to fix a warning
+ + Windows: Fix ntohl() related warnings about printf formatting
+ + Windows: TMP and TEMP environment variables specify a temporary
+   directory.
+ + Windows: Make 'git help -a' work.
+ + Windows: Work around an oddity when a pipe with no reader is
+   written to.
+ + Windows: Make the pager work.
+ + When installing, be prepared that template_dir may be relative.
+ + Windows: Use a relative default template_dir and ETC_GITCONFIG
+ + Windows: Compute the fallback for exec_path from the program
+   invocation.
+ + Turn builtin_exec_path into a function.
+ + Windows: Use a customized struct stat that also has the st_blocks
+   member.
+ + Windows: Add a custom implementation for utime().
+ + Windows: Add a new lstat and fstat implementation based on Win32
+   API.
+ + Windows: Implement a custom spawnve().
+ + Windows: Implement wrappers for gethostbyname(), socket(), and
+   connect().
+ + Windows: Work around incompatible sort and find.
+ + Windows: Implement asynchronous functions as threads.
+ + Windows: Disambiguate DOS style paths from SSH URLs.
+ + Windows: A rudimentary poll() emulation.
+ + Windows: Implement start_command().
+ + Windows: A pipe() replacement whose ends are not inherited to
+   children.
+ + Windows: Wrap execve so that shell scripts can be invoked.
+ + Windows: Implement setitimer() and sigaction().
+ + Windows: Fix PRIuMAX definition.
+ + Windows: Implement gettimeofday().
+ + Make my_mktime() public and rename it to tm_to_time_t()
+ + Windows: Work around misbehaved rename().
+ + Windows: always chmod(, 0666) before unlink().
+ + Windows: A minimal implemention of getpwuid().
+ + Windows: Implement a wrapper of the open() function.
+ + Windows: Strip ".exe" from the program name.
+ + Windows: Handle absolute paths in
+   safe_create_leading_directories().
+ + Windows: Treat Windows style path names.
+ + setup.c: Prepare for Windows directory separators.
+ + Windows: Use the Windows style PATH separator ';'.
+ + Add target architecture MinGW.
+ + Compile some programs only conditionally.
+ + Add compat/regex.[ch] and compat/fnmatch.[ch].
+
+No explanation necessary ;-)
+
+----------------------------------------------------------------
+[Actively Cooking]
+
+* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
+ - Make default expiration period of reflog used for stash infinite
+ - Per-ref reflog expiry configuration
+
+As 1.6.0 will be a good time to make backward incompatible changes, the
+tip commit makes the default expiry period of stash 'never', unless you
+configure them to expire explicitly using gc.refs/stash.* variables.
+Needs consensus, but I am guessing that enough people would want stash
+that does not expire.
+
+We may want to change the commit topology used to represent a stash, as
+proposed in $gmane/85055 by Nana earlier.
+
+* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 4 commits
+ - Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but st=
+ill
+salvaging the parts that are cleanly automerged.  It is likely that thi=
+s
+will result in nonsense mishmash, but somehow often people want this, s=
+o
+here they are.  The interface to the backends is updated so that you ca=
+n
+say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now.
+
+* mv/merge-in-c (Tue Jul 1 04:37:50 2008 +0200) 14 commits
+ - Build in merge
+ - git-commit-tree: make it usable from other builtins
+ - Add new test case to ensure git-merge prepends the custom merge
+   message
+ - Add new test case to ensure git-merge reduces octopus parents when
+   possible
+ - Introduce reduce_heads()
+ - Introduce get_merge_bases_many()
+ - Add new test to ensure git-merge handles more than 25 refs.
+ - Introduce get_octopus_merge_bases() in commit.c
+ - git-fmt-merge-msg: make it usable from other builtins
+ - Move read_cache_unmerged() to read-cache.c
+ - Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ - Move parse-options's skip_prefix() to git-compat-util.h
+ - Move commit_list_count() to commit.c
+ - Move split_cmdline() to alias.c
+
+I think this is getting there.  Will be in 'next' soon.
+
+* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
+ + Eliminate an unnecessary chdir("..")
+ + Add support for GIT_CEILING_DIRECTORIES
+ + Fold test-absolute-path into test-path-utils
+ + Implement normalize_absolute_path
+
+* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
+ + rerere.autoupdate
+ + t4200: fix rerere test
+ + rerere: remove dubious "tail_optimization"
+ + git-rerere: detect unparsable conflicts
+ + rerere: rerere_created_at() and has_resolution() abstraction
+
+A new configuration will allow paths that have been resolved cleanly by
+rerere to be updated in the index automatically.
+
+* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
+ - Migrate git-blame to parse-option partially.
+ - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+ - parse-opt: fake short strings for callers to believe in.
+ - parse-opt: do not print errors on unknown options, return -2
+   intead.
+ - parse-opt: create parse_options_step.
+ - parse-opt: Export a non NORETURN usage dumper.
+ - parse-opt: have parse_options_{start,end}.
+
+I recall Pierre said something about cleaning up the last one when he
+finds time, but other than that vague recollection, I lost track of thi=
+s
+series.  I am tempted to fork a few topics off of the pen=C3=BAltimo on=
+e to
+convert a few more commands as examples and merge the result to 'next'.
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
+ + Remove the use of '--' in merge program invocation
+
+I got tired of waiting for success reports from people who use various
+backends.  We will hear breakages if this breaks things anyway, and if =
+it
+does, it is a fairly simple single patch to revert.
+
+* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
+ + Keep some git-* programs in $(bindir)
+ + Move all dashed-form commands to libexecdir
+
+We'll leave server-side programs in $(bindir) so that ssh clients can a=
+sk
+for "git-program" and find them on the $PATH.  Next major release after
+1.6.0 would most likely remove the hardlinks to built-in commands, but =
+not
+yet.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Prepare execv_git_cmd() for removal of builtins from the
+   filesystem
+ + git-shell: accept "git foo" form
+
+The botched "client asks 'git foo'" is not included.  It will be long
+after everybody runs 1.6.0.
+
+* jk/maint-fetch-ref-hier (Fri Jun 27 00:01:41 2008 -0400) 2 commits
+ + fetch: give a hint to the user when local refs fail to update
+ + fetch: report local storage errors in status table
+
+When the remote used to have "foo" branch but now has "foo/bar", fetch
+refuses to delete the existing remote tracking branch "foo" to create a
+new remote tracking branch "foo/bar", but the error message was
+confusing.
+
+Need to backmerge to 'maint' after a while.
+
+* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit
+ + Allow "git-reset path" when unambiguous
+
+We used to require "git-reset -- path" even when there is no ambiguity
+(i.e. path cannot be mistaken as a valid tree-ish and it is a filename =
+in
+the work tree).
+
+Need to backmerge to 'maint' after a while.
+
+* js/maint-clone-insteadof (Fri Jun 27 13:55:23 2008 +0100) 2 commits
+ + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
+ + clone: respect url.insteadOf setting in global configs
+
+"git clone" did not honor "url.InsteadOf" in $HOME/.gitconfig.  I think
+Daniel's "Let's get rid of internal use of GIT_CONFIG" makes sense (eve=
+n
+though it feels very scary), and it would make the solution much simple=
+r,
+but these two are independently good fix for now.  I'll queue GIT_CONFI=
+G
+one in 'next' and when it graduates the unsetenv() solution in these wi=
+ll
+become no-op.
+
+* tr/send-email-ssl (Thu Jun 26 23:03:21 2008 +0200) 2 commits
+ + git-send-email: prevent undefined variable warnings if no
+   encryption is set
+ + git-send-email: add support for TLS via Net::SMTP::SSL
+
+* kb/send-email-fifo (Wed Jun 25 15:44:40 2008 -0700) 1 commit
+ + git-send-email: Accept fifos as well as files
+
+Two minor send-email feature enhancements.
+
+* jc/checkdiff (Sun Jun 29 16:49:06 2008 -0400) 7 commits
+ + Fix t4017-diff-retval for white-space from wc
+ + Update sample pre-commit hook to use "diff --check"
+ + diff --check: detect leftover conflict markers
+ + Teach "diff --check" about new blank lines at end
+ + checkdiff: pass diff_options to the callback
+ + check_and_emit_line(): rename and refactor
+ + diff --check: explain why we do not care whether old side is
+   binary
+
+Allows us to replace the sample pre-commit hook that was not aware of t=
+he
+line termination convention per path nor newer whitespace breakage rule=
+s.
+
+* np/pack-default (Wed Jun 25 00:25:53 2008 -0400) 2 commits
+ + pack.indexversion config option now defaults to 2
+ + repack.usedeltabaseoffset config option now defaults to "true"
+
+Updates the default value for pack.indexversion to 2 and use delta-base
+offset encoding of the packfiles by default.
+
+* js/apply-recount (Fri Jun 27 18:43:09 2008 +0100) 1 commit
+ + Allow git-apply to recount the lines in a hunk (AKA recountdiff)
+
+A good ingredient for implementing "apply --edit".
+
+* dz/apply-again (Fri Jun 27 14:39:12 2008 -0400) 1 commit
+ + git-apply: handle a patch that touches the same path more than
+   once better
+
+Allows us to feed a patch that touches the same path more than once.
+
+----------------------------------------------------------------
+[On Hold]
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+This was previously in "will be in master soon" category, but it turns =
+out
+that the synonyms to the ones this one deletes are fairly new invention
+that happend in 1.5.6 timeframe, and we cannot do this just yet.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+
+This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
+timeframe.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will=
+ be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+The blame that finds where each line in the original lines moved to.  T=
+his
+may help a GSoC project that wants to gather statistical overview of th=
+e
+history.  The final presentation may need tweaking (see the log message=
+ of
+the commit ""git-blame --reverse" on the series).
+
+The tip two commits are for peeling to see what's behind the blamed
+commit, which we should be able to separate out into an independent top=
+ic
+from the rest.
+
+----------------------------------------------------------------
+[Dropped for now]
+
+* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
+ . Introduce fast forward option only
+ . Head reduction before selecting merge strategy
+ . Restructure git-merge.sh
+ . Introduce -ff=3D<fast forward option>
+ . New merge tests
+ . Documentation for joining more than two histories
+
+This will interfere with Miklos's rewrite of merge to C.
+
+* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
+ . Use perl instead of tac
+ . Fix t3404 assumption that `wc -l` does not use whitespace.
+ . rebase -i: Use : in expr command instead of match.
+ . rebase -i: update the implementation of 'mark' command
+ . Add option --preserve-tags
+ . Teach rebase interactive the tag command
+ . Add option --first-parent
+ . Do rebase with preserve merges with advanced TODO list
+ . Select all lines with fake-editor
+ . Unify the length of $SHORT* and the commits in the TODO list
+ . Teach rebase interactive the merge command
+ . Move redo merge code in a function
+ . Teach rebase interactive the reset command
+ . Teach rebase interactive the mark command
+ . Move cleanup code into it's own function
+ . Don't append default merge message to -m message
+ . fake-editor: output TODO list if unchanged
+
+* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
+ . WIP: rethink replay merge
+ . Start using replay-tree merge in cherry-pick
+ . revert/cherry-pick: start refactoring call to merge_recursive
+
+This is meant to improve cherry-pick's behaviour when renames are
+involved, by not using merge-recursive (whose d/f conflict resolution i=
+s
+quite broken), but unfortunately has stalled for some time now.
+
+* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
+ . git-am --forge: add Signed-off-by: line for the author
+ . git-am: clean-up Signed-off-by: lines
+ . stripspace: add --log-clean option to clean up signed-off-by:
+   lines
+ . stripspace: use parse_options()
+ . Add "git am -s" test
+ . git-am: refactor code to add signed-off-by line for the committer
+
+Just my toy at this moment.
+
+* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
+ . "git push": tellme-more protocol extension
+
diff --git a/whats/cooking/2008/07/02.txt b/whats/cooking/2008/07/02.txt
new file mode 100644 (file)
index 0000000..52e94cf
--- /dev/null
@@ -0,0 +1,329 @@
+What's cooking in git.git (Jul 2008, issue #02; Sun, 06)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be applied to the maintenance series have "maint-" in their
+names.
+
+It already is beginning to become clear what 1.6.0 will look like.  Wha=
+t's
+already in 'next' all are well intentioned (I do not guarantee they are
+already bug-free --- that is what cooking them in 'next' is for) and ar=
+e
+good set of feature enhancements.  Bigger changes will be:
+
+ * Port for MinGW.
+
+ * With the default Makefile settings, most of the programs will be
+   installed outside your $PATH, except for "git", "gitk", "git-gui" an=
+d
+   some server side programs that need to be accessible for technical
+   reasons.  Invoking a git subcommand as "git-xyzzy" from the command
+   line has been deprecated since early 2006 (and officially announced =
+in
+   1.5.4 release notes); use of them from your scripts after adding
+   output from "git --exec-path" to the $PATH will still be supported i=
+n
+   1.6.0, but users are again strongly encouraged to adjust their
+   scripts to use "git xyzzy" form, as we will stop installing
+   "git-xyzzy" hardlinks for built-in commands in later releases.
+
+ * git-merge will be rewritten in C.
+
+ * default pack and idx versions will be updated as scheduled for some
+   time ago.
+
+ * GIT_CONFIG, which was only documented as affecting "git config", but
+   actually affected all git commands, now only affects "git config".
+   GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
+   not different from GIT_CONFIG in a useful way, is removed.
+
+----------------------------------------------------------------
+[New Topics]
+
+* js/maint-daemon-syslog (Thu Jul 3 16:27:24 2008 +0100) 1 commit
+ - [PARKED improvement suggested not rolled in] git daemon: avoid
+   calling syslog() from a signal handler
+
+This will eventually appear in 'maint'; currently parked on 'pu', thoug=
+h.
+
+* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
+ - branch -r -v: do not spit out garbage
+ + stat_tracking_info(): clear object flags used during counting
+ + git-branch -v: show the remote tracking statistics
+ + git-status: show the remote tracking statistics
+ + Refactor "tracking statistics" code used by "git checkout"
+
+Makes the "your branch is ahead of the tracked one by N commits" logic =
+and
+messages available to other commands; status and branch are updated.
+
+* sg/stash-k-i (Fri Jun 27 16:37:15 2008 +0200) 1 commit
+ - stash: introduce 'stash save --keep-index' option
+
+One weakness of our "partial commit" workflow support used to be that t=
+he
+user can incrementally build what is to be committed in the index but t=
+hat
+state cannot be tested as a whole in the working tree.  This allows you=
+ to
+temporarily stash the remaining changes in the working tree so that the
+index state before running "stash save --keep-index" can be seen in the
+working tree to be tested and then committed.  A recommended workflow t=
+o
+use after that commit is made needs to be documented (and support needs=
+ to
+be added if necessary).
+
+* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
+ + git-add--interactive: manual hunk editing mode
+ + git-add--interactive: remove hunk coalescing
+ + git-add--interactive: replace hunk recounting with apply --recount
+
+Adds 'e/dit' action to interactive add command.
+
+* am/stash-branch (Thu Jul 3 11:46:05 2008 +0530) 1 commit
+ + Implement "git stash branch <newbranch> <stash>"
+
+Creates a new branch out of the stashed state, after returning from the
+interrupt that forced you to create the stash in the first place.
+
+* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
+ - Ignore graft during object transfer [broken wrt shallow clones]
+
+Cloning or fetching from a repository from grafts did not send objects
+that are hidden by grafts, but the commits in the resulting repository =
+do
+need these to pass fsck.  This fixes object transfer to ignore grafts.
+
+Another fix is needed to git-prune so that it ignores grafts but treats
+commits that are mentioned in grafts as reachable.
+
+* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
+ - Allow per-command pager config
+
+----------------------------------------------------------------
+[Will merge to master soon]
+
+* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit
+ + Add another fast-import example, this time for .zip files
+
+* js/apply-root (Wed Jul 2 15:28:22 2008 -0700) 2 commits
+ + apply --root: thinkofix.
+ + Teach "git apply" to prepend a prefix with "--root=3D<root>"
+
+* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit
+ + Only use GIT_CONFIG in "git config", not other programs
+
+* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
+ + Make default expiration period of reflog used for stash infinite
+ + Per-ref reflog expiry configuration
+
+As 1.6.0 will be a good time to make backward incompatible changes, the
+tip commit makes the default expiry period of stash 'never', unless you
+configure them to expire explicitly using gc.refs/stash.* variables.
+Needs consensus, but I am guessing that enough people would want stash
+that does not expire.
+
+* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
+ + Eliminate an unnecessary chdir("..")
+ + Add support for GIT_CEILING_DIRECTORIES
+ + Fold test-absolute-path into test-path-utils
+ + Implement normalize_absolute_path
+
+This still feels "because we can", not "because we need to", but it cam=
+e
+from somebody who had the need to, and I do not think it hurts people
+without the environment variable set.
+
+* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
+ + rerere.autoupdate
+ + t4200: fix rerere test
+ + rerere: remove dubious "tail_optimization"
+ + git-rerere: detect unparsable conflicts
+ + rerere: rerere_created_at() and has_resolution() abstraction
+
+A new configuration will allow paths that have been resolved cleanly by
+rerere to be updated in the index automatically.
+
+To me, this is "because we can", but was something requested by Ingo, s=
+o
+presumably some people may feel it useful in their workflow.
+
+----------------------------------------------------------------
+[Actively Cooking]
+
+* mv/merge-in-c (Tue Jul 1 04:37:50 2008 +0200) 15 commits
+ - [REJECT -- over-abuse of path-list] Build in merge
+ + Fix t7601-merge-pull-config.sh on AIX
+ + git-commit-tree: make it usable from other builtins
+ + Add new test case to ensure git-merge prepends the custom merge
+   message
+ + Add new test case to ensure git-merge reduces octopus parents when
+   possible
+ + Introduce reduce_heads()
+ + Introduce get_merge_bases_many()
+ + Add new test to ensure git-merge handles more than 25 refs.
+ + Introduce get_octopus_merge_bases() in commit.c
+ + git-fmt-merge-msg: make it usable from other builtins
+ + Move read_cache_unmerged() to read-cache.c
+ + Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ + Move parse-options's skip_prefix() to git-compat-util.h
+ + Move commit_list_count() to commit.c
+ + Move split_cmdline() to alias.c
+
+The last one is still not quite there, I am afraid.
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
+ + compat/pread.c: Add a forward declaration to fix a warning
+ + Windows: Fix ntohl() related warnings about printf formatting
+ + Windows: TMP and TEMP environment variables specify a temporary
+   directory.
+ + Windows: Make 'git help -a' work.
+ + Windows: Work around an oddity when a pipe with no reader is
+   written to.
+ + Windows: Make the pager work.
+ + When installing, be prepared that template_dir may be relative.
+ + Windows: Use a relative default template_dir and ETC_GITCONFIG
+ + Windows: Compute the fallback for exec_path from the program
+   invocation.
+ + Turn builtin_exec_path into a function.
+ + Windows: Use a customized struct stat that also has the st_blocks
+   member.
+ + Windows: Add a custom implementation for utime().
+ + Windows: Add a new lstat and fstat implementation based on Win32
+   API.
+ + Windows: Implement a custom spawnve().
+ + Windows: Implement wrappers for gethostbyname(), socket(), and
+   connect().
+ + Windows: Work around incompatible sort and find.
+ + Windows: Implement asynchronous functions as threads.
+ + Windows: Disambiguate DOS style paths from SSH URLs.
+ + Windows: A rudimentary poll() emulation.
+ + Windows: Implement start_command().
+ + Windows: A pipe() replacement whose ends are not inherited to
+   children.
+ + Windows: Wrap execve so that shell scripts can be invoked.
+ + Windows: Implement setitimer() and sigaction().
+ + Windows: Fix PRIuMAX definition.
+ + Windows: Implement gettimeofday().
+ + Make my_mktime() public and rename it to tm_to_time_t()
+ + Windows: Work around misbehaved rename().
+ + Windows: always chmod(, 0666) before unlink().
+ + Windows: A minimal implemention of getpwuid().
+ + Windows: Implement a wrapper of the open() function.
+ + Windows: Strip ".exe" from the program name.
+ + Windows: Handle absolute paths in
+   safe_create_leading_directories().
+ + Windows: Treat Windows style path names.
+ + setup.c: Prepare for Windows directory separators.
+ + Windows: Use the Windows style PATH separator ';'.
+ + Add target architecture MinGW.
+ + Compile some programs only conditionally.
+ + Add compat/regex.[ch] and compat/fnmatch.[ch].
+
+----------------------------------------------------------------
+[On Hold]
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+This was previously in "will be in master soon" category, but it turns =
+out
+that the synonyms to the ones this one deletes are fairly new invention
+that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perha=
+ps
+in 1.7.0.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+
+This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
+timeframe.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will=
+ be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
+ - Migrate git-blame to parse-option partially.
+ + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+ + parse-opt: fake short strings for callers to believe in.
+ + parse-opt: do not print errors on unknown options, return -2
+   intead.
+ + parse-opt: create parse_options_step.
+ + parse-opt: Export a non NORETURN usage dumper.
+ + parse-opt: have parse_options_{start,end}.
+
+I recall Pierre said something about cleaning up the last one when he
+finds time, but other than that vague recollection, I lost track of thi=
+s
+series.  I am tempted to fork a few topics off of the pen=C3=BAltimo on=
+e to
+convert a few more commands as examples and merge the result to 'next'.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+The blame that finds where each line in the original lines moved to.  T=
+his
+may help a GSoC project that wants to gather statistical overview of th=
+e
+history.  The final presentation may need tweaking (see the log message=
+ of
+the commit ""git-blame --reverse" on the series).
+
+The tip two commits are for peeling to see what's behind the blamed
+commit, which we should be able to separate out into an independent top=
+ic
+from the rest.
+
+* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
+ + Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-pull to pass -X<option> to git-merge
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but st=
+ill
+salvaging the parts that are cleanly automerged.  It is likely that thi=
+s
+will result in nonsense mishmash, but somehow often people want this, s=
+o
+here they are.  The interface to the backends is updated so that you ca=
+n
+say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now.
+
+The -X<option> part may change, Dscho mentions that a single-letter -X
+that take stuck option is against syntax rules, and I think he's right.
+
+This is more "because we can", not "because we need to".
+
diff --git a/whats/cooking/2008/07/03.txt b/whats/cooking/2008/07/03.txt
new file mode 100644 (file)
index 0000000..24bc5c0
--- /dev/null
@@ -0,0 +1,283 @@
+What's cooking in git.git (Jul 2008, issue #03; Mon, 07)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be applied to the maintenance series have "maint-" in their
+names.
+
+It already is beginning to become clear what 1.6.0 will look like.  Wha=
+t's
+already in 'next' all are well intentioned (I do not guarantee they are
+already bug-free --- that is what cooking them in 'next' is for) and ar=
+e
+good set of feature enhancements.  Bigger changes will be:
+
+ * Port for MinGW.
+
+ * With the default Makefile settings, most of the programs will be
+   installed outside your $PATH, except for "git", "gitk", "git-gui" an=
+d
+   some server side programs that need to be accessible for technical
+   reasons.  Invoking a git subcommand as "git-xyzzy" from the command
+   line has been deprecated since early 2006 (and officially announced =
+in
+   1.5.4 release notes); use of them from your scripts after adding
+   output from "git --exec-path" to the $PATH will still be supported i=
+n
+   1.6.0, but users are again strongly encouraged to adjust their
+   scripts to use "git xyzzy" form, as we will stop installing
+   "git-xyzzy" hardlinks for built-in commands in later releases.
+
+ * git-merge will be rewritten in C.
+
+ * default pack and idx versions will be updated as scheduled for some
+   time ago.
+
+ * GIT_CONFIG, which was only documented as affecting "git config", but
+   actually affected all git commands, now only affects "git config".
+   GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
+   not different from GIT_CONFIG in a useful way, is removed.
+
+----------------------------------------------------------------
+[New Topics]
+
+* jc/rebase-orig-head (Mon Jul 7 00:16:38 2008 -0700) 1 commit
+ + Teach "am" and "rebase" to mark the original position with
+   ORIG_HEAD
+
+* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
+ . Migrate git-am to use git-sequencer
+ . Add git-sequencer test suite (t3350)
+ . Add git-sequencer prototype documentation
+ . Add git-sequencer shell prototype
+
+* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
+ + Allow cherry-picking root commits
+
+* ab/bundle (Sat Jul 5 17:26:40 2008 -0400) 1 commit
+ + Teach git-bundle to read revision arguments from stdin like git-
+   rev-list.
+
+----------------------------------------------------------------
+[Will merge to master soon]
+
+* js/apply-root (Sun Jul 6 18:36:01 2008 -0700) 3 commits
+ + git-apply --directory: make --root more similar to GNU diff
+ + apply --root: thinkofix.
+ + Teach "git apply" to prepend a prefix with "--root=3D<root>"
+
+* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
+ + Make default expiration period of reflog used for stash infinite
+ + Per-ref reflog expiry configuration
+
+As 1.6.0 will be a good time to make backward incompatible changes, the
+tip commit makes the default expiry period of stash 'never', unless you
+configure them to expire explicitly using gc.refs/stash.* variables.
+Needs consensus, but I am guessing that enough people would want stash
+that does not expire.
+
+* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
+ + Allow per-command pager config
+
+----------------------------------------------------------------
+[Actively Cooking]
+
+* sg/stash-k-i (Fri Jun 27 16:37:15 2008 +0200) 1 commit
+ + stash: introduce 'stash save --keep-index' option
+
+One weakness of our "partial commit" workflow support used to be that t=
+he
+user can incrementally build what is to be committed in the index but t=
+hat
+state cannot be tested as a whole in the working tree.  This allows you=
+ to
+temporarily stash the remaining changes in the working tree so that the
+index state before running "stash save --keep-index" can be seen in the
+working tree to be tested and then committed.
+
+* am/stash-branch (Mon Jul 7 02:50:10 2008 +0530) 2 commits
+ + Add a test for "git stash branch"
+ + Implement "git stash branch <newbranch> <stash>"
+
+Creates a new branch out of the stashed state, after returning from the
+interrupt that forced you to create the stash in the first place.
+
+* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
+ + git-add--interactive: manual hunk editing mode
+ + git-add--interactive: remove hunk coalescing
+ + git-add--interactive: replace hunk recounting with apply --recount
+
+Adds 'e/dit' action to interactive add command.
+
+* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
+ + branch -r -v: do not spit out garbage
+ + stat_tracking_info(): clear object flags used during counting
+ + git-branch -v: show the remote tracking statistics
+ + git-status: show the remote tracking statistics
+ + Refactor "tracking statistics" code used by "git checkout"
+
+Makes the "your branch is ahead of the tracked one by N commits" logic =
+and
+messages available to other commands; status and branch are updated.
+
+* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
+ + Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-pull to pass -X<option> to git-merge
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but st=
+ill
+salvaging the parts that are cleanly automerged.  It is likely that thi=
+s
+will result in nonsense mishmash, but somehow often people want this, s=
+o
+here they are.  The interface to the backends is updated so that you ca=
+n
+say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now.
+
+The -X<option> part may change, Dscho mentions that a single-letter -X
+that take stuck option is against syntax rules, and I think he's right.
+
+This is more "because we can", not "because we need to".
+
+* mv/merge-in-c (Mon Jul 7 19:24:20 2008 +0200) 15 commits
+ - Build in merge
+ + Fix t7601-merge-pull-config.sh on AIX
+ + git-commit-tree: make it usable from other builtins
+ + Add new test case to ensure git-merge prepends the custom merge
+   message
+ + Add new test case to ensure git-merge reduces octopus parents when
+   possible
+ + Introduce reduce_heads()
+ + Introduce get_merge_bases_many()
+ + Add new test to ensure git-merge handles more than 25 refs.
+ + Introduce get_octopus_merge_bases() in commit.c
+ + git-fmt-merge-msg: make it usable from other builtins
+ + Move read_cache_unmerged() to read-cache.c
+ + Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ + Move parse-options's skip_prefix() to git-compat-util.h
+ + Move commit_list_count() to commit.c
+ + Move split_cmdline() to alias.c
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit
+ + Add another fast-import example, this time for .zip files
+
+* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit
+ + Only use GIT_CONFIG in "git config", not other programs
+
+* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
+ + Eliminate an unnecessary chdir("..")
+ + Add support for GIT_CEILING_DIRECTORIES
+ + Fold test-absolute-path into test-path-utils
+ + Implement normalize_absolute_path
+
+* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
+ + rerere.autoupdate
+ + t4200: fix rerere test
+ + rerere: remove dubious "tail_optimization"
+ + git-rerere: detect unparsable conflicts
+ + rerere: rerere_created_at() and has_resolution() abstraction
+
+A new configuration will allow paths that have been resolved cleanly by
+rerere to be updated in the index automatically.
+
+* js/maint-daemon-syslog (Thu Jul 3 16:27:24 2008 +0100) 1 commit
+ + git daemon: avoid calling syslog() from a signal handler
+
+Meant for 'maint' as well.
+
+----------------------------------------------------------------
+[On Hold]
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+This was previously in "will be in master soon" category, but it turns =
+out
+that the synonyms to the ones this one deletes are fairly new invention
+that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perha=
+ps
+in 1.7.0.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+
+This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
+timeframe.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will=
+ be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
+ - [BROKEN wrt shallow clones] Ignore graft during object transfer
+
+Cloning or fetching from a repository from grafts did not send objects
+that are hidden by grafts, but the commits in the resulting repository =
+do
+need these to pass fsck.  This fixes object transfer to ignore grafts.
+
+Another fix is needed to git-prune so that it ignores grafts but treats
+commits that are mentioned in grafts as reachable.
+
+* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
+ - Migrate git-blame to parse-option partially.
+ + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+ + parse-opt: fake short strings for callers to believe in.
+ + parse-opt: do not print errors on unknown options, return -2
+   intead.
+ + parse-opt: create parse_options_step.
+ + parse-opt: Export a non NORETURN usage dumper.
+ + parse-opt: have parse_options_{start,end}.
+
+I recall Pierre said something about cleaning up the last one when he
+finds time, but other than that vague recollection, I lost track of thi=
+s
+series.  I am tempted to fork a few topics off of the pen=C3=BAltimo on=
+e to
+convert a few more commands as examples and merge the result to 'next'.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+The blame that finds where each line in the original lines moved to.  T=
+his
+may help a GSoC project that wants to gather statistical overview of th=
+e
+history.  The final presentation may need tweaking (see the log message=
+ of
+the commit ""git-blame --reverse" on the series).
+
+The tip two commits are for peeling to see what's behind the blamed
+commit, which we should be able to separate out into an independent top=
+ic
+from the rest.
+
diff --git a/whats/cooking/2008/07/04.txt b/whats/cooking/2008/07/04.txt
new file mode 100644 (file)
index 0000000..f96c579
--- /dev/null
@@ -0,0 +1,268 @@
+What's cooking in git.git (Jul 2008, issue #04; Wed, 09)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be applied to the maintenance series have "maint-" in their
+names.
+
+It already is beginning to become clear what 1.6.0 will look like.  What's
+already in 'next' all are well intentioned (I do not guarantee they are
+already bug-free --- that is what cooking them in 'next' is for) and are
+good set of feature enhancements.  Bigger changes will be:
+
+ * Port for MinGW.
+
+ * With the default Makefile settings, most of the programs will be
+   installed outside your $PATH, except for "git", "gitk", "git-gui" and
+   some server side programs that need to be accessible for technical
+   reasons.  Invoking a git subcommand as "git-xyzzy" from the command
+   line has been deprecated since early 2006 (and officially announced in
+   1.5.4 release notes); use of them from your scripts after adding
+   output from "git --exec-path" to the $PATH will still be supported in
+   1.6.0, but users are again strongly encouraged to adjust their
+   scripts to use "git xyzzy" form, as we will stop installing
+   "git-xyzzy" hardlinks for built-in commands in later releases.
+
+ * git-merge will be rewritten in C.
+
+ * default pack and idx versions will be updated as scheduled for some
+   time ago.
+
+ * GIT_CONFIG, which was only documented as affecting "git config", but
+   actually affected all git commands, now only affects "git config".
+   GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
+   not different from GIT_CONFIG in a useful way, is removed.
+
+----------------------------------------------------------------
+[New Topics]
+
+* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
+ + Teach git-merge -X<option> again.
+ + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
+ + builtin-merge.c: use parse_options_step() "incremental parsing"
+   machinery
+ + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
+
+I've described what this is in a separate message.
+
+* jc/branch-merged (Tue Jul 8 17:55:47 2008 -0700) 3 commits
+ + branch --merged/--no-merged: allow specifying arbitrary commit
+ + branch --contains: default to HEAD
+ + parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
+
+This builds on top of the parse-options enhancement series that
+has been cooking in 'next' for some time.
+
+* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
+ + Documentation: Improve documentation for git-imap-send(1)
+ + imap-send.c: more style fixes
+ + imap-send.c: style fixes
+ + git-imap-send: Support SSL
+ + git-imap-send: Allow the program to be run from subdirectories of
+   a git tree
+
+* om/rerere-careful (Mon Jul 7 14:42:48 2008 +0200) 1 commit
+ + builtin-rerere: more carefully find conflict markers
+
+----------------------------------------------------------------
+[Will merge to master soon]
+
+* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
+ + Allow cherry-picking root commits
+
+* ab/bundle (Sat Jul 5 17:26:40 2008 -0400) 1 commit
+ + Teach git-bundle to read revision arguments from stdin like git-
+   rev-list.
+
+* sg/stash-k-i (Tue Jul 8 00:40:56 2008 -0700) 2 commits
+ + Documentation: tweak use case in "git stash save --keep-index"
+ + stash: introduce 'stash save --keep-index' option
+
+One weakness of our "partial commit" workflow support used to be that the
+user can incrementally build what is to be committed in the index but that
+state cannot be tested as a whole in the working tree.  This allows you to
+temporarily stash the remaining changes in the working tree so that the
+index state before running "stash save --keep-index" can be seen in the
+working tree to be tested and then committed.
+
+* am/stash-branch (Mon Jul 7 02:50:10 2008 +0530) 2 commits
+ + Add a test for "git stash branch"
+ + Implement "git stash branch <newbranch> <stash>"
+
+Creates a new branch out of the stashed state, after returning from the
+interrupt that forced you to create the stash in the first place.
+
+* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
+ + git-add--interactive: manual hunk editing mode
+ + git-add--interactive: remove hunk coalescing
+ + git-add--interactive: replace hunk recounting with apply --recount
+
+Adds 'e/dit' action to interactive add command.
+
+* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
+ + branch -r -v: do not spit out garbage
+ + stat_tracking_info(): clear object flags used during counting
+ + git-branch -v: show the remote tracking statistics
+ + git-status: show the remote tracking statistics
+ + Refactor "tracking statistics" code used by "git checkout"
+
+Makes the "your branch is ahead of the tracked one by N commits" logic and
+messages available to other commands; status and branch are updated.
+
+----------------------------------------------------------------
+[Actively Cooking]
+
+* jc/rebase-orig-head (Tue Jul 8 00:12:22 2008 -0400) 2 commits
+ + Documentation: mention ORIG_HEAD in am, merge, and rebase
+ + Teach "am" and "rebase" to mark the original position with
+   ORIG_HEAD
+
+* ph/parseopt-step-blame (Wed Jul 9 23:38:34 2008 +0200) 18 commits
+ + revisions: refactor handle_revision_opt into parse_revision_opt.
+ + git-shortlog: migrate to parse-options partially.
+ + git-blame: fix lapsus
+ + git-blame: migrate to incremental parse-option [2/2]
+ + git-blame: migrate to incremental parse-option [1/2]
+ + revisions: split handle_revision_opt() from setup_revisions()
+ + Merge branch 'jc/blame' (early part) into HEAD
+ + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+ + parse-opt: fake short strings for callers to believe in.
+ + parse-opt: do not print errors on unknown options, return -2
+   intead.
+ + parse-opt: create parse_options_step.
+ + parse-opt: Export a non NORETURN usage dumper.
+ + parse-opt: have parse_options_{start,end}.
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+Became active again ;-) This probably is ready for 'master' already,
+except for the last two which I only looked at the patch and have not
+used heavily in production yet.
+
+* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
+ + Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-pull to pass -X<option> to git-merge
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but still
+salvaging the parts that are cleanly automerged.  It is likely that this
+will result in nonsense mishmash, but somehow often people want this, so
+here they are.  The interface to the backends is updated so that you can
+say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now.
+
+* mv/merge-in-c (Mon Jul 7 19:24:20 2008 +0200) 15 commits
+ + Build in merge
+ + Fix t7601-merge-pull-config.sh on AIX
+ + git-commit-tree: make it usable from other builtins
+ + Add new test case to ensure git-merge prepends the custom merge
+   message
+ + Add new test case to ensure git-merge reduces octopus parents when
+   possible
+ + Introduce reduce_heads()
+ + Introduce get_merge_bases_many()
+ + Add new test to ensure git-merge handles more than 25 refs.
+ + Introduce get_octopus_merge_bases() in commit.c
+ + git-fmt-merge-msg: make it usable from other builtins
+ + Move read_cache_unmerged() to read-cache.c
+ + Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ + Move parse-options's skip_prefix() to git-compat-util.h
+ + Move commit_list_count() to commit.c
+ + Move split_cmdline() to alias.c
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+* js/apply-root (Sun Jul 6 18:36:01 2008 -0700) 3 commits
+ + git-apply --directory: make --root more similar to GNU diff
+ + apply --root: thinkofix.
+ + Teach "git apply" to prepend a prefix with "--root=<root>"
+
+* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
+ + Make default expiration period of reflog used for stash infinite
+ + Per-ref reflog expiry configuration
+
+As 1.6.0 will be a good time to make backward incompatible changes, the
+tip commit makes the default expiry period of stash 'never', unless you
+configure them to expire explicitly using gc.refs/stash.* variables.
+Needs consensus, but I am guessing that enough people would want stash
+that does not expire.
+
+* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
+ + Allow per-command pager config
+
+----------------------------------------------------------------
+[On Hold]
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+This was previously in "will be in master soon" category, but it turns out
+that the synonyms to the ones this one deletes are fairly new invention
+that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps
+in 1.7.0.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+
+This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
+timeframe.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
+ . Migrate git-am to use git-sequencer
+ . Add git-sequencer test suite (t3350)
+ . Add git-sequencer prototype documentation
+ . Add git-sequencer shell prototype
+
+* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
+ - [BROKEN wrt shallow clones] Ignore graft during object transfer
+
+Cloning or fetching from a repository from grafts did not send objects
+that are hidden by grafts, but the commits in the resulting repository do
+need these to pass fsck.  This fixes object transfer to ignore grafts.
+
+Another fix is needed to git-prune so that it ignores grafts but treats
+commits that are mentioned in grafts as reachable.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+The blame that finds where each line in the original lines moved to.  This
+may help a GSoC project that wants to gather statistical overview of the
+history.  The final presentation may need tweaking (see the log message of
+the commit ""git-blame --reverse" on the series).
+
+The tip two commits are for peeling to see what's behind the blamed
+commit, which we should be able to separate out into an independent topic
+from the rest.
+
diff --git a/whats/cooking/2008/07/05.txt b/whats/cooking/2008/07/05.txt
new file mode 100644 (file)
index 0000000..b5cd395
--- /dev/null
@@ -0,0 +1,303 @@
+What's cooking in git.git (Jul 2008, issue #05; Sun, 13)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be merged to the maintenance series have "maint-" in their names.
+
+I think most of the important stuff is already in 'next'.  Let's start
+talking about closing the merge window for 1.6.0.
+
+----------------------------------------------------------------
+[New Topics]
+
+* sb/dashless (Sun Jul 13 15:36:15 2008 +0200) 3 commits
+ - Make usage strings dash-less
+ - t/: Use "test_must_fail git" instead of "! git"
+ - t/test-lib.sh: exit with small negagive int is ok with
+   test_must_fail
+
+* mv/dashless (Fri Jul 11 02:12:06 2008 +0200) 4 commits
+ - make remove-dashes: apply to scripts and programs as well, not
+   just to builtins
+ - git-bisect: use dash-less form on git bisect log
+ - t1007-hash-object.sh: use quotes for the test description
+ - t0001-init.sh: change confusing directory name
+
+* sp/maint-bash-completion-optim (Mon Jul 14 00:22:03 2008 +0000) 1 commit
+ + bash completion: Append space after file names have been completed
+
+Early parts are already merged to 'master' and need to be merged down to
+maint as well, as this is about a "performance bug" that has been with us
+almost forever.
+
+* ag/rewrite_one (Sat Jul 12 22:00:57 2008 +0400) 1 commit
+ + Fix quadratic performance in rewrite_one.
+
+* sp/win (Fri Jul 11 18:52:42 2008 +0200) 3 commits
+ + We need to check for msys as well as Windows in add--interactive.
+ + Convert CR/LF to LF in tag signatures
+ + Fixed text file auto-detection: treat EOF character 032 at the end
+   of file as printable
+
+* js/merge-rr (Sat Jul 12 15:56:19 2008 +0100) 2 commits
+ + Move MERGE_RR from .git/rr-cache/ into .git/
+ + builtin-rerere: more carefully find conflict markers
+
+* sb/rerere-lib (Wed Jul 9 14:58:57 2008 +0200) 2 commits
+ + rerere: Separate libgit and builtin functions
+ + builtin-rerere: more carefully find conflict markers
+
+* ls/mailinfo (Sun Jul 13 20:30:12 2008 +0200) 3 commits
+ - git-mailinfo: use strbuf's instead of fixed buffers
+ - Add some useful functions for strbuf manipulation.
+ - Make some strbuf_*() struct strbuf arguments const.
+
+* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
+ - cherry: cache patch-ids to avoid repeating work
+
+This does not seem to pass tests even on its own.
+
+* js/maint-pretty-mailmap (Sat Jul 12 00:28:18 2008 +0100) 1 commit
+ + Add pretty format %aN which gives the author name, respecting
+   .mailmap
+
+* js/more-win (Sun Jul 13 22:31:23 2008 +0200) 6 commits
+ - Allow add_path() to add non-existent directories to the path
+ - Allow the built-in exec path to be relative to the command
+   invocation path
+ - Fix relative built-in paths to be relative to the command
+   invocation
+ + help (Windows): Display HTML in default browser using Windows'
+   shell API
+ + help.c: Add support for htmldir relative to git_exec_path()
+ + Move code interpreting path relative to exec-dir to new function
+   system_path()
+
+The earlier parts are obvious; Dscho seemed to have some comments on the
+later ones that are in 'pu'.
+
+* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
+ - gitweb: use new Git::Repo API, and add optional caching
+ - Add new Git::Repo API
+ - gitweb: add test suite with Test::WWW::Mechanize::CGI
+
+This does not pass t9710, at least for me X-<.
+
+----------------------------------------------------------------
+[Will merge to master soon]
+
+* jc/rebase-orig-head (Tue Jul 8 00:12:22 2008 -0400) 2 commits
+ + Documentation: mention ORIG_HEAD in am, merge, and rebase
+ + Teach "am" and "rebase" to mark the original position with
+   ORIG_HEAD
+
+* jc/branch-merged (Tue Jul 8 17:55:47 2008 -0700) 3 commits
+ + branch --merged/--no-merged: allow specifying arbitrary commit
+ + branch --contains: default to HEAD
+ + parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
+
+This builds on top of the parse-options enhancement series that
+has been cooking in 'next' for some time.
+
+* om/rerere-careful (Mon Jul 7 14:42:48 2008 +0200) 1 commit
+ + builtin-rerere: more carefully find conflict markers
+
+* ls/maint-mailinfo-patch-label (Thu Jul 10 23:41:33 2008 +0200) 1 commit
+ + git-mailinfo: Fix getting the subject from the in-body [PATCH]
+   line
+
+----------------------------------------------------------------
+[Actively Cooking]
+
+* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
+ + Teach git-merge -X<option> again.
+ + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
+ + builtin-merge.c: use parse_options_step() "incremental parsing"
+   machinery
+ + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
+
+I've described what this is in a separate message.
+
+* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
+ - Documentation: Improve documentation for git-imap-send(1)
+ - imap-send.c: more style fixes
+ - imap-send.c: style fixes
+ - git-imap-send: Support SSL
+ - git-imap-send: Allow the program to be run from subdirectories of
+   a git tree
+
+Some people seem to prefer having this feature available also with gnutls.
+If such a patch materializes soon, that would be good, but otherwise I'll
+merge this as-is to 'next'.  Such an enhancement can be done in-tree on
+top of this series.
+
+* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
+ + Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-pull to pass -X<option> to git-merge
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but still
+salvaging the parts that are cleanly automerged.  It is likely that this
+will result in nonsense mishmash, but somehow often people want this, so
+here they are.  The interface to the backends is updated so that you can
+say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now.
+
+* mv/merge-in-c (Sun Jul 13 08:13:55 2008 +0000) 19 commits
+ + reduce_heads(): thinkofix
+ + Add a new test for git-merge-resolve
+ + t6021: add a new test for git-merge-resolve
+ + Teach merge.log to "git-merge" again
+ + Build in merge
+ + Fix t7601-merge-pull-config.sh on AIX
+ + git-commit-tree: make it usable from other builtins
+ + Add new test case to ensure git-merge prepends the custom merge
+   message
+ + Add new test case to ensure git-merge reduces octopus parents when
+   possible
+ + Introduce reduce_heads()
+ + Introduce get_merge_bases_many()
+ + Add new test to ensure git-merge handles more than 25 refs.
+ + Introduce get_octopus_merge_bases() in commit.c
+ + git-fmt-merge-msg: make it usable from other builtins
+ + Move read_cache_unmerged() to read-cache.c
+ + Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ + Move parse-options's skip_prefix() to git-compat-util.h
+ + Move commit_list_count() to commit.c
+ + Move split_cmdline() to alias.c
+
+Sverre seems to have a yet another fixup on top of this that came late and
+I haven't looked at.
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
+ + Allow cherry-picking root commits
+
+* ab/bundle (Sat Jul 5 17:26:40 2008 -0400) 1 commit
+ + Teach git-bundle to read revision arguments from stdin like git-
+   rev-list.
+
+* sg/stash-k-i (Tue Jul 8 00:40:56 2008 -0700) 2 commits
+ + Documentation: tweak use case in "git stash save --keep-index"
+ + stash: introduce 'stash save --keep-index' option
+
+One weakness of our "partial commit" workflow support used to be that the
+user can incrementally build what is to be committed in the index but that
+state cannot be tested as a whole in the working tree.  This allows you to
+temporarily stash the remaining changes in the working tree so that the
+index state before running "stash save --keep-index" can be seen in the
+working tree to be tested and then committed.
+
+* am/stash-branch (Mon Jul 7 02:50:10 2008 +0530) 2 commits
+ + Add a test for "git stash branch"
+ + Implement "git stash branch <newbranch> <stash>"
+
+Creates a new branch out of the stashed state, after returning from the
+interrupt that forced you to create the stash in the first place.
+
+* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
+ + git-add--interactive: manual hunk editing mode
+ + git-add--interactive: remove hunk coalescing
+ + git-add--interactive: replace hunk recounting with apply --recount
+
+Adds 'e/dit' action to interactive add command.
+
+* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
+ + branch -r -v: do not spit out garbage
+ + stat_tracking_info(): clear object flags used during counting
+ + git-branch -v: show the remote tracking statistics
+ + git-status: show the remote tracking statistics
+ + Refactor "tracking statistics" code used by "git checkout"
+
+Makes the "your branch is ahead of the tracked one by N commits" logic and
+messages available to other commands; status and branch are updated.
+
+* ph/parseopt-step-blame (Wed Jul 9 23:38:34 2008 +0200) 18 commits
+ + revisions: refactor handle_revision_opt into parse_revision_opt.
+ + git-shortlog: migrate to parse-options partially.
+ + git-blame: fix lapsus
+ + git-blame: migrate to incremental parse-option [2/2]
+ + git-blame: migrate to incremental parse-option [1/2]
+ + revisions: split handle_revision_opt() from setup_revisions()
+ + Merge branch 'jc/blame' (early part) into HEAD
+ + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+ + parse-opt: fake short strings for callers to believe in.
+ + parse-opt: do not print errors on unknown options, return -2
+   intead.
+ + parse-opt: create parse_options_step.
+ + parse-opt: Export a non NORETURN usage dumper.
+ + parse-opt: have parse_options_{start,end}.
+ + git-blame --reverse
+ + builtin-blame.c: allow more than 16 parents
+ + builtin-blame.c: move prepare_final() into a separate function.
+ + rev-list --children
+ + revision traversal: --children option
+
+Became active again ;-) This probably is ready for 'master' already,
+except for the last two which I only looked at the patch and have not
+used heavily in production yet.
+
+----------------------------------------------------------------
+[On Hold]
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+This was previously in "will be in master soon" category, but it turns out
+that the synonyms to the ones this one deletes are fairly new invention
+that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps
+in 1.7.0.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+
+This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
+timeframe.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
+ . Migrate git-am to use git-sequencer
+ . Add git-sequencer test suite (t3350)
+ . Add git-sequencer prototype documentation
+ . Add git-sequencer shell prototype
+
+* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
+ - [BROKEN wrt shallow clones] Ignore graft during object transfer
+
+Cloning or fetching from a repository from grafts did not send objects
+that are hidden by grafts, but the commits in the resulting repository do
+need these to pass fsck.  This fixes object transfer to ignore grafts.
+
+Another fix is needed to git-prune so that it ignores grafts but treats
+commits that are mentioned in grafts as reachable.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+
+This is for peeling to see what's behind the blamed commit, which may or
+may not help applications like gitweb.
+
+
diff --git a/whats/cooking/2008/07/06.txt b/whats/cooking/2008/07/06.txt
new file mode 100644 (file)
index 0000000..4a7c45b
--- /dev/null
@@ -0,0 +1,244 @@
+What's cooking in git.git (Jul 2008, issue #06; Tue, 15)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be merged to the maintenance series have "maint-" in their names.
+
+It so happens that the topics clearly separated between the ones that are
+obviously ready for 1.6.0 and the others that aren't yet as of tonight.
+It seems that it is a good time to draw that line and tag -rc0 tomorrow,
+after merging the remaining topics in 'next'.
+
+----------------------------------------------------------------
+[New Topics]
+
+I could apply these directly to master, but I am just playing it safe.
+
+* sp/maint-index-pack (Tue Jul 15 04:45:34 2008 +0000) 4 commits
+ + index-pack: Honor core.deltaBaseCacheLimit when resolving deltas
+ + index-pack: Track the object_entry that creates each base_data
+ + index-pack: Chain the struct base_data on the stack for traversal
+ + index-pack: Refactor base arguments of resolve_delta into a struct
+
+* rs/rebase-checkout-not-so-quiet (Mon Jul 14 14:05:35 2008 -0700) 1 commit
+ + git-rebase: report checkout failure
+
+* ag/blame (Wed Jul 16 02:00:58 2008 +0400) 2 commits
+ + Do not try to detect move/copy for entries below threshold.
+ + Avoid rescanning unchanged entries in search for copies.
+
+This gives a drastic performance improvement to "git-blame -C -C" with
+quite straightforward and obvious code change.
+
+* rs/archive (Mon Jul 14 21:22:05 2008 +0200) 6 commits
+ + archive: remove extra arguments parsing code
+ + archive: unify file attribute handling
+ + archive: centralize archive entry writing
+ + archive: add baselen member to struct archiver_args
+ + add context pointer to read_tree_recursive()
+ + archive: remove args member from struct archiver
+
+----------------------------------------------------------------
+[Will merge to master soon]
+
+* sb/dashless (Sun Jul 13 15:36:15 2008 +0200) 3 commits
+ + Make usage strings dash-less
+ + t/: Use "test_must_fail git" instead of "! git"
+ + t/test-lib.sh: exit with small negagive int is ok with
+   test_must_fail
+
+* mv/dashless (Fri Jul 11 02:12:06 2008 +0200) 4 commits
+ + make remove-dashes: apply to scripts and programs as well, not
+   just to builtins
+ + git-bisect: use dash-less form on git bisect log
+ + t1007-hash-object.sh: use quotes for the test description
+ + t0001-init.sh: change confusing directory name
+
+* ls/mailinfo (Sun Jul 13 20:30:12 2008 +0200) 3 commits
+ + git-mailinfo: use strbuf's instead of fixed buffers
+ + Add some useful functions for strbuf manipulation.
+ + Make some strbuf_*() struct strbuf arguments const.
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+* sp/maint-bash-completion-optim (Mon Jul 14 00:22:03 2008 +0000) 1 commit
+ + bash completion: Append space after file names have been completed
+
+Early parts were already merged to 'master' and need to be merged down to
+maint as well, as this is about a "performance bug" that has been with us
+almost forever.
+
+* ag/rewrite_one (Sat Jul 12 22:00:57 2008 +0400) 1 commit
+ + Fix quadratic performance in rewrite_one.
+
+* sp/win (Fri Jul 11 18:52:42 2008 +0200) 3 commits
+ + We need to check for msys as well as Windows in add--interactive.
+ + Convert CR/LF to LF in tag signatures
+ + Fixed text file auto-detection: treat EOF character 032 at the end
+   of file as printable
+
+* js/merge-rr (Sat Jul 12 15:56:19 2008 +0100) 2 commits
+ + Move MERGE_RR from .git/rr-cache/ into .git/
+ + builtin-rerere: more carefully find conflict markers
+
+* sb/rerere-lib (Wed Jul 9 14:58:57 2008 +0200) 2 commits
+ + rerere: Separate libgit and builtin functions
+ + builtin-rerere: more carefully find conflict markers
+
+* js/maint-pretty-mailmap (Sat Jul 12 00:28:18 2008 +0100) 1 commit
+ + Add pretty format %aN which gives the author name, respecting
+   .mailmap
+
+* js/more-win (Sun Jul 13 22:31:23 2008 +0200) 3 commits
+ + help (Windows): Display HTML in default browser using Windows'
+   shell API
+ + help.c: Add support for htmldir relative to git_exec_path()
+ + Move code interpreting path relative to exec-dir to new function
+   system_path()
+
+* jc/rebase-orig-head (Tue Jul 8 00:12:22 2008 -0400) 2 commits
+ + Documentation: mention ORIG_HEAD in am, merge, and rebase
+ + Teach "am" and "rebase" to mark the original position with
+   ORIG_HEAD
+
+* jc/branch-merged (Tue Jul 8 17:55:47 2008 -0700) 3 commits
+ + branch --merged/--no-merged: allow specifying arbitrary commit
+ + branch --contains: default to HEAD
+ + parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
+
+* om/rerere-careful (Mon Jul 7 14:42:48 2008 +0200) 1 commit
+ + builtin-rerere: more carefully find conflict markers
+
+* ls/maint-mailinfo-patch-label (Thu Jul 10 23:41:33 2008 +0200) 1 commit
+ + git-mailinfo: Fix getting the subject from the in-body [PATCH]
+   line
+
+* mv/merge-in-c (Mon Jul 14 00:09:41 2008 -0700) 20 commits
+ + reduce_heads(): protect from duplicate input
+ + reduce_heads(): thinkofix
+ + Add a new test for git-merge-resolve
+ + t6021: add a new test for git-merge-resolve
+ + Teach merge.log to "git-merge" again
+ + Build in merge
+ + Fix t7601-merge-pull-config.sh on AIX
+ + git-commit-tree: make it usable from other builtins
+ + Add new test case to ensure git-merge prepends the custom merge
+   message
+ + Add new test case to ensure git-merge reduces octopus parents when
+   possible
+ + Introduce reduce_heads()
+ + Introduce get_merge_bases_many()
+ + Add new test to ensure git-merge handles more than 25 refs.
+ + Introduce get_octopus_merge_bases() in commit.c
+ + git-fmt-merge-msg: make it usable from other builtins
+ + Move read_cache_unmerged() to read-cache.c
+ + Add new test to ensure git-merge handles pull.twohead and
+   pull.octopus
+ + Move parse-options's skip_prefix() to git-compat-util.h
+ + Move commit_list_count() to commit.c
+ + Move split_cmdline() to alias.c
+
+----------------------------------------------------------------
+[On Hold]
+
+* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
+ - Documentation: Improve documentation for git-imap-send(1)
+ - imap-send.c: more style fixes
+ - imap-send.c: style fixes
+ - git-imap-send: Support SSL
+ - git-imap-send: Allow the program to be run from subdirectories of
+   a git tree
+
+Some people seem to prefer having this feature available also with gnutls.
+If such a patch materializes soon, that would be good, but otherwise I'll
+merge this as-is to 'next'.  Such an enhancement can be done in-tree on
+top of this series.
+
+* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
+ + Teach git-merge -X<option> again.
+ + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
+ + builtin-merge.c: use parse_options_step() "incremental parsing"
+   machinery
+ + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
+
+This needs to be merged to master iff/when merge-theirs gets merged,
+but I do not think this series is widely supported, so both are on hold.
+
+* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
+ + Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-pull to pass -X<option> to git-merge
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but still
+salvaging the parts that are cleanly automerged.  It is likely that this
+will result in nonsense mishmash, but somehow often people want this, so
+here they are.  The interface to the backends is updated so that you can
+say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now.
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+This was previously in "will be in master soon" category, but it turns out
+that the synonyms to the ones this one deletes are fairly new invention
+that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps
+in 1.7.0.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+
+This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
+timeframe.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
+ . cherry: cache patch-ids to avoid repeating work
+
+* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
+ . gitweb: use new Git::Repo API, and add optional caching
+ . Add new Git::Repo API
+ . gitweb: add test suite with Test::WWW::Mechanize::CGI
+
+* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
+ . Migrate git-am to use git-sequencer
+ . Add git-sequencer test suite (t3350)
+ . Add git-sequencer prototype documentation
+ . Add git-sequencer shell prototype
+
+* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
+ - [BROKEN wrt shallow clones] Ignore graft during object transfer
+
+Cloning or fetching from a repository from grafts did not send objects
+that are hidden by grafts, but the commits in the resulting repository do
+need these to pass fsck.  This fixes object transfer to ignore grafts.
+
+Another fix is needed to git-prune so that it ignores grafts but treats
+commits that are mentioned in grafts as reachable.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+
+This is for peeling to see what's behind the blamed commit, which may or
+may not help applications like gitweb.
+
diff --git a/whats/cooking/2008/07/07.txt b/whats/cooking/2008/07/07.txt
new file mode 100644 (file)
index 0000000..5f0e2f2
--- /dev/null
@@ -0,0 +1,233 @@
+What's cooking in git.git (Jul 2008, issue #07; Thu, 17)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be merged to the maintenance series have "maint-" in their names.
+
+Right now 'next' is very thin.  After today's new topics, perhaps except
+for the submodule stuff by Pasky, are merged to 'master', we will have the
+1.6.0-rc0, and from there the usual pre-release freeze begins.
+
+Due to increased activity level from people including GSoC students, I
+expect 'next' to stay somewhat more active than previous rounds during the
+1.6.0-rc cycle.  The request for people who usually follow 'next' is the
+same as usual, though.  After -rc1 is tagged, please run 'master' for your
+daily git use instead, in order to make sure 'master' does what it claims
+to do without regression.
+
+Tentative schedule, my wishful thinking:
+
+ - 1.6.0-rc0 (Jul 20)
+ - 1.6.0-rc1 (Jul 23)
+ - 1.6.0-rc2 (Jul 30)
+ - 1.6.0-rc3 (Aug  6)
+ - 1.6.0     (Aug 10)
+
+----------------------------------------------------------------
+[New Topics]
+
+* jc/rerere-auto-more (Wed Jul 16 20:25:18 2008 -0700) 1 commit
+ - rerere.autoupdate: change the message when autoupdate is in effect
+
+This one is for Ingo.
+
+This changes the message rerere issues after reusing previous conflict
+resolution from "Resolved" to "Staged" when autoupdate option is in
+effect.
+
+It is envisioned that in practice, some auto resolutions are trickier and
+iffier than others, and we would want to add a feature to mark individual
+resolutions as "this is ok to autoupdate" or "do not autoupdate the result
+using this resolution even when rerere.autoupdate is in effect" in the
+future.  When that happens, these messages will make the distinction
+clearer.
+
+* ap/trackinfo (Wed Jul 16 15:19:27 2008 -0400) 1 commit
+ - Reword "your branch has diverged..." lines to reduce line length
+
+You saw the exchange on the list.  Queued is my "make it shorter and make
+sure variable parts are closer to left edge of the screen" version but
+better alternatives are welcome.  I suspect not many people would care too
+much about details, as long as the message fits and does not waste screen
+real estate.
+
+* ns/am-abort (Wed Jul 16 19:39:10 2008 +0900) 1 commit
+ - git am --abort
+
+This one is for Ted; builds on top of the recent "am and rebase leaves
+ORIG_HEAD just like reset, merge and pull does" rather nicely.
+
+* pb/submodule (Wed Jul 16 21:11:40 2008 +0200) 7 commits
+ - t7403: Submodule git mv, git rm testsuite
+ - git rm: Support for removing submodules
+ - git mv: Support moving submodules
+ - submodule.*: Introduce simple C interface for submodule lookup by
+   path
+ - git submodule add: Fix naming clash handling
+ - t7400: Add short "git submodule add" testsuite
+ - git-mv: Remove dead code branch
+
+Long overdue usability improvement series for submodule.  Very much
+welcomed.  It would be nice to have some submodule improvements in 1.6.0.
+Realistically speaking, however, I predict that it would take us a few
+more rounds to hit 'next' with this, and it will not be in 'master' when
+1.6.0 ships.
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+* sp/maint-index-pack (Tue Jul 15 04:45:34 2008 +0000) 4 commits
+ + index-pack: Honor core.deltaBaseCacheLimit when resolving deltas
+ + index-pack: Track the object_entry that creates each base_data
+ + index-pack: Chain the struct base_data on the stack for traversal
+ + index-pack: Refactor base arguments of resolve_delta into a struct
+
+* rs/rebase-checkout-not-so-quiet (Mon Jul 14 14:05:35 2008 -0700) 1 commit
+ + git-rebase: report checkout failure
+
+* ag/blame (Wed Jul 16 02:00:58 2008 +0400) 2 commits
+ + Do not try to detect move/copy for entries below threshold.
+ + Avoid rescanning unchanged entries in search for copies.
+
+This gives a drastic performance improvement to "git-blame -C -C" with
+quite straightforward and obvious code change.
+
+* rs/archive (Mon Jul 14 21:22:05 2008 +0200) 6 commits
+ + archive: remove extra arguments parsing code
+ + archive: unify file attribute handling
+ + archive: centralize archive entry writing
+ + archive: add baselen member to struct archiver_args
+ + add context pointer to read_tree_recursive()
+ + archive: remove args member from struct archiver
+
+* sb/dashless (Sun Jul 13 15:36:15 2008 +0200) 3 commits
+ + Make usage strings dash-less
+ + t/: Use "test_must_fail git" instead of "! git"
+ + t/test-lib.sh: exit with small negagive int is ok with
+   test_must_fail
+
+* mv/dashless (Fri Jul 11 02:12:06 2008 +0200) 4 commits
+ + make remove-dashes: apply to scripts and programs as well, not
+   just to builtins
+ + git-bisect: use dash-less form on git bisect log
+ + t1007-hash-object.sh: use quotes for the test description
+ + t0001-init.sh: change confusing directory name
+
+* ls/mailinfo (Sun Jul 13 20:30:12 2008 +0200) 3 commits
+ + git-mailinfo: use strbuf's instead of fixed buffers
+ + Add some useful functions for strbuf manipulation.
+ + Make some strbuf_*() struct strbuf arguments const.
+
+This actually had a tiny regression I did not discover until I merged it
+to 'master', where a fixup has already been applied.
+
+----------------------------------------------------------------
+[On Hold]
+
+* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
+ - Documentation: Improve documentation for git-imap-send(1)
+ - imap-send.c: more style fixes
+ - imap-send.c: style fixes
+ - git-imap-send: Support SSL
+ - git-imap-send: Allow the program to be run from subdirectories of
+   a git tree
+
+I said: "Some people seem to prefer having this feature available also
+with gnutls.  If such a patch materializes soon, that would be good, but
+otherwise I'll merge this as-is to 'next'.  Such an enhancement can be
+done in-tree on top of this series."  Anybody?
+
+* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
+ + Teach git-merge -X<option> again.
+ + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
+ + builtin-merge.c: use parse_options_step() "incremental parsing"
+   machinery
+ + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
+
+This needs to be merged to master iff/when merge-theirs gets merged,
+but I do not think this series is widely supported, so both are on hold.
+
+* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
+ + Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-pull to pass -X<option> to git-merge
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+Punting a merge by discarding your own work in conflicting parts but still
+salvaging the parts that are cleanly automerged.  It is likely that this
+will result in nonsense mishmash, but somehow often people want this, so
+here they are.  The interface to the backends is updated so that you can
+say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now.
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+This was previously in "will be in master soon" category, but it turns out
+that the synonyms to the ones this one deletes are fairly new invention
+that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps
+in 1.7.0.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+
+This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
+timeframe.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
+ . cherry: cache patch-ids to avoid repeating work
+
+The discussion suggested that the value of having the cache itself is
+iffy, but I should pick up the updated one and look at it.
+
+* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
+ . gitweb: use new Git::Repo API, and add optional caching
+ . Add new Git::Repo API
+ . gitweb: add test suite with Test::WWW::Mechanize::CGI
+
+* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
+ . Migrate git-am to use git-sequencer
+ . Add git-sequencer test suite (t3350)
+ . Add git-sequencer prototype documentation
+ . Add git-sequencer shell prototype
+
+I haven't looked at the updated series yet.  I should, but nobody else
+seems to be looking at these patches, which is somewhat depressing but
+understandable.  Summer is slower ;-)
+
+* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
+ - [BROKEN wrt shallow clones] Ignore graft during object transfer
+
+Cloning or fetching from a repository from grafts did not send objects
+that are hidden by grafts, but the commits in the resulting repository do
+need these to pass fsck.  This fixes object transfer to ignore grafts.
+
+Another fix is needed to git-prune so that it ignores grafts but treats
+commits that are mentioned in grafts as reachable.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+
+This is for peeling the line from the blamed version to see what's behind
+it, which may or may not help applications like gitweb.
+
diff --git a/whats/cooking/2008/07/08.txt b/whats/cooking/2008/07/08.txt
new file mode 100644 (file)
index 0000000..6b8d02b
--- /dev/null
@@ -0,0 +1,180 @@
+What's cooking in git.git (Jul 2008, issue #08; Sat, 19)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be merged to the maintenance series have "maint-" in their names.
+
+Due to increased activity level from people including GSoC students, I
+expect 'next' to stay somewhat more active than previous rounds during the
+1.6.0-rc cycle.  The request for people who usually follow 'next' is the
+same as usual, though.  After -rc1 is tagged, please run 'master' for your
+daily git use instead, in order to make sure 'master' does what it claims
+to do without regression.
+
+Tentative schedule, my wishful thinking:
+
+ - 1.6.0-rc0 (Jul 20)
+ - 1.6.0-rc1 (Jul 23)
+ - 1.6.0-rc2 (Jul 30)
+ - 1.6.0-rc3 (Aug  6)
+ - 1.6.0     (Aug 10)
+
+No real activity on 'next', as I was busy tending bugfixes and pushing out
+v1.5.6.4 today.
+
+----------------------------------------------------------------
+[Will merge to "master" soon]
+
+* ns/am-abort (Wed Jul 16 19:39:10 2008 +0900) 1 commit
+ + git am --abort
+
+This one is for Ted; builds on top of the recent "am and rebase leaves
+ORIG_HEAD just like reset, merge and pull does" rather nicely.
+
+* jc/rerere-auto-more (Wed Jul 16 20:25:18 2008 -0700) 1 commit
+ + rerere.autoupdate: change the message when autoupdate is in effect
+
+This one is for Ingo.
+
+This changes the message rerere issues after reusing previous conflict
+resolution from "Resolved" to "Staged" when autoupdate option is in
+effect.
+
+It is envisioned that in practice, some auto resolutions are trickier and
+iffier than others, and we would want to add a feature to mark individual
+resolutions as "this is ok to autoupdate" or "do not autoupdate the result
+using this resolution even when rerere.autoupdate is in effect" in the
+future.  When that happens, these messages will make the distinction
+clearer.
+
+* ap/trackinfo (Wed Jul 16 15:19:27 2008 -0400) 1 commit
+ + Reword "your branch has diverged..." lines to reduce line length
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
+ - Documentation: Improve documentation for git-imap-send(1)
+ - imap-send.c: more style fixes
+ - imap-send.c: style fixes
+ - git-imap-send: Support SSL
+ - git-imap-send: Allow the program to be run from subdirectories of
+   a git tree
+
+I said: "Some people seem to prefer having this feature available also
+with gnutls.  If such a patch materializes soon, that would be good, but
+otherwise I'll merge this as-is to 'next'.  Such an enhancement can be
+done in-tree on top of this series."  Anybody?
+
+* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
+ . cherry: cache patch-ids to avoid repeating work
+
+The discussion suggested that the value of having the cache itself is
+iffy, but I should pick up the updated one and look at it.
+
+* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
+ . gitweb: use new Git::Repo API, and add optional caching
+ . Add new Git::Repo API
+ . gitweb: add test suite with Test::WWW::Mechanize::CGI
+
+* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
+ . Migrate git-am to use git-sequencer
+ . Add git-sequencer test suite (t3350)
+ . Add git-sequencer prototype documentation
+ . Add git-sequencer shell prototype
+
+I haven't looked at the updated series yet.  I should, but nobody else
+seems to be looking at these patches, which is somewhat depressing but
+understandable.  Summer is slower ;-)
+
+* pb/submodule (Wed Jul 16 21:11:40 2008 +0200) 7 commits
+ . t7403: Submodule git mv, git rm testsuite
+ . git rm: Support for removing submodules
+ . git mv: Support moving submodules
+ . submodule.*: Introduce simple C interface for submodule lookup by
+   path
+ . git submodule add: Fix naming clash handling
+ . t7400: Add short "git submodule add" testsuite
+ . git-mv: Remove dead code branch
+
+Long overdue usability improvement series for submodule.  Very much
+welcomed.  It would be nice to have some submodule improvements in 1.6.0,
+but it would take us a few more rounds to hit 'next' with this, and it
+will not be in 'master' when 1.6.0 ships.
+
+* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
+ - [BROKEN wrt shallow clones] Ignore graft during object transfer
+
+Cloning or fetching from a repository from grafts did not send objects
+that are hidden by grafts, but the commits in the resulting repository do
+need these to pass fsck.  This fixes object transfer to ignore grafts.
+
+Another fix is needed to git-prune so that it ignores grafts but treats
+commits that are mentioned in grafts as reachable.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+
+This is for peeling the line from the blamed version to see what's behind
+it, which may or may not help applications like gitweb.
+
+----------------------------------------------------------------
+[Will drop]
+
+* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
+ + Teach git-merge -X<option> again.
+ + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
+ + builtin-merge.c: use parse_options_step() "incremental parsing"
+   machinery
+ + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
+
+* jc/merge-theirs (Fri Jul 18 02:43:00 2008 -0700) 6 commits
+ - Document that merge strategies can now take their own options
+ + Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-pull to pass -X<option> to git-merge
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+It appears nobody wants "theirs" nor "ours", so I'll soon apply a
+wholesale revert for these series to 'next', and then these will be
+dropped when we rewind 'next' after 1.6.0 final.
+
+Please make sure next time somebody asks "ours/theirs" merge on the list
+and #git s/he is quickly told that it was unanimously rejected so that
+people do not have to waste time rehashing the topic ever again.
+
+----------------------------------------------------------------
+[On Hold]
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+This was previously in "will be in master soon" category, but it turns out
+that the synonyms to the ones this one deletes are fairly new invention
+that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps
+in 1.7.0.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+
+This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
+timeframe.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
diff --git a/whats/cooking/2008/07/09.txt b/whats/cooking/2008/07/09.txt
new file mode 100644 (file)
index 0000000..0620c89
--- /dev/null
@@ -0,0 +1,198 @@
+What's cooking in git.git (Jul 2008, issue #09; Sun, 20)
+--------------------------------------------------------
+
+Here are the topics that have been cooking.  Commits prefixed
+with '-' are only in 'pu' while commits prefixed with '+' are
+in 'next'.
+
+The topics list the commits in reverse chronological order.  The topics
+meant to be merged to the maintenance series have "maint-" in their names.
+
+Due to increased activity level from people including GSoC students, I
+expect 'next' to stay somewhat more active than previous rounds during the
+1.6.0-rc cycle.  The request for people who usually follow 'next' is the
+same as usual, though.  After -rc1 is tagged, please run 'master' for your
+daily git use instead, in order to make sure 'master' does what it claims
+to do without regression.
+
+Tentative schedule, my wishful thinking:
+
+ - 1.6.0-rc0 (Jul 20)
+ - 1.6.0-rc1 (Jul 23)
+ - 1.6.0-rc2 (Jul 30)
+ - 1.6.0-rc3 (Aug  6)
+ - 1.6.0     (Aug 10)
+
+----------------------------------------------------------------
+[New Topics]
+
+* pb/sane-mv (Mon Jul 21 02:25:56 2008 +0200) 2 commits
+ - git-mv: Keep moved index entries inact
+ - git-mv: Remove dead code branch
+
+Running "git mv A B" when you have local changes to A automatically staged
+it while moving it to B, which was a longstanding nonsense.  This attempts
+to fix it.  Pasky has other plans to build on a more solidified foundation
+to enhance the command to work with submodules better on top of this.
+
+----------------------------------------------------------------
+[Graduated to "master"]
+
+* ns/am-abort (Wed Jul 16 19:39:10 2008 +0900) 1 commit
+ + git am --abort
+
+This one is for Ted; builds on top of the recent "am and rebase leaves
+ORIG_HEAD just like reset, merge and pull does" rather nicely.
+
+* jc/rerere-auto-more (Wed Jul 16 20:25:18 2008 -0700) 1 commit
+ + rerere.autoupdate: change the message when autoupdate is in effect
+
+This one is for Ingo.
+
+This changes the message rerere issues after reusing previous conflict
+resolution from "Resolved" to "Staged" when autoupdate option is in
+effect.
+
+It is envisioned that in practice, some auto resolutions are trickier and
+iffier than others, and we would want to add a feature to mark individual
+resolutions as "this is ok to autoupdate" or "do not autoupdate the result
+using this resolution even when rerere.autoupdate is in effect" in the
+future.  When that happens, these messages will make the distinction
+clearer.
+
+* ap/trackinfo (Wed Jul 16 15:19:27 2008 -0400) 1 commit
+ + Reword "your branch has diverged..." lines to reduce line length
+
+* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
+ + Teach git-merge -X<option> again.
+ + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
+ + builtin-merge.c: use parse_options_step() "incremental parsing"
+   machinery
+ + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
+
+* jc/merge-theirs (Fri Jul 18 02:43:00 2008 -0700) 6 commits
+ - Document that merge strategies can now take their own options
+ + Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-pull to pass -X<option> to git-merge
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+It appears nobody wants "theirs" nor "ours", so I'll soon apply a
+wholesale revert for these series to 'next', and then these will be
+dropped when we rewind 'next' after 1.6.0 final.
+
+Please make sure next time somebody asks "ours/theirs" merge on the list
+and #git s/he is quickly told that it was unanimously rejected so that
+people do not have to waste time rehashing the topic ever again.
+
+----------------------------------------------------------------
+[Stalled/Needs more work]
+
+* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
+ - Documentation: Improve documentation for git-imap-send(1)
+ - imap-send.c: more style fixes
+ - imap-send.c: style fixes
+ - git-imap-send: Support SSL
+ - git-imap-send: Allow the program to be run from subdirectories of
+   a git tree
+
+I said: "Some people seem to prefer having this feature available also
+with gnutls.  If such a patch materializes soon, that would be good, but
+otherwise I'll merge this as-is to 'next'.  Such an enhancement can be
+done in-tree on top of this series."  Anybody?
+
+* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
+ . cherry: cache patch-ids to avoid repeating work
+
+The discussion suggested that the value of having the cache itself is
+iffy, but I should pick up the updated one and look at it.
+
+* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
+ . gitweb: use new Git::Repo API, and add optional caching
+ . Add new Git::Repo API
+ . gitweb: add test suite with Test::WWW::Mechanize::CGI
+
+* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
+ . Migrate git-am to use git-sequencer
+ . Add git-sequencer test suite (t3350)
+ . Add git-sequencer prototype documentation
+ . Add git-sequencer shell prototype
+
+I haven't looked at the updated series yet.  I should, but nobody else
+seems to be looking at these patches, which is somewhat depressing but
+understandable.  Summer is slower ;-)
+
+* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
+ - [BROKEN wrt shallow clones] Ignore graft during object transfer
+
+Cloning or fetching from a repository from grafts did not send objects
+that are hidden by grafts, but the commits in the resulting repository do
+need these to pass fsck.  This fixes object transfer to ignore grafts.
+
+Another fix is needed to git-prune so that it ignores grafts but treats
+commits that are mentioned in grafts as reachable.
+
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
+ - blame: show "previous" information in --porcelain/--incremental
+   format
+ - git-blame: refactor code to emit "porcelain format" output
+
+This is for peeling the line from the blamed version to see what's behind
+it, which may or may not help applications like gitweb.
+
+----------------------------------------------------------------
+[Dropped]
+
+* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
+ + Teach git-merge -X<option> again.
+ + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
+ + builtin-merge.c: use parse_options_step() "incremental parsing"
+   machinery
+ + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
+
+* jc/merge-theirs (Fri Jul 18 02:43:00 2008 -0700) 6 commits
+ - Document that merge strategies can now take their own options
+ + Make "subtree" part more orthogonal to the rest of merge-
+   recursive.
+ + Teach git-pull to pass -X<option> to git-merge
+ + Teach git-merge to pass -X<option> to the backend strategy module
+ + git-merge-recursive-{ours,theirs}
+ + git-merge-file --ours, --theirs
+
+It appears nobody wants "theirs" nor "ours", so I'll soon apply a
+wholesale revert for these series to 'next', and then these will be
+dropped when we rewind 'next' after 1.6.0 final.
+
+Please make sure next time somebody asks "ours/theirs" merge on the list
+and #git s/he is quickly told that it was unanimously rejected so that
+people do not have to waste time rehashing the topic ever again.
+
+----------------------------------------------------------------
+[On Hold]
+
+* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
+ + merge: remove deprecated summary and diffstat options and config
+   variables
+
+This was previously in "will be in master soon" category, but it turns out
+that the synonyms to the ones this one deletes are fairly new invention
+that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps
+in 1.7.0.
+
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
+ + Revert "Make clients ask for "git program" over ssh and local
+   transport"
+ + Make clients ask for "git program" over ssh and local transport
+
+This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
+timeframe.
+
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
+ - diff: enable "too large a rename" warning when -M/-C is explicitly
+   asked for
+
+This would be the right thing to do for command line use, but gitk will be
+hit due to tcl/tk's limitation, so I am holding this back for now.
+
diff --git a/whats/in/2008/06/01.txt b/whats/in/2008/06/01.txt
new file mode 100644 (file)
index 0000000..aa28622
--- /dev/null
@@ -0,0 +1,88 @@
+What's in git.git (Jun 2008, issue #01; Wed, 18)
+
+  maint 4afbcab (diff.c: fix emit_line() again not to add extra line, 2008-06-16)
+ master 8c6b578 (Fix approxidate("never") to always return 0, 2008-06-17)
+------------------------------------------------------------------------
+
+I am sending this out just as the final minute preview before 1.5.6 final,
+hopefully tomorrow night.
+
+* The 'maint' branch has these fixes since the last announcement.
+
+Junio C Hamano (1):
+  diff.c: fix emit_line() again not to add extra line
+
+SZEDER Gábor (1):
+  diff: reset color before printing newline
+
+
+* The 'master' branch has these since the last announcement
+  in addition to the above.
+
+Alejandro Mery (1):
+  git-am: head -1 is obsolete and doesn't work on some new systems
+
+Avery Pennarun (2):
+  git-svn: don't append extra newlines at the end of commit messages.
+  git-svn: test that extra blank lines aren't inserted in commit messages.
+
+Christian Couder (2):
+  documentation: bisect: remove bits talking about a bisection branch
+  Documentation: RelNotes-1.5.6: talk about renamed HTML files
+
+Flavio Poletti (1):
+  git-instaweb: improve auto-discovery of httpd and call conventions.
+
+Jakub Narebski (2):
+  gitweb: Make it work with $GIT containing spaces
+  Use 'trash directory' thoroughly in t/test-lib.sh
+
+Johan Herland (3):
+  cpio is no longer used by git-clone
+  Consistency: Use "libcurl" instead of "cURL library" and "curl"
+  The "curl" executable is no longer required
+
+Junio C Hamano (8):
+  t4126: fix test that happened to work due to timing
+  sha1_file.c: dead code removal
+  GIT 1.5.6-rc3
+  Makefile: update check-docs target
+  Update RPM spec to drop curl executable requirement
+  create_tempfile: make sure that leading directories can be accessible by
+    peers
+  sha1_file.c: simplify parse_pack_index()
+  builtin-rerere: fix a small leak
+
+Lea Wiemann (2):
+  gitweb: quote commands properly when calling the shell
+  gitweb: remove unused parse_ref method
+
+Linus Torvalds (4):
+  Avoid cross-directory renames and linking on object creation
+  Make loose object file reading more careful
+  Simplify and rename find_sha1_file()
+  write_loose_object: don't bother trying to read an old object
+
+Mark Levedahl (1):
+  git-submodule - Fix errors regarding resolve_relative_url
+
+Mike Hommey (1):
+  Don't allocate too much memory in quote_ref_url
+
+Miklos Vajna (2):
+  run-command documentation: fix "memset()" parameter
+  path-list documentation: document all functions and data structures
+
+Olivier Marin (1):
+  Fix approxidate("never") to always return 0
+
+Pierre Habouzit (1):
+  Make git reflog expire honour core.sharedRepository.
+
+René Scharfe (1):
+  Ignore .gitattributes in bare repositories
+
+SZEDER Gábor (2):
+  git add: add long equivalents of '-u' and '-f' options
+  completion: add more 'git add' options
+
diff --git a/whats/in/2008/06/02.txt b/whats/in/2008/06/02.txt
new file mode 100644 (file)
index 0000000..24d88fa
--- /dev/null
@@ -0,0 +1,43 @@
+What's in git.git (Jun 2008, issue #02; Sat, 21)
+
+  maint 3b2bbe9 (Documentation: fix formatting in git-svn, 2008-06-20)
+ master 73f0362 (Correct documentation for git-push --mirror, 2008-06-20)
+------------------------------------------------------------------------
+
+* The 'maint' branch has now preparing for 1.5.6.1, with these noncritical
+  fixes.
+
+Brandon Casey (2):
+  git-merge.sh: fix typo in usage message: sucesses --> succeeds
+  t7502-commit.sh: test_must_fail doesn't work with inline environment
+    variables
+
+Dan McGee (1):
+  completion: add --graph to log command completion
+
+Jan Krüger (1):
+  Documentation: fix formatting in git-svn
+
+
+* The 'master' branch has these since the last announcement
+  in addition to the above.  Not much to see here (yet).
+
+Cristian Peraferrer (1):
+  Print errno upon failure to open the COMMIT_EDITMSG file
+
+Jakub Narebski (1):
+  t/README: Add 'Skipping Tests' section below 'Running Tests'
+
+Lea Wiemann (1):
+  test-lib.sh: add --long-tests option
+
+Lukas Sandström (1):
+  Add a helper script to send patches with Mozilla Thunderbird
+
+Shawn O. Pearce (1):
+  Correct documentation for git-push --mirror
+
+Teemu Likonen (2):
+  bash: Add more option completions for 'git log'
+  Add target "install-html" the the top level Makefile
+
diff --git a/whats/in/2008/06/03.txt b/whats/in/2008/06/03.txt
new file mode 100644 (file)
index 0000000..6cc28fa
--- /dev/null
@@ -0,0 +1,65 @@
+What's in git.git (Jun 2008, issue #03; Mon, 23)
+
+  maint 010a2da (Extend parse-options test suite, 2008-06-22)
+ master 112db55 (Shrink the git binary a bit by avoiding unnecessary inline functions, 2008-06-22)
+------------------------------------------------------------------------
+
+There are a few more fixes destined for maint, being tested in next first.
+
+* The 'maint' branch has these fixes since the last announcement.
+
+Michele Ballabio (1):
+  parse-options.c: fix documentation syntax of optional arguments
+
+Stephan Beyer (3):
+  api-builtin.txt: update and fix typo
+  api-parse-options.txt: Introduce documentation for parse options API
+  Extend parse-options test suite
+
+
+* The 'master' branch has these since the last announcement
+  in addition to the above.
+
+Jakub Narebski (2):
+  gitweb: Separate filling list of projects info
+  gitweb: Separate generating 'sort by' table header
+
+Jeff King (5):
+  fix whitespace violations in test scripts
+  mask necessary whitespace policy violations in test scripts
+  avoid whitespace on empty line in automatic usage message
+  avoid trailing whitespace in zero-change diffstat lines
+  enable whitespace checking of test scripts
+
+Junio C Hamano (1):
+  diff -c/--cc: do not include uninteresting deletion before leading
+    context
+
+Karl Hasselström (2):
+  Clean up builtin-update-ref's option parsing
+  Make old sha1 optional with git update-ref -d
+
+Linus Torvalds (3):
+  racy-git: an empty blob has a fixed object name
+  Make git_dir a path relative to work_tree in setup_work_tree()
+  Shrink the git binary a bit by avoiding unnecessary inline functions
+
+Marius Storm-Olsen (3):
+  Add an optional <mode> argument to commit/status -u|--untracked-files
+    option
+  Add argument 'no' commit/status option -u|--untracked-files
+  Add configuration option for default untracked files mode
+
+Nanako Shiraishi (2):
+  environment.c: remove unused function
+  config.c: make git_env_bool() static
+
+Pieter de Bie (1):
+  builtin-fast-export: Add importing and exporting of revision marks
+
+Rafael Garcia-Suarez (1):
+  gitweb: remove git_blame and rename git_blame2 to git_blame
+
+René Scharfe (1):
+  Teach new attribute 'export-ignore' to git-archive
+
diff --git a/whats/in/2008/06/04.txt b/whats/in/2008/06/04.txt
new file mode 100644 (file)
index 0000000..8395f2e
--- /dev/null
@@ -0,0 +1,42 @@
+What's in git.git (Jun 2008, issue #04; Wed, 25)
+
+  maint 74b1e12 (git-svn: make rebuild respect rewriteRoot option, 2008-06-24)
+ master 85fe23e (verify-pack: test for detection of index v2 object CRC mismatch, 2008-06-24)
+------------------------------------------------------------------------
+
+We'd need a maint release soon to push out the mkstemp() breakage but not
+tonight.  There are a handful changes that are in 'master' and 'next' that
+need backport/backmerge before 1.5.6.1 happens.
+
+* The 'maint' branch has these fixes since the last announcement.
+
+Jan Krüger (1):
+  git-svn: make rebuild respect rewriteRoot option
+
+Patrick Higgins (1):
+  Workaround for AIX mkstemp()
+
+
+* The 'master' branch has these since the last announcement
+  in addition to the above.
+
+Jeff King (1):
+  clone: create intermediate directories of destination repo
+
+Junio C Hamano (2):
+  pre-rebase hook update
+  Ship sample hooks with .sample suffix
+
+Michele Ballabio (1):
+  t9301-fast-export.sh: Remove debug line
+
+Nicolas Pitre (8):
+  call init_pack_revindex() lazily
+  implement some resilience against pack corruptions
+  test case for pack resilience against corruptions
+  refactor pack structure allocation
+  optimize verify-pack a bit
+  move show_pack_info() where it belongs
+  verify-pack: check packed object CRC when using index version 2
+  verify-pack: test for detection of index v2 object CRC mismatch
+
diff --git a/whats/in/2008/07/01.txt b/whats/in/2008/07/01.txt
new file mode 100644 (file)
index 0000000..7d5e7f6
--- /dev/null
@@ -0,0 +1,301 @@
+What's in git.git (Jul 2008, issue #01; Tue, 01)
+
+  maint 7ad0f27 (Start draft release notes for 1.5.6.2, 2008-07-01)
+ master e903b40 (Update draft release notes for 1.6.0, 2008-07-01)
+------------------------------------------------------------------------
+
+There are a few fixes on 'maint', in addition to futureproofing of "git
+shell" so that eventually we can update the ssh clients to ask for server
+side programs using "git upload-pack" syntax without a dash between "git"
+and the subcommand name.
+
+Many of the medimu size items for 1.6.0 have been merged to 'master'.  The
+port to MinGW series will also be merged shortly.
+
+----------------------------------------------------------------
+
+GIT v1.6.0 Release Notes (draft)
+================================
+
+User visible changes
+--------------------
+
+With the default Makefile settings, most of the programs are now
+installed outside your $PATH, except for "git", "gitk", "git-gui" and
+some server side programs that need to be accessible for technical
+reasons.  Invoking a git subcommand as "git-xyzzy" from the command
+line has been deprecated since early 2006 (and officially announced in
+1.5.4 release notes); use of them from your scripts after adding
+output from "git --exec-path" to the $PATH is still supported in this
+release, but users are again strongly encouraged to adjust their
+scripts to use "git xyzzy" form, as we will stop installing
+"git-xyzzy" hardlinks for built-in commands in later releases.
+
+Source changes needed for porting to MinGW environment are now all in the
+main git.git codebase.
+
+By default, packfiles created with this version uses delta-base-offset
+encoding introduced in v1.4.4.  Pack idx files are using version 2 that
+allows larger packs and added robustness thanks to its CRC checking,
+introduced in v1.5.2.
+
+
+Updates since v1.5.6
+--------------------
+
+(subsystems)
+
+* git-p4 in contrib learned "allowSubmit" configuration to control on
+  which branch to allow "submit" subcommand.
+
+(portability)
+
+* Sample hook scripts shipped in templates/ are now suffixed with
+  *.sample.  We used to prevent them from triggering by default by
+  relying on the fact that we install them as unexecutable, but on
+  some filesystems this approach does not work.  Instead of running
+  "chmod +x" on them, the users who want to activate these samples
+  as-is can now rename them dropping *.sample suffix.
+
+* perl's in-place edit (-i) does not work well without backup files on Windows;
+  some tests are rewritten to cope with this.
+
+(documentation)
+
+* Updated howto/update-hook-example
+
+* Got rid of usage of "git-foo" from the tutorial.
+
+* Disambiguating "--" between revs and paths is finally documented.
+
+(performance, robustness, sanity etc.)
+
+* even more documentation pages are now accessible via "man" and "git help".
+
+* reduced excessive inlining to shrink size of the "git" binary.
+
+* verify-pack checks the object CRC when using version 2 idx files.
+
+* When an object is corrupt in a pack, the object became unusable even
+  when the same object is available in a loose form,  We now try harder to
+  fall back to these redundant objects when able.  In particular, "git
+  repack -a -f" can be used to fix such a corruption as long as necessary
+  objects are available.
+
+* git-clone does not create refs in loose form anymore (it behaves as
+  if you immediately ran git-pack-refs after cloning).  This will help
+  repositories with insanely large number of refs.
+
+* core.fsyncobjectfiles configuration can be used to ensure that the loose
+  objects created will be fsync'ed (this is only useful on filesystems
+  that does not order data writes properly).
+
+* "git commit-tree" plumbing can make Octopus with more than 16 parents.
+  "git commit" has been capable of this for quite some time.
+
+(usability, bells and whistles)
+
+* git-apply can handle a patch that touches the same path more than once
+  much better than before.
+
+* git-apply can be told not to trust the line counts recorded in the input
+  patch but recount, with the new --recount option.
+
+* git-archive can be told to omit certain paths from its output using
+  export-ignore attributes.
+
+* git-clone can clone from a remote whose URL would be rewritten by
+  configuration stored in $HOME/.gitconfig now.
+
+* git-diff --check now checks leftover merge conflict markers.
+
+* When remote side used to have branch 'foo' and git-fetch finds that now
+  it has branch 'foo/bar', it refuses to lose the existing remote tracking
+  branch and its reflog.  The error message has been improved to suggest
+  pruning the remote if the user wants to proceed and get the latest set
+  of branches from the remote, including such 'foo/bar'.
+
+* fast-export learned to export and import marks file; this can be used to
+  interface with fast-import incrementally.
+
+* Original SHA-1 value for "update-ref -d" is optional now.
+
+* git-send-mail can talk not just over SSL but over TLS now.
+
+* You can tell "git status -u" to even more aggressively omit checking
+  untracked files with --untracked-files=no.
+
+* Error codes from gitweb are made more descriptive where possible, rather
+  than "403 forbidden" as we used to issue everywhere.
+
+(internal)
+
+
+Fixes since v1.5.6
+------------------
+
+All of the fixes in v1.5.6 maintenance series are included in
+this release, unless otherwise noted.
+
+ * diff -c/--cc showed unnecessary "deletion" lines at the context
+   boundary (needs backmerge to maint).
+
+ * "git-clone <src> <dst>" did not create leading directories for <dst>
+   like the scripted version used to do (needs backport to maint).
+
+
+----------------------------------------------------------------
+
+* The 'maint' branch has these fixes since v1.5.6.1.
+
+Avery Pennarun (1):
+  git-svn: avoid filling up the disk with temp files.
+
+Björn Steinbrink (1):
+  git cat-file: Fix memory leak in batch mode
+
+Eric Wong (1):
+  git-svn: don't sanitize remote names in config
+
+Jeff King (1):
+  doc/rev-parse: clarify reflog vs --until for specifying revisions
+
+Jochen Voss (1):
+  avoid off-by-one error in run_upload_archive
+
+Joey Hess (1):
+  fix git config example syntax
+
+Junio C Hamano (5):
+  diff --check: do not discard error status upon seeing a good line
+  git-shell: accept "git foo" form
+  GIT 1.5.4.6
+  GIT 1.5.5.5
+  Start draft release notes for 1.5.6.2
+
+Thomas Rast (1):
+  Fix 'git show' on signed tag of signed tag of commit
+
+
+* The 'master' branch has these since the last announcement
+  in addition to the above.
+
+Alex Riesen (1):
+  Fix use of "perl -i" on Windows
+
+Brian Gernhardt (2):
+  Fix t4017-diff-retval for white-space from wc
+  Add test results directory to t/.gitignore
+
+Christian Couder (1):
+  help: check early if we have a command, if not try a documentation topic
+
+Dmitry Potapov (2):
+  update-hook-example: optionally allow non-fast-forward
+  shrink git-shell by avoiding redundant dependencies
+
+Don Zickus (1):
+  git-apply: handle a patch that touches the same path more than once
+    better
+
+Jeff King (3):
+  improve for-each-ref test script
+  fetch: report local storage errors in status table
+  fetch: give a hint to the user when local refs fail to update
+
+Jing Xue (1):
+  Add 'git-p4.allowSubmit' to git-p4
+
+Johan Herland (4):
+  Incorporate fetched packs in future object traversal
+  Move pack_refs() and friends into libgit
+  Prepare testsuite for a "git clone" that packs refs
+  Teach "git clone" to pack refs
+
+Johannes Schindelin (4):
+  clone: respect url.insteadOf setting in global configs
+  commit-tree: lift completely arbitrary limit of 16 parents
+  Allow git-apply to recount the lines in a hunk (AKA recountdiff)
+  clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
+
+Jonathan Nieder (7):
+  Documentation: fix links to tutorials and other new manual pages
+  whitespace fix in Documentation/git-repack.txt
+  Documentation: complicate example of "man git-command"
+  git-daemon(1): don't assume git-daemon is in /usr/bin
+  Documentation: prepare to be consistent about "git-" versus "git "
+  Documentation: be consistent about "git-" versus "git "
+  Documentation formatting and cleanup
+
+Junio C Hamano (15):
+  git-shell: accept "git foo" form
+  Prepare execv_git_cmd() for removal of builtins from the filesystem
+  Keep some git-* programs in $(bindir)
+  Allow "git-reset path" when unambiguous
+  Start draft release notes for 1.6.0
+  diff --check: explain why we do not care whether old side is binary
+  check_and_emit_line(): rename and refactor
+  checkdiff: pass diff_options to the callback
+  Teach "diff --check" about new blank lines at end
+  diff --check: detect leftover conflict markers
+  Update sample pre-commit hook to use "diff --check"
+  Document the double-dash "rev -- path" disambiguator
+  t9700: skip when Test::More is not available
+  Update draft release notes for 1.6.0
+  Update draft release notes for 1.6.0
+
+Kevin Ballard (1):
+  git-send-email: Accept fifos as well as files
+
+Lea Wiemann (5):
+  t/test-lib.sh: add test_external and test_external_without_stderr
+  Git.pm: add test suite
+  gitweb: standarize HTTP status codes
+  test-lib.sh: show git init output when in verbose mode
+  GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy
+
+Linus Torvalds (4):
+  Split up default "core" config parsing into helper routine
+  Split up default "user" config parsing into helper routine
+  Split up default "i18n" and "branch" config parsing into helper routines
+  Add config option to enable 'fsync()' of object files
+
+Miklos Vajna (1):
+  A simple script to parse the results from the testcases
+
+Nanako Shiraishi (1):
+  gitcli: Document meaning of --cached and --index
+
+Nguyễn Thái Ngọc Duy (1):
+  Move all dashed-form commands to libexecdir
+
+Nicolas Pitre (2):
+  repack.usedeltabaseoffset config option now defaults to "true"
+  pack.indexversion config option now defaults to 2
+
+Olivier Marin (2):
+  Documentation: remove {show,whatchanged}.difftree config options
+  show_stats(): fix stats width calculation
+
+Patrick Higgins (1):
+  Remove the use of '--' in merge program invocation
+
+Stephan Beyer (2):
+  api-builtin.txt: update and fix typo
+  t3404: stricter tests for git-rebase--interactive
+
+Sverre Rabbelier (2):
+  Modify test-lib.sh to output stats to t/test-results/*
+  Hook up the result aggregation in the test makefile.
+
+Ted Percival (1):
+  Don't use dash commands (git-foo) in tutorial-2
+
+Thomas Rast (2):
+  git-send-email: add support for TLS via Net::SMTP::SSL
+  git-send-email: prevent undefined variable warnings if no encryption is
+    set
+
+jrnieder@uchicago.edu (1):
+  Documentation: don't assume git-sh-setup and git-parse-remote are in PATH
+
diff --git a/whats/in/2008/07/02.txt b/whats/in/2008/07/02.txt
new file mode 100644 (file)
index 0000000..9edc43a
--- /dev/null
@@ -0,0 +1,126 @@
+What's in git.git (Jul 2008, issue #02; Sun, 06)
+
+  maint 78e3118 (GIT 1.5.6.2, 2008-07-04)
+ master 44701c6 (Merge branch 'qq/maint', 2008-07-06)
+------------------------------------------------------------------------
+
+With accumulated fixes, the latest maintenance release 1.5.6.2 is out.
+
+On the 'master' front, port to MinGW has now been merged, and the next
+major release 1.6.0 is already taking shape.
+
+----------------------------------------------------------------
+* The 'master' branch has these since the last announcement
+  in addition to what is in maint.
+
+Adam Brewster (1):
+  Move read_revisions_from_stdin from builtin-rev-list.c to revision.c
+
+Brian Gernhardt (1):
+  Documentation: Point to gitcli(7) from git(1)
+
+Brian Hetro (5):
+  builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and
+    'format.suffix'
+  convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
+  diff.c: Use 'git_config_string' to get 'diff.external'
+  http.c: Use 'git_config_string' to clean up SSL config.
+  builtin-commit.c: Use 'git_config_string' to get 'commit.template'
+
+Christian Couder (2):
+  Fix "config_error_nonbool" used with value instead of key
+  Fix "config_error_nonbool" used with value instead of key
+
+Johannes Schindelin (2):
+  Windows: always chmod(, 0666) before unlink().
+  git fetch-pack: do not complain about "no common commits" in an empty
+    repo
+
+Johannes Sixt (35):
+  Add compat/regex.[ch] and compat/fnmatch.[ch].
+  Compile some programs only conditionally.
+  Add target architecture MinGW.
+  Windows: Use the Windows style PATH separator ';'.
+  setup.c: Prepare for Windows directory separators.
+  Windows: Treat Windows style path names.
+  Windows: Handle absolute paths in safe_create_leading_directories().
+  Windows: Strip ".exe" from the program name.
+  Windows: Implement a wrapper of the open() function.
+  Windows: A minimal implemention of getpwuid().
+  Windows: Work around misbehaved rename().
+  Make my_mktime() public and rename it to tm_to_time_t()
+  Windows: Implement gettimeofday().
+  Windows: Fix PRIuMAX definition.
+  Windows: Implement setitimer() and sigaction().
+  Windows: Wrap execve so that shell scripts can be invoked.
+  Windows: A pipe() replacement whose ends are not inherited to children.
+  Windows: Implement start_command().
+  Windows: A rudimentary poll() emulation.
+  Windows: Disambiguate DOS style paths from SSH URLs.
+  Windows: Implement asynchronous functions as threads.
+  Windows: Work around incompatible sort and find.
+  Windows: Implement wrappers for gethostbyname(), socket(), and connect().
+  Windows: Implement a custom spawnve().
+  Windows: Add a custom implementation for utime().
+  Windows: Use a customized struct stat that also has the st_blocks member.
+  Turn builtin_exec_path into a function.
+  Windows: Compute the fallback for exec_path from the program invocation.
+  Windows: Use a relative default template_dir and ETC_GITCONFIG
+  When installing, be prepared that template_dir may be relative.
+  Windows: Make the pager work.
+  Windows: Work around an oddity when a pipe with no reader is written to.
+  Windows: Make 'git help -a' work.
+  Windows: TMP and TEMP environment variables specify a temporary
+    directory.
+  t4127-apply-same-fn: Avoid sed -i
+
+Jonathan Nieder (15):
+  git-format-patch(1): fix stray \ in output
+  Documentation: fix gitlinks
+  manpages: fix bogus whitespace
+  git(1): add comma
+  git-commit(1): depersonalize description
+  Documentation: rewrap to prepare for "git-" vs "git " change
+  Documentation: more "git-" versus "git " changes
+  gitdiffcore(7): fix awkward wording
+  manpages: italicize command names in synopses
+  manpages: italicize command names
+  manpages: italicize git command names (which were in teletype font)
+  manpages: italicize gitk's name (where it was in teletype font)
+  manpages: italicize nongit command names (if they are in teletype font)
+  manpages: italicize git subcommand names (which were in teletype font)
+  manpages: use teletype font for sample command lines
+
+Junio C Hamano (3):
+  fast-export --export-marks: fix off by one error
+  attribute documentation: keep EXAMPLE at end
+  clone -q: honor "quiet" option over native transports.
+
+Marius Storm-Olsen (1):
+  Windows: Add a new lstat and fstat implementation based on Win32 API.
+
+Matthew Ogilvie (1):
+  Documentation cvs: Clarify when a bare repository is needed
+
+Miklos Vajna (6):
+  Retire 'stupid' merge strategy
+  INSTALL: Update section about git-frotz form.
+  hg-to-git: avoid raising a string exception
+  hg-to-git: abort if the project directory is not a hg repo
+  hg-to-git: rewrite "git-frotz" to "git frotz"
+  hg-to-git: use git init instead of git init-db
+
+Nikolaus Schulz (1):
+  Documentation: be precise about which date --pretty uses
+
+Ramsay Allan Jones (1):
+  Fix some warnings (on cygwin) to allow -Werror
+
+Steffen Prohaska (2):
+  Windows: Fix ntohl() related warnings about printf formatting
+  compat/pread.c: Add a forward declaration to fix a warning
+
+Thomas Rast (2):
+  git-send-email: Do not attempt to STARTTLS more than once
+  Fix apply --recount handling of no-EOL line
+
diff --git a/whats/in/2008/07/03.txt b/whats/in/2008/07/03.txt
new file mode 100644 (file)
index 0000000..ab781e0
--- /dev/null
@@ -0,0 +1,81 @@
+What's in git.git (Jul 2008, issue #03; Mon, 07)
+
+  maint 39f319f (Merge branch 'qq/maint' (early part) into maint, 2008-07-07)
+ master bed6255 (Merge branch 'qq/maint', 2008-07-07)
+------------------------------------------------------------------------
+
+* The 'maint' branch has these fixes since 1.5.6.2.
+
+Alex Riesen (1):
+  git-clone: remove leftover debugging fprintf().
+
+Brian Hetro (5):
+  builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and
+    'format.suffix'
+  convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
+  diff.c: Use 'git_config_string' to get 'diff.external'
+  http.c: Use 'git_config_string' to clean up SSL config.
+  builtin-commit.c: Use 'git_config_string' to get 'commit.template'
+
+Christian Couder (1):
+  Fix "config_error_nonbool" used with value instead of key
+
+Gerrit Pape (1):
+  git-svn.perl: workaround assertions in svn library 1.5.0
+
+Junio C Hamano (3):
+  attribute documentation: keep EXAMPLE at end
+  clone -q: honor "quiet" option over native transports.
+  mailinfo: feed the correct line length to decode_transfer_encoding()
+
+Matthew Ogilvie (1):
+  Documentation cvs: Clarify when a bare repository is needed
+
+Mikael Magnusson (1):
+  Fix grammar in git-rev-parse(1).
+
+Nikolaus Schulz (1):
+  Documentation: be precise about which date --pretty uses
+
+
+* The 'master' branch has these since the last announcement
+  in addition to the above.
+
+Abhijit Menon-Sen (2):
+  git-gui: Move on to the next filename after staging/unstaging a change
+  git-gui: Don't select the wrong file if the last listed file is staged.
+
+Daniel Barkalow (1):
+  Only use GIT_CONFIG in "git config", not other programs
+
+David Reiss (4):
+  Implement normalize_absolute_path
+  Fold test-absolute-path into test-path-utils
+  Add support for GIT_CEILING_DIRECTORIES
+  Eliminate an unnecessary chdir("..")
+
+Dmitry Potapov (1):
+  completion.bash: add 'skip' and 'run' to git-bisect
+
+Jakub Narebski (1):
+  gitweb: Describe projects_index format in more detail
+
+Johannes Schindelin (3):
+  Add another fast-import example, this time for .zip files
+  git daemon: avoid calling syslog() from a signal handler
+  run_command(): respect GIT_TRACE
+
+Johannes Sixt (1):
+  git-gui: Implement "Stage/Unstage Line"
+
+Junio C Hamano (6):
+  rerere: rerere_created_at() and has_resolution() abstraction
+  git-rerere: detect unparsable conflicts
+  rerere: remove dubious "tail_optimization"
+  t4200: fix rerere test
+  rerere.autoupdate
+  Update draft release notes for 1.6.0
+
+Richard Quirk (1):
+  git-gui: Fix accidental staged state toggle when clicking top pixel row
+
diff --git a/whats/in/2008/07/04.txt b/whats/in/2008/07/04.txt
new file mode 100644 (file)
index 0000000..2d39d5c
--- /dev/null
@@ -0,0 +1,111 @@
+What's in git.git (Jul 2008, issue #04; Sun, 13)
+
+  maint 191a8e3 (GIT 1.5.6.3, 2008-07-13)
+ master 10ce020 (Merge branch 'sp/maint-bash-completion-optim', 2008-07-13)
+------------------------------------------------------------------------
+
+* The 'maint' branch is at 1.5.6.3
+
+* The 'master' branch has these since the last announcement
+  in addition to what's in 1.5.6.3
+
+Abhijit Menon-Sen (2):
+  Implement "git stash branch <newbranch> <stash>"
+  Add a test for "git stash branch"
+
+Adam Brewster (1):
+  Teach git-bundle to read revision arguments from stdin like git-rev-list.
+
+Brandon Casey (1):
+  t7701-repack-unpack-unreachable.sh: check timestamp of unpacked objects
+
+Eric Hanchrow (2):
+  user-manual: typo and grammar fixes
+  Documentation: fix broken "linkgit" links
+
+Eric Raible (2):
+  Documentation: tweak use case in "git stash save --keep-index"
+  completion: add branch options --contains --merged --no-merged
+
+Jeff King (2):
+  Allow per-command pager config
+  avoid null SHA1 in oldest reflog
+
+Johannes Schindelin (2):
+  Teach "git apply" to prepend a prefix with "--root=<root>"
+  Allow cherry-picking root commits
+
+Johannes Sixt (1):
+  Provide fallback definitions of PRIu32 and PRIx32
+
+Junio C Hamano (17):
+  revision traversal: --children option
+  rev-list --children
+  builtin-blame.c: move prepare_final() into a separate function.
+  builtin-blame.c: allow more than 16 parents
+  git-blame --reverse
+  Per-ref reflog expiry configuration
+  Make default expiration period of reflog used for stash infinite
+  apply --root: thinkofix.
+  Refactor "tracking statistics" code used by "git checkout"
+  git-status: show the remote tracking statistics
+  git-branch -v: show the remote tracking statistics
+  stat_tracking_info(): clear object flags used during counting
+  branch -r -v: do not spit out garbage
+  git-apply --directory: make --root more similar to GNU diff
+  Tone down warning about GNU Interactive Tools
+  Documentation: update sections on naming revisions and revision ranges
+  apply: fix copy/rename breakage
+
+Mark Levedahl (1):
+  install-doc-quick - use git --exec-path to find git-sh-setup
+
+Mike Hommey (4):
+  Catch failures from t5540-http-push
+  Fix http-push test
+  Skip t5540-http-push test when USE_CURL_MULTI is undefined
+  Avoid apache complaining about lack of server's FQDN
+
+Petr Baudis (1):
+  Git.pm: Add remote_refs() git-ls-remote frontend
+
+Pierre Habouzit (12):
+  parse-opt: have parse_options_{start,end}.
+  parse-opt: Export a non NORETURN usage dumper.
+  parse-opt: create parse_options_step.
+  parse-opt: do not print errors on unknown options, return -2 intead.
+  parse-opt: fake short strings for callers to believe in.
+  parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+  revisions: split handle_revision_opt() from setup_revisions()
+  git-blame: migrate to incremental parse-option [1/2]
+  git-blame: migrate to incremental parse-option [2/2]
+  git-blame: fix lapsus
+  git-shortlog: migrate to parse-options partially.
+  revisions: refactor handle_revision_opt into parse_revision_opt.
+
+Ramsay Allan Jones (3):
+  t9113-*.sh: provide user feedback when test skipped
+  t9100-git-svn-basic.sh: Fix determination of utf-8 locale
+  git-request-pull: replace call to deprecated peek-remote
+
+Robert Shearman (1):
+  git-send-email: Fix authenticating on some servers when using TLS.
+
+SZEDER Gábor (1):
+  stash: introduce 'stash save --keep-index' option
+
+Shawn O. Pearce (3):
+  Correct pack memory leak causing git gc to try to exceed ulimit
+  bash completion: Improve responsiveness of git-log completion
+  bash completion: Don't offer "a.." as a completion for "a."
+
+Stephan Beyer (3):
+  git-am/git-mailsplit: correct synopsis for reading from stdin
+  t3404: test two "preserve merges with -p" cases
+  Make rebase--interactive use OPTIONS_SPEC
+
+Thomas Rast (3):
+  git-add--interactive: replace hunk recounting with apply --recount
+  git-add--interactive: remove hunk coalescing
+  git-add--interactive: manual hunk editing mode
+
diff --git a/whats/in/2008/07/05.txt b/whats/in/2008/07/05.txt
new file mode 100644 (file)
index 0000000..73dafc5
--- /dev/null
@@ -0,0 +1,117 @@
+What's in git.git (Jul 2008, issue #05; Tue, 15)
+
+  maint 191a8e3 (GIT 1.5.6.3, 2008-07-13)
+ master fcab40a (Merge branch 'mv/merge-in-c', 2008-07-15)
+------------------------------------------------------------------------
+
+"Merge-in-C" is in, so is "rename .dotest", and remaining Windows bits.
+Now it is almost there for 1.6.0-rc0.
+
+* The 'master' branch has these since the last announcement.
+
+Alexander N. Gavrilov (1):
+  Fix quadratic performance in rewrite_one.
+
+Brian Gernhardt (1):
+  Documentation: mention ORIG_HEAD in am, merge, and rebase
+
+Ciaran McCreesh (1):
+  Make git-add -i accept ranges like 7-
+
+Dmitry Kakurin (1):
+  Fixed text file auto-detection: treat EOF character 032 at the end of
+    file as printable
+
+Frederik Schwarzer (1):
+  git-svn: typofix
+
+Ian Katz (1):
+  tutorial: use prompt with user names in example, to clarify who is doing
+    what
+
+Johannes Schindelin (6):
+  Convert CR/LF to LF in tag signatures
+  Add pretty format %aN which gives the author name, respecting .mailmap
+  Move MERGE_RR from .git/rr-cache/ into .git/
+  git-gui: MERGE_RR lives in .git/ directly with newer Git versions
+  shortlog: support --pretty=format: option
+  Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"
+
+João Abecasis (1):
+  git-svn: find-rev and rebase for SVN::Mirror repositories
+
+Junio C Hamano (10):
+  Introduce get_merge_bases_many()
+  Introduce reduce_heads()
+  Teach "am" and "rebase" to mark the original position with ORIG_HEAD
+  branch --contains: default to HEAD
+  branch --merged/--no-merged: allow specifying arbitrary commit
+  Teach merge.log to "git-merge" again
+  Update draft release notes for 1.6.0
+  reduce_heads(): protect from duplicate input
+  tutorial: clarify "pull" is "fetch + merge"
+  Update draft release notes to 1.6.0
+
+Lukas Sandström (1):
+  git-mailinfo: Fix getting the subject from the in-body [PATCH] line
+
+Mark Levedahl (2):
+  git-submodule - make "submodule add" more strict, and document it
+  git-submodule - register submodule URL if adding in place
+
+Mike Pape (1):
+  We need to check for msys as well as Windows in add--interactive.
+
+Miklos Vajna (15):
+  Move split_cmdline() to alias.c
+  Move commit_list_count() to commit.c
+  Move parse-options's skip_prefix() to git-compat-util.h
+  Add new test to ensure git-merge handles pull.twohead and pull.octopus
+  Move read_cache_unmerged() to read-cache.c
+  git-fmt-merge-msg: make it usable from other builtins
+  Introduce get_octopus_merge_bases() in commit.c
+  Add new test to ensure git-merge handles more than 25 refs.
+  Add new test case to ensure git-merge reduces octopus parents when
+    possible
+  Add new test case to ensure git-merge prepends the custom merge message
+  git-commit-tree: make it usable from other builtins
+  Fix t7601-merge-pull-config.sh on AIX
+  Build in merge
+  t6021: add a new test for git-merge-resolve
+  Add a new test for git-merge-resolve
+
+Nicolas Pitre (1):
+  restore legacy behavior for read_sha1_file()
+
+Olivier Marin (1):
+  builtin-rerere: more carefully find conflict markers
+
+Pavel Roskin (1):
+  t9600: allow testing with cvsps 2.2, including beta versions
+
+Pierre Habouzit (1):
+  parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
+
+Shawn O. Pearce (3):
+  bash completion: Append space after file names have been completed
+  bash completion: Resolve git show ref:path<tab> losing ref: portion
+  bash completion: Remove dashed command completion support
+
+Soeren Finster (1):
+  git-gui: Exit shortcut in MacOSX repaired
+
+Steffen Prohaska (3):
+  Move code interpreting path relative to exec-dir to new function
+    system_path()
+  help.c: Add support for htmldir relative to git_exec_path()
+  help (Windows): Display HTML in default browser using Windows' shell API
+
+Stephan Beyer (1):
+  rerere: Separate libgit and builtin functions
+
+Sverre Hvammen Johansen (1):
+  reduce_heads(): thinkofix
+
+Teemu Likonen (1):
+  bash: Add long option completion for 'git send-email'
+
diff --git a/whats/in/2008/07/06.txt b/whats/in/2008/07/06.txt
new file mode 100644 (file)
index 0000000..ad70139
--- /dev/null
@@ -0,0 +1,90 @@
+What's in git.git (Jul 2008, issue #06; Sat, 19)
+
+  maint a1b6fb0 (GIT 1.5.6.4, 2008-07-19)
+ master 09651dd (Getting closer to 1.6.0-rc0, 2008-07-19)
+------------------------------------------------------------------------
+
+* The 'maint' branch is at 1.5.6.4.
+
+* The 'master' branch has these since the last announcement
+  in addition to what is already in 1.5.6.4.
+
+Alexander Gavrilov (3):
+  Avoid rescanning unchanged entries in search for copies.
+  Do not try to detect move/copy for entries below threshold.
+  Support gitlinks in fast-import.
+
+Eric Raible (1):
+  Teach lookup_prog not to select directories
+
+Eric Wong (1):
+  t/lib-git-svn: fix SVN_HTTPD tests to work with "trash directory"
+
+Fabian Emmes (2):
+  Testsuite: Unset CVS_SERVER
+  testsuite for cvs co -c
+
+Johannes Sixt (1):
+  builtin-clone: rewrite guess_dir_name()
+
+Junio C Hamano (9):
+  git-rebase: report checkout failure
+  t/aggregate-results: whitespace fix
+  Update draft release notes for 1.6.0
+  read-cache.c: typofix
+  mailinfo: off-by-one fix for [PATCH (foobar)] removal from Subject: line
+  builtin-remote.c: fix earlier "skip_prefix()" conversion
+  t9001 (send-email): Do not use hardcoded /bin/sh in test
+  .mailmap update
+  Getting closer to 1.6.0-rc0
+
+Lars Noschinski (2):
+  cvsserver: Add support for packed refs
+  cvsserver: Add cvs co -c support
+
+Lukas Sandström (3):
+  Make some strbuf_*() struct strbuf arguments const.
+  Add some useful functions for strbuf manipulation.
+  git-mailinfo: use strbuf's instead of fixed buffers
+
+Miklos Vajna (4):
+  t0001-init.sh: change confusing directory name
+  t1007-hash-object.sh: use quotes for the test description
+  git-bisect: use dash-less form on git bisect log
+  make remove-dashes: apply to scripts and programs as well, not just to
+    builtins
+
+Nanako Shiraishi (3):
+  cache-tree.c: make cache_tree_find() static
+  builtin-describe.c: make a global variable "pattern" static
+  parse-options.c: make check_typos() static
+
+Peter Harris (1):
+  Add ANSI control code emulation for the Windows console
+
+Petr Baudis (5):
+  Documentation/git-submodule.txt: Add Description section
+  Documentation/RelNotes-1.6.0.txt: Expand on the incompatible packfiles
+  Documentation/git-submodule.txt: Further clarify the description
+  Documentation: How to ignore local changes in tracked files
+  Documentation/git-merge.txt: Partial rewrite of How Merge Works
+
+René Scharfe (8):
+  archive: remove args member from struct archiver
+  add context pointer to read_tree_recursive()
+  archive: add baselen member to struct archiver_args
+  archive: centralize archive entry writing
+  archive: unify file attribute handling
+  archive: remove extra arguments parsing code
+  archive: make zip compression level independent from core git
+  archive: remove unused headers
+
+Stephan Beyer (4):
+  t/test-lib.sh: exit with small negagive int is ok with test_must_fail
+  t/: Use "test_must_fail git" instead of "! git"
+  Make usage strings dash-less
+  Link git-shell only to a subset of libgit.a
+
+SungHyun Nam (1):
+  t/Makefile: use specified shell when running aggregation script
+
diff --git a/whats/in/2008/07/07.txt b/whats/in/2008/07/07.txt
new file mode 100644 (file)
index 0000000..acdda3d
--- /dev/null
@@ -0,0 +1,51 @@
+What's in git.git (Jul 2008, issue #07; Sun, 20)
+
+  maint 2d9c572 (fix usage string for git grep, 2008-07-20)
+ master 93310a4 (Merge branch 'ap/trackinfo', 2008-07-20)
+------------------------------------------------------------------------
+
+As announced in a separate message, the tip of master was tagged as
+1.6.0-rc0; for people who neglected futureproofing themselves so far, it
+would really be a good time to seriously consider doing so.
+
+* The 'maint' branch has these fixes since the last announcement.
+
+Jonathan Nieder (1):
+  fix usage string for git grep
+
+Junio C Hamano (1):
+  refresh-index: fix bitmask assignment
+
+
+* The 'master' branch has these since the last announcement
+  in addition to the above.
+
+Avery Pennarun (1):
+  Reword "your branch has diverged..." lines to reduce line length
+
+Dmitry Potapov (1):
+  git-svn: fix git svn info to work without arguments
+
+Junio C Hamano (8):
+  rerere.autoupdate: change the message when autoupdate is in effect
+  builtin-add.c: restructure the code for maintainability
+  git-add --all: add all files
+  git-add --all: tests
+  git-add --all: documentation
+  Link shell with compat layer functions
+  Move read_in_full() and write_in_full() to wrapper.c
+  "needs update" considered harmful
+
+Lars Noschinski (1):
+  cvsserver: Add testsuite for packed refs
+
+Michele Ballabio (2):
+  builtin-merge.c: Fix option parsing
+  builtin-push.c: Cleanup - use OPT_BIT() and remove some variables
+
+Miklos Vajna (1):
+  Teach 'git merge' that some merge strategies no longer exist
+
+Nanako Shiraishi (1):
+  git am --abort
+
similarity index 100%
rename from whatsin.txt
rename to whats/in/2008/07/08.txt