@leroysheep / LeeRoySheep / commits / df6be057e7

What's cooking (2008/06 #04)

Junio C Hamano committed Aug 5, 2008 at 21:44 UTC df6be057e79137380979546f51caa94c4bc4110d
1 file changed +183 -137
whats-cooking.txt
+183 -137
index d6f3d95130..ef248c813f 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,93 +1,209 @@ -Subject: What's cooking in git.git (Jun 2008, issue #03; Wed, 25) +Subject: What's cooking in git.git (Jun 2008, issue #04; Mon, 30) -What's cooking in git.git (Jun 2008, issue #03; Wed, 25) +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 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. But bigger changes will be: +good set of feature enhancements. 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. + * 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. ----------------------------------------------------------------- -[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. +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 -* 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/* +* 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 -* 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 +---------------------------------------------------------------- +[Actively Cooking] -This is useful when cloning from a repository with insanely large number -of refs. +* 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 -* 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 +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. -Beginning of regression tests for Perl part of the system. +* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit + + Allow "git-reset path" when unambiguous ----------------------------------------------------------------- -[Actively Cooking] +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 -* mv/merge-in-c (Sat Jun 21 19:15:35 2008 +0200) 12 commits +"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 - - Build in merge - Introduce reduce_heads() - Introduce get_merge_bases_many() - Add new test to ensure git-merge handles more than 25 refs. @@ -100,15 +216,7 @@ Beginning of regression tests for Perl part of the system. - 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. +The last one is still in flux. * dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits + Eliminate an unnecessary chdir("..") @@ -117,23 +225,28 @@ this point, but git-shell may need to be updated. + 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 + + 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 +A new configuration will allow paths that have been resolved cleanly by +rerere to be updated in the index automatically. -* sb/maint-rebase (Sun Jun 22 16:07:02 2008 +0200) 1 commit - + git-rebase.sh: Add check if rebase is in progress +* 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] @@ -142,59 +255,6 @@ this point, but git-shell may need to be updated. 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 @@ -205,22 +265,6 @@ 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