Split past issues of What's cooking and What's in

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.

Junio C Hamano committed Aug 5, 2008 at 21:42 UTC 1d5c9452aac988af6ebfa7aefb898b7c80a99a26
26 files changed +4837
whats/cooking/2008/06/01.txt
+306
new file mode 100644 index 0000000000..31b12bd582 --- /dev/null +++ b/whats/cooking/2008/06/01.txt @@ -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. +
whats/cooking/2008/06/02.txt
+329
new file mode 100644 index 0000000000..2054edb780 --- /dev/null +++ b/whats/cooking/2008/06/02.txt @@ -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 +
whats/cooking/2008/06/03.txt
+295
new file mode 100644 index 0000000000..ed5a24e1c6 --- /dev/null +++ b/whats/cooking/2008/06/03.txt @@ -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 +
whats/cooking/2008/06/04.txt
+339
new file mode 100644 index 0000000000..a8179ed5e9 --- /dev/null +++ b/whats/cooking/2008/06/04.txt @@ -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 +
whats/cooking/2008/07/01.txt
+415
new file mode 100644 index 0000000000..abdef9ceb8 --- /dev/null +++ b/whats/cooking/2008/07/01.txt @@ -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 +
whats/cooking/2008/07/02.txt
+329
new file mode 100644 index 0000000000..52e94cf978 --- /dev/null +++ b/whats/cooking/2008/07/02.txt @@ -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". +
whats/cooking/2008/07/03.txt
+283
new file mode 100644 index 0000000000..24bc5c0221 --- /dev/null +++ b/whats/cooking/2008/07/03.txt @@ -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. +
whats/cooking/2008/07/04.txt
+268
new file mode 100644 index 0000000000..f96c579eeb --- /dev/null +++ b/whats/cooking/2008/07/04.txt @@ -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. +
whats/cooking/2008/07/05.txt
+303
new file mode 100644 index 0000000000..b5cd39546f --- /dev/null +++ b/whats/cooking/2008/07/05.txt @@ -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. + +
whats/cooking/2008/07/06.txt
+244
new file mode 100644 index 0000000000..4a7c45b256 --- /dev/null +++ b/whats/cooking/2008/07/06.txt @@ -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. +
whats/cooking/2008/07/07.txt
+233
new file mode 100644 index 0000000000..5f0e2f25dd --- /dev/null +++ b/whats/cooking/2008/07/07.txt @@ -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. +
whats/cooking/2008/07/08.txt
+180
new file mode 100644 index 0000000000..6b8d02b721 --- /dev/null +++ b/whats/cooking/2008/07/08.txt @@ -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. +
whats/cooking/2008/07/09.txt
+198
new file mode 100644 index 0000000000..0620c89513 --- /dev/null +++ b/whats/cooking/2008/07/09.txt @@ -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. +
whats/cooking/2008/07/10.txt
similarity index 100% rename from whatscooking.txt rename to whats/cooking/2008/07/10.txt
whats/in/2008/06/01.txt
+88
new file mode 100644 index 0000000000..aa28622e76 --- /dev/null +++ b/whats/in/2008/06/01.txt @@ -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 +
whats/in/2008/06/02.txt
+43
new file mode 100644 index 0000000000..24d88fa159 --- /dev/null +++ b/whats/in/2008/06/02.txt @@ -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 +
whats/in/2008/06/03.txt
+65
new file mode 100644 index 0000000000..6cc28fa3c5 --- /dev/null +++ b/whats/in/2008/06/03.txt @@ -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 +
whats/in/2008/06/04.txt
+42
new file mode 100644 index 0000000000..8395f2e96e --- /dev/null +++ b/whats/in/2008/06/04.txt @@ -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 +
whats/in/2008/07/01.txt
+301
new file mode 100644 index 0000000000..7d5e7f6cac --- /dev/null +++ b/whats/in/2008/07/01.txt @@ -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 +
whats/in/2008/07/02.txt
+126
new file mode 100644 index 0000000000..9edc43a84e --- /dev/null +++ b/whats/in/2008/07/02.txt @@ -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 +
whats/in/2008/07/03.txt
+81
new file mode 100644 index 0000000000..ab781e0e0f --- /dev/null +++ b/whats/in/2008/07/03.txt @@ -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 +
whats/in/2008/07/04.txt
+111
new file mode 100644 index 0000000000..2d39d5c11b --- /dev/null +++ b/whats/in/2008/07/04.txt @@ -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 +
whats/in/2008/07/05.txt
+117
new file mode 100644 index 0000000000..73dafc520d --- /dev/null +++ b/whats/in/2008/07/05.txt @@ -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' +
whats/in/2008/07/06.txt
+90
new file mode 100644 index 0000000000..ad7013923a --- /dev/null +++ b/whats/in/2008/07/06.txt @@ -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 +
whats/in/2008/07/07.txt
+51
new file mode 100644 index 0000000000..acdda3d878 --- /dev/null +++ b/whats/in/2008/07/07.txt @@ -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 +
whats/in/2008/07/08.txt
similarity index 100% rename from whatsin.txt rename to whats/in/2008/07/08.txt