From: Junio C Hamano <hidden> Date: 2016-06-15 22:44:44
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's been a while since the last issue of this series. I've been
swamped, and haven't had a chance to spend enough time on reviewing and
accepting patches.
A rough timeline from now on.
* 1.5.6-rc3 this weekend.
* 1.5.6 Final (2008-06-20).
----------------------------------------------------------------
[New Topics]
* 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
* rs/attr (Sun Jun 8 17:16:11 2008 +0200) 1 commit
+ Ignore .gitattributes in bare repositories
* 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/*
None of the above are 1.5.6 material, except for the "ignore
.gitattributes file in bare repositories" from René, which I think we
should have.
----------------------------------------------------------------
[Graduated to "master"]
Nothing this week.
----------------------------------------------------------------
[Stalled]
* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
+ "git push": tellme-more protocol extension
Allows common ancestor negotiation for git-push to help people with shared
repository workflow in certain minority situations. The lack of protocol
support has been bugging me for quite some time, and that was the reason I
did this.
This needs debugging.
* 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).
* 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
This may complement the proposed "sequencer" GSoC project. Dscho seems to
have quite a strong objection to the 'mark' syntax and mechanism being
unnecessarily complex. Let's wait and see if a less complex but equally
expressive alternative materializes...
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 but it appears
neither will happen by 1.5.6 anyway.
* 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
----------------------------------------------------------------
[On Hold]
* 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.
* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
- merge: remove deprecated summary and diffstat options and config
variables
This needs to be held back, as it actually removes the support for
features that the main part of the series deprecates, until 1.6.0 or
later.
* 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.
* 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.
From: Junio C Hamano <hidden> Date: 2016-06-15 22:44:47
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's been a while since the last issue of this series. I've been
swamped, and haven't had a chance to spend enough time on reviewing and
accepting patches.
A rough timeline from now on.
* 1.5.6 Final (late this week).
----------------------------------------------------------------
[New Topics]
* 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
Would be helpful 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.
* lw/perlish (Tue Jun 17 08:59:51 2008 +0200) 2 commits
- Git.pm: add test suite
- t/test-lib.sh: add test_external and test_external_without_stderr
IO::String dependency is a bit worrysome, and the error diagnostic could
hopefully be made more obvious, but I do not have a fundamental objection
to this series.
* 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"]
* rs/attr (Sun Jun 8 17:16:11 2008 +0200) 1 commit
+ Ignore .gitattributes in bare repositories
----------------------------------------------------------------
[On Hold]
* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
+ "git push": tellme-more protocol extension
Allows common ancestor negotiation for git-push to help people with shared
repository workflow in certain minority situations. The lack of protocol
support has been bugging me for quite some time, and that was the reason I
did this.
This needs debugging.
* 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).
* 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. There is no
fundamental reason to favor one over the other, so I'll be torn after
1.5.6 happens, but not before.
* 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/*
* 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.
* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
- merge: remove deprecated summary and diffstat options and config
variables
This needs to be held back, as it actually removes the support for
features that the main part of the series deprecates, until 1.6.0 or
later.
* 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.
* 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.
From: Johan Herland <hidden> Date: 2016-06-15 22:44:47
On Wednesday 18 June 2008, Junio C Hamano wrote:
[New Topics]
* 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
Would be helpful cloning from a repository with insanely large number of
refs.
The first 3 patches (i.e. the bottom 3 in the above list) might be
considered general cleanup patches, and are independent of each other (i.e.
you might want to include them on their own merit, independently of patch
#4).
The final patch doesn't make any difference for "regular" repos (e.g.
git.git with ~200 refs) on Linux (see below). But once the number of refs
increase, the difference becomes obvious.
Here are some numbers to give some more context:
All tests done on 64-bit quad-core Linux, cloning locally (hard-linked):
~200 refs (git.git):
current next: 0.2s
w/above patches: 0.2s
~1000 refs (test repo):
current next: 0.16s
w/above patches: 0.05s
~11000 refs (test repo):
current next: 1.3s
w/above patches: 0.3s
~26000 refs (actual repo at $dayjob):
current next: 3.2s
w/above patches: 0.8s
Regards,
...Johan
--
Johan Herland, [off-list ref]
www.herland.net
From: Junio C Hamano <hidden> Date: 2016-06-15 22:44:48
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.
On Sat, Jun 21, 2008 at 02:44:50AM -0700, Junio C Hamano [off-list ref] wrote:
* 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.
I may be wrong, but given that git-upload-pack/receive-pack is now not
in PATH, I think it will be problematic to do a pull/push in case the
server runs next, the client is 1.5.6 and the user has git-shell as
shell, for example.
Or have I missed something?
Thanks
From: Junio C Hamano <hidden> Date: 2016-06-15 22:44:48
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
On Mon, Jun 23, 2008 at 12:15:35AM -0700, Junio C Hamano [off-list ref] wrote:
* 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
"Add new test case to ensure git-merge reduces octopus parents when
possible" does exactly the same as "Add new test case to ensure
git-merge filters for independent parents", so I think you should drop
the later. Only the name of the test and the commit message differs, and
I think we want to avoid redundancy in the testsuite. ;-)