mirror of
https://github.com/git/git.git
synced 2026-01-20 15:39:49 +00:00
What's cooking (2008/06 #04)
This commit is contained in:
@@ -1,93 +1,209 @@
|
||||
Subject: What's cooking in git.git (Jun 2008, issue #03; Wed, 25)
|
||||
Subject: What's cooking in git.git (Jun 2008, issue #04; Mon, 30)
|
||||
|
||||
What's cooking in git.git (Jun 2008, issue #03; Wed, 25)
|
||||
What's cooking in git.git (Jun 2008, issue #04; Mon, 30)
|
||||
--------------------------------------------------------
|
||||
|
||||
Here are the topics that have been cooking. Commits prefixed
|
||||
with '-' are only in 'pu' while commits prefixed with '+' are
|
||||
in 'next'.
|
||||
|
||||
The topics list the commits in reverse chronological order.
|
||||
The topics list the commits in reverse chronological order. The topics
|
||||
meant to be applied to the maintenance series have "maint-" in their
|
||||
names.
|
||||
|
||||
It already is beginning to become clear what 1.6.0 will look like. What's
|
||||
already in 'next' all are well intentioned (I do not guarantee they are
|
||||
already bug-free --- that is what cooking them in 'next' is for) and are
|
||||
good set of feature enhancements. But bigger changes will be:
|
||||
good set of feature enhancements. Bigger changes will be:
|
||||
|
||||
* MinGW will be in.
|
||||
|
||||
* /usr/bin/git-cat-file is no more. The bulk of the git commands will
|
||||
move to /usr/libexec/git-core/ or somesuch.
|
||||
* With the default Makefile settings, most of the programs will be
|
||||
installed outside your $PATH, except for "git", "gitk", "git-gui" and
|
||||
some server side programs that need to be accessible for technical
|
||||
reasons. Invoking a git subcommand as "git-xyzzy" from the command
|
||||
line has been deprecated since early 2006 (and officially announced in
|
||||
1.5.4 release notes); use of them from your scripts after adding
|
||||
output from "git --exec-path" to the $PATH will still be supported in
|
||||
1.6.0, but users are again strongly encouraged to adjust their
|
||||
scripts to use "git xyzzy" form, as we will stop installing
|
||||
"git-xyzzy" hardlinks for built-in commands in later releases.
|
||||
|
||||
* git-merge will be rewritten in C.
|
||||
|
||||
* default pack and idx versions will be updated as scheduled for some
|
||||
time ago.
|
||||
|
||||
----------------------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
|
||||
- Migrate git-blame to parse-option partially.
|
||||
- parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
|
||||
- parse-opt: fake short strings for callers to believe in.
|
||||
- parse-opt: do not pring errors on unknown options, return -2
|
||||
intead.
|
||||
- parse-opt: create parse_options_step.
|
||||
- parse-opt: Export a non NORETURN usage dumper.
|
||||
- parse-opt: have parse_options_{start,end}.
|
||||
|
||||
----------------------------------------------------------------
|
||||
[Will merge to master soon]
|
||||
|
||||
* lw/gitweb (Thu Jun 19 22:03:21 2008 +0200) 1 commit
|
||||
+ gitweb: standarize HTTP status codes
|
||||
|
||||
* lt/config-fsync (Wed Jun 18 15:18:44 2008 -0700) 4 commits
|
||||
+ Add config option to enable 'fsync()' of object files
|
||||
+ Split up default "i18n" and "branch" config parsing into helper
|
||||
routines
|
||||
+ Split up default "user" config parsing into helper routine
|
||||
+ Split up default "core" config parsing into helper routine
|
||||
|
||||
* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
|
||||
+ Keep some git-* programs in $(bindir)
|
||||
+ Move all dashed-form commands to libexecdir
|
||||
|
||||
Scheduled for 1.6.0. We'll leave server-side programs in $(bindir)
|
||||
so that ssh clients can ask for "git-program" and find them on the $PATH.
|
||||
Scheduled for 1.6.0. We'll leave server-side programs in $(bindir) so
|
||||
that ssh clients can ask for "git-program" and find them on the $PATH.
|
||||
Next major release after 1.6.0 would most likely remove the hardlinks to
|
||||
built-in commands, but not yet.
|
||||
|
||||
* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
|
||||
+ merge: remove deprecated summary and diffstat options and config
|
||||
variables
|
||||
|
||||
* sr/tests (Sun Jun 8 16:04:35 2008 +0200) 3 commits
|
||||
+ Hook up the result aggregation in the test makefile.
|
||||
+ A simple script to parse the results from the testcases
|
||||
+ Modify test-lib.sh to output stats to t/test-results/*
|
||||
|
||||
* 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.
|
||||
* 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]
|
||||
|
||||
* mv/merge-in-c (Sat Jun 21 19:15:35 2008 +0200) 12 commits
|
||||
* 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
|
||||
- Build in merge
|
||||
- Introduce reduce_heads()
|
||||
- Introduce get_merge_bases_many()
|
||||
- Add new test to ensure git-merge handles more than 25 refs.
|
||||
@@ -100,15 +216,7 @@ Beginning of regression tests for Perl part of the system.
|
||||
- Move commit_list_count() to commit.c
|
||||
- Move split_cmdline() to alias.c
|
||||
|
||||
I dropped the change to parseopt in this series and fixed up the caller.
|
||||
|
||||
* jc/dashless (Sat Dec 1 22:09:22 2007 -0800) 2 commits
|
||||
+ Prepare execv_git_cmd() for removal of builtins from the
|
||||
filesystem
|
||||
+ git-shell: accept "git foo" form
|
||||
|
||||
We do not plan to remove git-foo form completely from the filesystem at
|
||||
this point, but git-shell may need to be updated.
|
||||
The last one is still in flux.
|
||||
|
||||
* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
|
||||
+ Eliminate an unnecessary chdir("..")
|
||||
@@ -117,23 +225,28 @@ this point, but git-shell may need to be updated.
|
||||
+ Implement normalize_absolute_path
|
||||
|
||||
* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
|
||||
- rerere.autoupdate
|
||||
- t4200: fix rerere test
|
||||
- rerere: remove dubious "tail_optimization"
|
||||
- git-rerere: detect unparsable conflicts
|
||||
- rerere: rerere_created_at() and has_resolution() abstraction
|
||||
+ rerere.autoupdate
|
||||
+ t4200: fix rerere test
|
||||
+ rerere: remove dubious "tail_optimization"
|
||||
+ git-rerere: detect unparsable conflicts
|
||||
+ rerere: rerere_created_at() and has_resolution() abstraction
|
||||
|
||||
* sb/rebase (Sun Jun 22 01:55:50 2008 +0200) 2 commits
|
||||
+ t3404: stricter tests for git-rebase--interactive
|
||||
+ api-builtin.txt: update and fix typo
|
||||
A new configuration will allow paths that have been resolved cleanly by
|
||||
rerere to be updated in the index automatically.
|
||||
|
||||
* sb/maint-rebase (Sun Jun 22 16:07:02 2008 +0200) 1 commit
|
||||
+ git-rebase.sh: Add check if rebase is in progress
|
||||
* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
|
||||
- Migrate git-blame to parse-option partially.
|
||||
- parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
|
||||
- parse-opt: fake short strings for callers to believe in.
|
||||
- parse-opt: do not pring errors on unknown options, return -2
|
||||
intead.
|
||||
- parse-opt: create parse_options_step.
|
||||
- parse-opt: Export a non NORETURN usage dumper.
|
||||
- parse-opt: have parse_options_{start,end}.
|
||||
|
||||
----------------------------------------------------------------
|
||||
[Graduated to "master"]
|
||||
|
||||
|
||||
----------------------------------------------------------------
|
||||
[On Hold]
|
||||
|
||||
@@ -142,59 +255,6 @@ this point, but git-shell may need to be updated.
|
||||
|
||||
Waiting for success reports from people who use various backends.
|
||||
|
||||
* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 39 commits
|
||||
- compat/pread.c: Add a forward declaration to fix a warning
|
||||
- Windows: Fix ntohl() related warnings about printf formatting
|
||||
- Windows: TMP and TEMP environment variables specify a temporary
|
||||
directory.
|
||||
- Windows: Make 'git help -a' work.
|
||||
- Windows: Work around an oddity when a pipe with no reader is
|
||||
written to.
|
||||
- Windows: Make the pager work.
|
||||
- When installing, be prepared that template_dir may be relative.
|
||||
- Windows: Use a relative default template_dir and ETC_GITCONFIG
|
||||
- Windows: Compute the fallback for exec_path from the program
|
||||
invocation.
|
||||
- Turn builtin_exec_path into a function.
|
||||
- Windows: Use a customized struct stat that also has the st_blocks
|
||||
member.
|
||||
- Windows: Add a custom implementation for utime().
|
||||
- Windows: Add a new lstat and fstat implementation based on Win32
|
||||
API.
|
||||
- Windows: Implement a custom spawnve().
|
||||
- Windows: Implement wrappers for gethostbyname(), socket(), and
|
||||
connect().
|
||||
- Windows: Work around incompatible sort and find.
|
||||
- Windows: Implement asynchronous functions as threads.
|
||||
- Windows: Disambiguate DOS style paths from SSH URLs.
|
||||
- Windows: A rudimentary poll() emulation.
|
||||
- Windows: Change the name of hook scripts to make them not
|
||||
executable.
|
||||
- Windows: Implement start_command().
|
||||
- Windows: A pipe() replacement whose ends are not inherited to
|
||||
children.
|
||||
- Windows: Wrap execve so that shell scripts can be invoked.
|
||||
- Windows: Implement setitimer() and sigaction().
|
||||
- Windows: Fix PRIuMAX definition.
|
||||
- Windows: Implement gettimeofday().
|
||||
- Make my_mktime() public and rename it to tm_to_time_t()
|
||||
- Windows: Work around misbehaved rename().
|
||||
- Windows: always chmod(, 0666) before unlink().
|
||||
- Windows: A minimal implemention of getpwuid().
|
||||
- Windows: Implement a wrapper of the open() function.
|
||||
- Windows: Strip ".exe" from the program name.
|
||||
- Windows: Handle absolute paths in
|
||||
safe_create_leading_directories().
|
||||
- Windows: Treat Windows style path names.
|
||||
- setup.c: Prepare for Windows directory separators.
|
||||
- Windows: Use the Windows style PATH separator ';'.
|
||||
- Add target architecture MinGW.
|
||||
- Compile some programs only conditionally.
|
||||
- Add compat/regex.[ch] and compat/fnmatch.[ch].
|
||||
|
||||
No explanation is necessary ;-). The series is probably 'next' worthy
|
||||
as-is, except that template renaming hack won't be needed anymore.
|
||||
|
||||
* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
|
||||
- diff: enable "too large a rename" warning when -M/-C is explicitly
|
||||
asked for
|
||||
@@ -205,22 +265,6 @@ hit due to tcl/tk's limitation, so I am holding this back for now.
|
||||
----------------------------------------------------------------
|
||||
[Stalled/Needs more work]
|
||||
|
||||
* jc/reflog-expire (Sun Jun 15 23:48:46 2008 -0700) 1 commit
|
||||
- Per-ref reflog expiry configuration
|
||||
|
||||
Perhaps a good foundation for optionally unexpirable stash. As 1.6.0 will
|
||||
be a good time to make backward incompatible changes, we might make expiry
|
||||
period of stash 'never' in new repositories. Needs a concensus.
|
||||
|
||||
* jc/merge-theirs (Fri Jun 20 00:17:59 2008 -0700) 2 commits
|
||||
- git-merge-recursive-{ours,theirs}
|
||||
- git-merge-file --ours, --theirs
|
||||
|
||||
Punting a merge by discarding your own work in conflicting parts but still
|
||||
salvaging the parts that are cleanly automerged. It is likely that this
|
||||
will result in nonsense mishmash, but somehow often people want this, so
|
||||
here they are. The interface to the backends may need to change, though.
|
||||
|
||||
* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
|
||||
- blame: show "previous" information in --porcelain/--incremental
|
||||
format
|
||||
|
||||
Reference in New Issue
Block a user