What's cooking (2012/03 #01)

todo
Junio C Hamano 2012-03-01 15:55:37 -08:00
parent 98193eafc6
commit f0339e0630
1 changed files with 133 additions and 192 deletions

View File

@ -1,9 +1,9 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Feb 2012, #09; Sun, 26)
X-master-at: 3724cc7c58df709cffbf6cc0701d1ca6fa5a5ba2
X-next-at: 62a6ddf54b0fda0c3cc0e609af05c6ce3503f51c
Subject: What's cooking in git.git (Mar 2012, #01; Thu, 1)
X-master-at: 797166cfafb516a713fa442bfc0411a7d2e131e3
X-next-at: a05ebf3088f87d3d8ec8c7fa8670b525d16eeede

What's cooking in git.git (Feb 2012, #09; Sun, 26)
What's cooking in git.git (Mar 2012, #01; Thu, 1)
--------------------------------------------------

Here are the topics that have been cooking. Commits prefixed with '-' are
@ -17,173 +17,99 @@ repositories listed at
--------------------------------------------------
[New Topics]

* jc/am-3-nonstandard-popt (2012-02-26) 2 commits
(merged to 'next' on 2012-02-26 at 62a6ddf)
+ test: "am -3" can accept non-standard -p<num>
(merged to 'next' on 2012-02-26 at 1363bd6)
+ am -3: allow nonstandard -p<num> option
* jc/maint-diff-patch-header (2012-03-01) 4 commits
- diff --ignore-mode-change
- diff -p: squelch "diff --git" header for stat-dirty paths
- t4011: illustrate "diff-index -p" on stat-dirty paths
- t4011: modernise style

The code to synthesize the fake ancestor tree used by 3-way merge
fallback in "git am" was not prepared to read a patch created with
a non-standard -p<num> value.
The last one is entirely optional as its utility is unknown, but
the first three fixes a long-standing corner case buglet.

* cb/fsck-squelch-dangling (2012-02-26) 1 commit
- fsck: do not print dangling objects by default
* jk/symbolic-ref-short (2012-02-27) 1 commit
(merged to 'next' on 2012-02-28 at d00f766)
+ symbolic-ref --short: abbreviate the output unambiguously

Introduces "fsck --dangling" and removes the output for dangling objects
from the default output.
"git symbolic-ref" learned the "--short" option to abbreviate the refname
it shows unambiguously.

I personally do not think it is worth risking backward compatibility in
the way this patch implements the squelching of the output. An approach
to add --no-dangling option without changing the default would be OK,
though.
* nd/optim-connected (2012-02-29) 1 commit
- Perform cheaper connectivity check when pack is used as medium

* rf/no-no-no-parseopt (2012-02-26) 3 commits
- parse-options: remove PARSE_OPT_NEGHELP
- parse-options: allow positivation of options starting, with no-
- test-parse-options: convert to OPT_BOOL()
* tr/maint-bundle-boundary (2012-03-01) 3 commits
- bundle: keep around names passed to add_pending_object()
- t5510: ensure we stay in the toplevel test dir
- t5510: refactor bundle->pack conversion

Options that use PARSE_OPT_NEGHELP needed to word their help text in
a strange way.
* nd/threaded-index-pack (2012-02-28) 2 commits
. index-pack: support multithreaded delta resolving
. index-pack: split second pass obj handling into own function

Produces a corrupt pack. Will discard.

--------------------------------------------------
[Graduated to "master"]

* fc/push-prune (2012-02-22) 4 commits
(merged to 'next' on 2012-02-23 at 8044055)
+ push: add '--prune' option
+ remote: refactor code into alloc_delete_ref()
+ remote: reorganize check_pattern_match()
+ remote: use a local variable in match_push_refs()
* cn/maint-branch-with-bad (2012-02-27) 1 commit
(merged to 'next' on 2012-02-28 at a37929e)
+ branch: don't assume the merge filter ref exists

"git push" learned the "--prune" option, similar to "git fetch".
"git branch --with $that" assumed incorrectly that the user will never
ask the question with nonsense value in $that.

* jb/filter-ignore-sigpipe (2012-02-21) 1 commit
(merged to 'next' on 2012-02-23 at 605dd39)
+ Ignore SIGPIPE when running a filter driver

When the filter driver exits before reading the content before the main
git process writes the contents to be filtered to the pipe to it, the
latter could be killed with SIGPIPE instead of ignoring such an event as
an error.

* jc/add-refresh-unmerged (2012-02-17) 1 commit
(merged to 'next' on 2012-02-21 at 09f8721)
+ refresh_index: do not show unmerged path that is outside pathspec

"git add --refresh <pathspec>" warned about unmerged paths outside the
given pathspec.

* jc/doc-merge-options (2012-02-22) 1 commit
(merged to 'next' on 2012-02-23 at dcf1d13)
+ Documentation/merge-options.txt: group "ff" related options together

Documentation for "git merge" had "--ff-only" far away from other options
related to the handling of fast-forward merges.

* jk/config-include (2012-02-17) 10 commits
(merged to 'next' on 2012-02-20 at 7b150b7)
+ config: add include directive
+ config: eliminate config_exclusive_filename
+ config: stop using config_exclusive_filename
+ config: provide a version of git_config with more options
+ config: teach git_config_rename_section a file argument
+ config: teach git_config_set_multivar_in_file a default path
+ config: copy the return value of prefix_filename
+ t1300: add missing &&-chaining
+ docs/api-config: minor clarifications
+ docs: add a basic description of the config API

An assignment to the include.path pseudo-variable causes the named file
to be included in-place when Git looks up configuration variables.

* jk/maint-avoid-streaming-filtered-contents (2012-02-24) 3 commits
(merged to 'next' on 2012-02-26 at 25e014c)
+ do not stream large files to pack when filters are in use
+ teach dry-run convert_to_git not to require a src buffer
+ teach convert_to_git a "dry run" mode

The bulk check-in codepath streamed contents that needs smudge/clean
filters without running them, instead of punting and delegating to the
codepath to run filters after slurping everything to core.

* jn/gitweb-search-optim (2012-02-23) 3 commits
(merged to 'next' on 2012-02-23 at 9f9125f)
+ gitweb: Faster project search
+ gitweb: Option for filling only specified info in fill_project_list_info
+ gitweb: Refactor checking if part of project info need filling
(this branch is used by jn/gitweb-hilite-regions.)

"gitweb" learns to read various pieces of information for the repositories
lazily, instead of reading everything that could be needed (including the
ones that are not necessary for a specific task).

* js/configure-libintl (2012-02-20) 1 commit
(merged to 'next' on 2012-02-21 at 79d7ccc)
+ configure: don't use -lintl when there is no gettext support

Build fix for autoconf, meant for 'maint' track.

* ld/git-p4-expanded-keywords (2012-02-14) 1 commit
(merged to 'next' on 2012-02-16 at a9004c5)
+ git-p4: add initial support for RCS keywords

Teach git-p4 to unexpand $RCS$-like keywords that are embedded in
tracked contents in order to reduce unnecessary merge conflicts.

Replaced with the rerolled patch.

* pj/remote-set-branches-usage-fix (2012-02-19) 1 commit
(merged to 'next' on 2012-02-21 at cb71d0e)
+ remote: fix set-branches usage and documentation
* cn/maint-rev-list-doc (2012-02-28) 1 commit
(merged to 'next' on 2012-02-28 at f21c627)
+ Documentation: use {asterisk} in rev-list-options.txt when needed

Documentation fix.

* sp/smart-http-failure-to-push (2012-02-23) 1 commit
(merged to 'next' on 2012-02-23 at fe0b2aa)
+ disconnect from remote helpers more gently
* jb/required-filter (2012-02-17) 1 commit
(merged to 'next' on 2012-02-26 at e9ba88a)
+ Add a setting to require a filter to be successful

When a remote helper exits before reading the blank line from the main git
process to signal the end of commands, the latter could be killed with
SIGPIPE. Instead we should ignore such event as a non-error.
A content filter used to be a way to make the recorded contents "more
useful", but this defines a way to optionally mark a filter "required".

* tr/maint-bundle-long-subject (2012-02-23) 4 commits
(merged to 'next' on 2012-02-23 at b2c1605)
+ t5704: match tests to modern style
+ strbuf: improve strbuf_get*line documentation
+ bundle: use a strbuf to scan the log for boundary commits
+ bundle: put strbuf_readline_fd in strbuf.c with adjustments
* jn/maint-gitweb-invalid-regexp (2012-02-28) 1 commit
(merged to 'next' on 2012-02-28 at 6789570)
+ gitweb: Handle invalid regexp in regexp search

"git bundle create" produced a corrupt bundle file upon seeing commits
with excessively long subject line.
An invalid regular expression pattern given by an end user made "gitweb"
to return garbled response.

* tr/perftest (2012-02-17) 3 commits
(merged to 'next' on 2012-02-20 at 4c75ba9)
+ Add a performance test for git-grep
+ Introduce a performance testing framework
+ Move the user-facing test library to test-lib-functions.sh
* nd/maint-verify-objects (2012-02-28) 2 commits
(merged to 'next' on 2012-02-28 at a5e9b09)
+ rev-list: fix --verify-objects --quiet becoming --objects
+ rev-list: remove BISECT_SHOW_TRIED flag

The beginning of a new performance benchmark framework.
"git rev-list --verify-objects -q" omitted the extra verification it
needs to do over "git rev-list --objects -q" by mistake.

* ph/cherry-pick-advice-refinement (2012-02-22) 1 commit
(merged to 'next' on 2012-02-26 at 1c930c3)
+ cherry-pick: No advice to commit if --no-commit

The advice given by a conflicted "cherry-pick --no-commit" told the user
to make a commit after resolving conflicts.

* pj/completion-remote-set-url-branches (2012-02-22) 2 commits
(merged to 'next' on 2012-02-26 at 0062008)
+ completion: normalize increment/decrement style
+ completion: remote set-* <name> and <branch>

--------------------------------------------------
[Stalled]

* jc/diff-ignore-case (2012-02-19) 6 commits
- diff -i
- diff: --ignore-case
- xdiff: introduce XDF_IGNORE_CASE
- xdiff: introduce XDF_INEXACT_MATCH
- xdiff: PATIENCE/HISTOGRAM are not independent option bits
- xdiff: remove XDL_PATCH_* macros
* jc/diff-ignore-case (2012-02-28) 6 commits
. diff: -i is "--ignore-case" but means a bit more in "log"
. diff: --ignore-case
. xdiff: introduce XDF_IGNORE_CASE
. xdiff: introduce XDF_INEXACT_MATCH
. xdiff: PATIENCE/HISTOGRAM are not independent option bits
. xdiff: remove XDL_PATCH_* macros

"git diff" learns "--ignore-case" option.

Commits near the tip need to be better titled.

* jc/pickaxe-ignore-case (2012-02-21) 1 commit
- pickaxe: allow -i to search in patch case-insensitively

The original "-S" pickaxe probably needs to be taught about the option.
Will discard, as nobody seems to need this.

* jl/maint-submodule-relative (2012-02-09) 2 commits
- submodules: always use a relative path from gitdir to work tree
@ -246,69 +172,84 @@ out. The plan is not working :-(.
--------------------------------------------------
[Cooking]

* zj/diff-stat-dyncol (2012-02-24) 10 commits
- diff --stat: add config option to limit graph width
- diff --stat: enable limiting of the graph part
- diff --stat: add a test for output with COLUMNS=40
- diff --stat: use a maximum of 5/8 for the filename part
- merge --stat: use the full terminal width
- log --stat: use the full terminal width
- show --stat: use the full terminal width
- diff --stat: use the full terminal width
- diff --stat: tests for long filenames and big change counts
- Merge branches zj/decimal-width, zj/term-columns and jc/diff-stat-scaler
* jc/pickaxe-ignore-case (2012-02-28) 2 commits
- pickaxe: allow -i to search in patch case-insensitively
- grep: use static trans-case table

Rerolled.
"git log -G/-S" pays attention to the "-i" option.

* nd/columns (2012-02-26) 11 commits
* rs/no-no-no-parseopt (2012-02-28) 3 commits
(merged to 'next' on 2012-02-29 at 94e60d0)
+ parse-options: remove PARSE_OPT_NEGHELP
+ parse-options: allow positivation of options starting, with no-
+ test-parse-options: convert to OPT_BOOL()

Options that use PARSE_OPT_NEGHELP needed to word their help text in
a strange way, and this gets rid of the uses of them.

* jc/am-3-nonstandard-popt (2012-02-26) 2 commits
(merged to 'next' on 2012-02-26 at 62a6ddf)
+ test: "am -3" can accept non-standard -p<num>
(merged to 'next' on 2012-02-26 at 1363bd6)
+ am -3: allow nonstandard -p<num> option

The code to synthesize the fake ancestor tree used by 3-way merge
fallback in "git am" was not prepared to read a patch created with
a non-standard -p<num> value.

* cb/fsck-squelch-dangling (2012-02-28) 1 commit
(merged to 'next' on 2012-02-29 at 9057e12)
+ fsck: --no-dangling omits "dangling object" information

I've butchered Clemens's patch and added "--no-dangling", and reverted
the part that flips the default. I also took the authorship blame, as
I do not share the final goal with him, but our first steps should be
in the same direction, which is this patch.

* zj/diff-stat-dyncol (2012-03-01) 10 commits
(merged to 'next' on 2012-03-01 at 79b4152)
+ diff --stat: add config option to limit graph width
+ diff --stat: enable limiting of the graph part
+ diff --stat: add a test for output with COLUMNS=40
+ diff --stat: use a maximum of 5/8 for the filename part
+ merge --stat: use the full terminal width
+ log --stat: use the full terminal width
+ show --stat: use the full terminal width
+ diff --stat: use the full terminal width
+ diff --stat: tests for long filenames and big change counts
+ Merge branches zj/decimal-width, zj/term-columns and jc/diff-stat-scaler

Rerolled again and looking good.

* nd/columns (2012-02-28) 10 commits
- tag: add --column
- column: support piping stdout to external git-column process
- status: add --column
- branch: add --column
- help: reuse print_columns() for help -a
- column: add column.ui for default column output settings
- column: support columns with different widths
- column: add dense layout support
- column: add columnar layout
- Stop starting pager recursively
- Add git-column and column mode parsing
- column: add API to print items in columns
- Add git-column for columnar display

Rerolled.
Rerolled, but the configuration handling looked iffy.

* ph/cherry-pick-advice-refinement (2012-02-22) 1 commit
(merged to 'next' on 2012-02-26 at 1c930c3)
+ cherry-pick: No advice to commit if --no-commit
* th/git-diffall (2012-02-27) 1 commit
(merged to 'next' on 2012-02-28 at 4ba7a15)
+ contrib: add git-diffall script

The advice given by a conflicted "cherry-pick --no-commit" told the user
to make a commit after resolving conflicts.

Will merge to "master".

* pj/completion-remote-set-url-branches (2012-02-22) 2 commits
(merged to 'next' on 2012-02-26 at 0062008)
+ completion: normalize increment/decrement style
+ completion: remote set-* <name> and <branch>

Will merge to "master".

* th/git-diffall (2012-02-24) 1 commit
- contrib: added git-diffall
A sample script that drives an external tool that compares two
directories, by populating two temporary directories with contents of
two revisions in Git.

* jn/gitweb-hilite-regions (2012-02-26) 4 commits
- gitweb: Highlight matched part of shortened project description
- gitweb: Highlight matched part of project description when searching projects
- gitweb: Highlight matched part of project name when searching projects
- gitweb: Introduce esc_html_match_hl and esc_html_hl_regions
(merged to 'next' on 2012-02-28 at 3244f30)
+ gitweb: Highlight matched part of shortened project description
+ gitweb: Highlight matched part of project description when searching projects
+ gitweb: Highlight matched part of project name when searching projects
+ gitweb: Introduce esc_html_match_hl and esc_html_hl_regions

Project search in "gitweb" shows the substring that matched in the project
name and description highlighted. The highlighting logic is meant to be
reused later for other kinds of searches e.g. grep and commit log search.

* jb/required-filter (2012-02-17) 1 commit
(merged to 'next' on 2012-02-26 at e9ba88a)
+ Add a setting to require a filter to be successful

A content filter used to be a way to make the recorded contents "more
useful", but this defines a way to optionally mark a filter "required".

Will merge to "master".