-Subject: What's cooking in git.git (Jul 2008, issue #02; Sun, 06)
+Subject: What's cooking in git.git (Jul 2008, issue #03; Mon, 07)
-What's cooking in git.git (Jul 2008, issue #02; Sun, 06)
+What's cooking in git.git (Jul 2008, issue #03; Mon, 07)
--------------------------------------------------------
Here are the topics that have been cooking. Commits prefixed
----------------------------------------------------------------
[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
+* 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
-This will eventually appear in 'maint'; currently parked on 'pu', thoug=
-h.
+* 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/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"
+* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
+ + Allow cherry-picking root commits
-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.
+* 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
+ + stash: introduce 'stash save --keep-index' option
One weakness of our "partial commit" workflow support used to be that t=
he
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).
+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
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>"
+* 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"
-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.
+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/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
- - Ignore graft during object transfer [broken wrt shallow clones]
+* 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
-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.
+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.
-Another fix is needed to git-prune so that it ignores grafts but treats
-commits that are mentioned in grafts as reachable.
+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.
-* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
- - Allow per-command pager config
+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
----------------------------------------------------------------
-[Will merge to master soon]
+[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
-* 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
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"]
+* js/maint-daemon-syslog (Thu Jul 3 16:27:24 2008 +0100) 1 commit
+ + git daemon: avoid calling syslog() from a signal handler
-* 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].
+Meant for 'maint' as well.
----------------------------------------------------------------
[On Hold]
----------------------------------------------------------------
[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.
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".
-