mirror of
https://github.com/git/git.git
synced 2026-08-07 00:22:05 +00:00
What's cooking (2016/10 #01)
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
To: git@vger.kernel.org
|
||||
Bcc: lwn@lwn.net
|
||||
Subject: What's cooking in git.git (Sep 2016, #08; Tue, 27)
|
||||
X-master-at: 21f862b498925194f8f1ebe8203b7a7df756555b
|
||||
X-next-at: 59e95dbc0e21ff4f326eb160a9f4c21e1a059f56
|
||||
Subject: What's cooking in git.git (Oct 2016, #01; Mon, 3)
|
||||
X-master-at: 0cf36115dce7438a0eafad54a81cc57175e8fb54
|
||||
X-next-at: 9af6bb63e9b9efbcd0064516a7811092873d1ddf
|
||||
|
||||
What's cooking in git.git (Sep 2016, #08; Tue, 27)
|
||||
What's cooking in git.git (Oct 2016, #01; Mon, 3)
|
||||
--------------------------------------------------
|
||||
|
||||
Here are the topics that have been cooking. Commits prefixed with
|
||||
@@ -12,6 +12,12 @@ Here are the topics that have been cooking. Commits prefixed with
|
||||
'+' are in 'next'. The ones marked with '.' do not appear in any of
|
||||
the integration branches, but I am still holding onto them.
|
||||
|
||||
With fixes since 2.10 accumulated on the 'master' front, the first
|
||||
maintenance release 2.10.1 has been tagged. The auto-abbreviation
|
||||
by Linus and Peff is now in 'next'. The tip of 'master' has quite a
|
||||
many topics merged since the last report. Pat is back and hopefully
|
||||
be more active as the git-gui maintainer. Life is good ;-)
|
||||
|
||||
You can find the changes described here in the integration branches
|
||||
of the repositories listed at
|
||||
|
||||
@@ -20,196 +26,34 @@ of the repositories listed at
|
||||
--------------------------------------------------
|
||||
[Graduated to "master"]
|
||||
|
||||
* mh/diff-indent-heuristic (2016-09-19) 8 commits
|
||||
(merged to 'next' on 2016-09-22 at e71d742)
|
||||
+ blame: honor the diff heuristic options and config
|
||||
+ parse-options: add parse_opt_unknown_cb()
|
||||
+ diff: improve positioning of add/delete blocks in diffs
|
||||
+ xdl_change_compact(): introduce the concept of a change group
|
||||
+ recs_match(): take two xrecord_t pointers as arguments
|
||||
+ is_blank_line(): take a single xrecord_t as argument
|
||||
+ xdl_change_compact(): only use heuristic if group can't be matched
|
||||
+ xdl_change_compact(): fix compaction heuristic to adjust ixo
|
||||
|
||||
Output from "git diff" can be made easier to read by selecting
|
||||
which lines are common and which lines are added/deleted
|
||||
intelligently when the lines before and after the changed section
|
||||
are the same. A command line option is added to help with the
|
||||
experiment to find a good heuristics.
|
||||
* mh/diff-indent-heuristic (2016-09-27) 1 commit
|
||||
- xdiff: rename "struct group" to "struct xdlgroup"
|
||||
|
||||
Clean-up for a recently graduated topic.
|
||||
* dt/mailinfo (2016-09-26) 1 commit
|
||||
(merged to 'next' on 2016-09-27 at 59e95dbc0e)
|
||||
+ add David Turner's Two Sigma address
|
||||
|
||||
|
||||
* rs/cocci (2016-09-15) 3 commits
|
||||
(merged to 'next' on 2016-09-22 at aa54fa4)
|
||||
+ use strbuf_addstr() for adding constant strings to a strbuf, part 2
|
||||
+ add coccicheck make target
|
||||
+ contrib/coccinelle: fix semantic patch for oid_to_hex_r()
|
||||
* dt/tree-fsck (2016-09-27) 2 commits
|
||||
(merged to 'next' on 2016-09-28 at afdfdbbf37)
|
||||
+ fsck: handle bad trees like other errors
|
||||
+ tree-walk: be more specific about corrupt tree errors
|
||||
|
||||
Code cleanup.
|
||||
The codepath in "git fsck" to detect malformed tree objects has
|
||||
been updated not to die but keep going after detecting them.
|
||||
|
||||
|
||||
* ep/doc-check-ref-format-example (2016-09-21) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at 6d0d79e)
|
||||
+ git-check-ref-format.txt: fixup documentation
|
||||
* ik/gitweb-force-highlight (2016-09-25) 2 commits
|
||||
(merged to 'next' on 2016-09-27 at cbb8391a76)
|
||||
+ gitweb: use highlight's shebang detection
|
||||
+ gitweb: remove unused guess_file_syntax() parameter
|
||||
|
||||
A shell script example in check-ref-format documentation has been
|
||||
fixed.
|
||||
|
||||
|
||||
* jk/clone-recursive-progress (2016-09-22) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at 8310c42)
|
||||
+ clone: pass --progress decision to recursive submodules
|
||||
|
||||
"git clone --recurse-submodules" lost the progress eye-candy in
|
||||
recent update, which has been corrected.
|
||||
|
||||
|
||||
* jk/doc-cvs-update (2016-09-22) 3 commits
|
||||
(merged to 'next' on 2016-09-22 at c0f949f)
|
||||
+ docs/cvs-migration: mention cvsimport caveats
|
||||
+ docs/cvs-migration: update link to cvsps homepage
|
||||
+ docs/cvsimport: prefer cvs-fast-export to parsecvs
|
||||
|
||||
Documentation around tools to import from CVS was fairly outdated.
|
||||
|
||||
|
||||
* js/regexec-buf (2016-09-21) 3 commits
|
||||
(merged to 'next' on 2016-09-22 at 2ee2477)
|
||||
+ regex: use regexec_buf()
|
||||
+ regex: add regexec_buf() that can work on a non NUL-terminated string
|
||||
+ regex: -G<pattern> feeds a non NUL-terminated string to regexec() and fails
|
||||
|
||||
Some codepaths in "git diff" used regexec(3) on a buffer that was
|
||||
mmap(2)ed, which may not have a terminating NUL, leading to a read
|
||||
beyond the end of the mapped region. This was fixed by introducing
|
||||
a regexec_buf() helper that takes a <ptr,len> pair with REG_STARTEND
|
||||
extension.
|
||||
|
||||
|
||||
* jt/format-patch-rfc (2016-09-21) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at 3b39442)
|
||||
+ format-patch: add "--rfc" for the common case of [RFC PATCH]
|
||||
|
||||
In some projects, it is common to use "[RFC PATCH]" as the subject
|
||||
prefix for a patch meant for discussion rather than application. A
|
||||
new option "--rfc" was a short-hand for "--subject-prefix=RFC PATCH"
|
||||
to help the participants of such projects.
|
||||
|
||||
|
||||
* ls/travis-homebrew-path-fix (2016-09-22) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at 310e620)
|
||||
+ travis-ci: ask homebrew for its path instead of hardcoding it
|
||||
|
||||
The procedure to build Git on Mac OS X for Travis CI hardcoded the
|
||||
internal directory structure we assumed HomeBrew uses, which was a
|
||||
no-no. The procedure has been updated to ask HomeBrew things we
|
||||
need to know to fix this.
|
||||
|
||||
|
||||
* mm/config-color-ui-default-to-auto (2016-09-16) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at 4eac0cb)
|
||||
+ Documentation/config: default for color.* is color.ui
|
||||
|
||||
Documentation for individual configuration variables to control use
|
||||
of color (like `color.grep`) said that their default value is
|
||||
'false', instead of saying their default is taken from `color.ui`.
|
||||
When we updated the default value for color.ui from 'false' to
|
||||
'auto' quite a while ago, all of them broke. This has been
|
||||
corrected.
|
||||
|
||||
|
||||
* nd/checkout-disambiguation (2016-09-21) 3 commits
|
||||
(merged to 'next' on 2016-09-22 at ebfa365)
|
||||
+ checkout: fix ambiguity check in subdir
|
||||
+ checkout.txt: document a common case that ignores ambiguation rules
|
||||
+ checkout: add some spaces between code and comment
|
||||
|
||||
"git checkout <word>" does not follow the usual disambiguation
|
||||
rules when the <word> can be both a rev and a path, to allow
|
||||
checking out a branch 'foo' in a project that happens to have a
|
||||
file 'foo' in the working tree without having to disambiguate.
|
||||
This was poorly documented and the check was incorrect when the
|
||||
command was run from a subdirectory.
|
||||
|
||||
|
||||
* rs/c-auto-resets-attributes (2016-09-19) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at 68f2e4a)
|
||||
+ pretty: let %C(auto) reset all attributes
|
||||
|
||||
The pretty-format specifier "%C(auto)" used by the "log" family of
|
||||
commands to enable coloring of the output is taught to also issue a
|
||||
color-reset sequence to the output.
|
||||
|
||||
|
||||
* rs/checkout-init-macro (2016-09-22) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at 6513755)
|
||||
+ introduce CHECKOUT_INIT
|
||||
|
||||
Code cleanup.
|
||||
|
||||
|
||||
* rt/rebase-i-broken-insn-advise (2016-09-07) 1 commit
|
||||
(merged to 'next' on 2016-09-23 at 0d12484)
|
||||
+ rebase -i: improve advice on bad instruction lines
|
||||
|
||||
When "git rebase -i" is given a broken instruction, it told the
|
||||
user to fix it with "--edit-todo", but didn't say what the step
|
||||
after that was (i.e. "--continue").
|
||||
|
||||
|
||||
* tg/add-chmod+x-fix (2016-09-21) 6 commits
|
||||
(merged to 'next' on 2016-09-22 at 6afdd21)
|
||||
+ t3700-add: do not check working tree file mode without POSIXPERM
|
||||
+ t3700-add: create subdirectory gently
|
||||
+ add: modify already added files when --chmod is given
|
||||
+ read-cache: introduce chmod_index_entry
|
||||
+ update-index: add test for chmod flags
|
||||
+ Merge branch 'ib/t3700-add-chmod-x-updates' into tg/add-chmod+x-fix
|
||||
|
||||
"git add --chmod=+x <pathspec>" added recently only toggled the
|
||||
executable bit for paths that are either new or modified. This has
|
||||
been corrected to flip the executable bit for all paths that match
|
||||
the given pathspec.
|
||||
|
||||
|
||||
* va/i18n-more (2016-09-21) 6 commits
|
||||
(merged to 'next' on 2016-09-22 at bea26e8)
|
||||
+ i18n: stash: mark messages for translation
|
||||
+ i18n: notes-merge: mark die messages for translation
|
||||
+ i18n: ident: mark hint for translation
|
||||
+ i18n: i18n: diff: mark die messages for translation
|
||||
+ i18n: connect: mark die messages for translation
|
||||
+ i18n: commit: mark message for translation
|
||||
|
||||
Even more i18n.
|
||||
|
||||
--------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* mh/diff-indent-heuristic (2016-09-27) 1 commit
|
||||
(merged to 'next' on 2016-09-27 at 3d6fb66)
|
||||
+ xdiff: rename "struct group" to "struct xdlgroup"
|
||||
|
||||
Clean-up for a recently graduated topic.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* rs/cocci (2016-09-27) 3 commits
|
||||
- use strbuf_add_unique_abbrev() for adding short hashes, part 2
|
||||
- use strbuf_addstr() instead of strbuf_addf() with "%s", part 2
|
||||
- gitignore: ignore output files of coccicheck make target
|
||||
|
||||
Code clean-up with help from coccinelle tool continues.
|
||||
|
||||
Will merge to 'next'.
|
||||
"gitweb" can spawn "highlight" to show blob contents with
|
||||
(programming) language-specific syntax highlighting, but only
|
||||
when the language is known. "highlight" can however be told
|
||||
to make the guess itself by giving it "--force" option, which
|
||||
has been enabled.
|
||||
|
||||
|
||||
* jc/verify-loose-object-header (2016-09-26) 2 commits
|
||||
(merged to 'next' on 2016-09-27 at 2947f95)
|
||||
(merged to 'next' on 2016-09-27 at 2947f95f14)
|
||||
+ unpack_sha1_header(): detect malformed object header
|
||||
+ streaming: make sure to notice corrupt object
|
||||
|
||||
@@ -218,45 +62,108 @@ of the repositories listed at
|
||||
sometimes read past the data they read from the disk, which has
|
||||
been corrected. H/t to Gustavo Grieco for reporting.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
* jc/worktree-config (2016-09-27) 1 commit
|
||||
(merged to 'next' on 2016-09-28 at 0c262f6)
|
||||
+ worktree: honor configuration variables
|
||||
|
||||
"git worktree", even though it used the default_abbrev setting that
|
||||
ought to be affected by core.abbrev configuration variable, ignored
|
||||
the variable setting. The command has been taught to read the
|
||||
default set of configuration variables to correct this.
|
||||
|
||||
|
||||
* jk/ambiguous-short-object-names (2016-09-27) 11 commits
|
||||
- get_short_sha1: make default disambiguation configurable
|
||||
- get_short_sha1: list ambiguous objects on error
|
||||
- for_each_abbrev: drop duplicate objects
|
||||
- sha1_array: let callbacks interrupt iteration
|
||||
- get_short_sha1: mark ambiguity error for translation
|
||||
- get_short_sha1: NUL-terminate hex prefix
|
||||
- get_short_sha1: refactor init of disambiguation code
|
||||
- get_short_sha1: parse tags when looking for treeish
|
||||
- get_sha1: propagate flags to child functions
|
||||
- get_sha1: avoid repeating ourselves via ONLY_TO_DIE
|
||||
- get_sha1: detect buggy calls with multiple disambiguators
|
||||
* jk/ident-ai-canonname-could-be-null (2016-09-23) 1 commit
|
||||
(merged to 'next' on 2016-09-26 at 0eefb29)
|
||||
+ ident: handle NULL ai_canonname
|
||||
|
||||
When given an abbreviated object name that is not (or more
|
||||
realistically, "no longer") unique, we gave a fatal error
|
||||
"ambiguous argument". This error is now accompanied by hints that
|
||||
lists the objects that begins with the given prefix. During the
|
||||
course of development of this new feature, numerous minor bugs were
|
||||
uncovered and corrected, the most notable one of which is that we
|
||||
gave "short SHA1 xxxx is ambiguous." twice without good reason.
|
||||
In the codepath that comes up with the hostname to be used in an
|
||||
e-mail when the user didn't tell us, we looked at ai_canonname
|
||||
field in struct addrinfo without making sure it is not NULL first.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
* jk/verify-packfile-gently (2016-09-22) 1 commit
|
||||
(merged to 'next' on 2016-09-26 at f5abba5)
|
||||
+ verify_packfile: check pack validity before accessing data
|
||||
|
||||
A low-level function verify_packfile() was meant to show errors
|
||||
that were detected without dying itself, but under some conditions
|
||||
it didn't and died instead, which has been fixed.
|
||||
|
||||
|
||||
* jt/fetch-pack-in-vain-count-with-stateless (2016-09-23) 1 commit
|
||||
(merged to 'next' on 2016-09-26 at 9645629)
|
||||
+ fetch-pack: do not reset in_vain on non-novel acks
|
||||
|
||||
When "git fetch" tries to find where the history of the repository
|
||||
it runs in has diverged from what the other side has, it has a
|
||||
mechanism to avoid digging too deep into irrelevant side branches.
|
||||
This however did not work well over the "smart-http" transport due
|
||||
to a design bug, which has been fixed.
|
||||
|
||||
|
||||
* jt/mailinfo-fold-in-body-headers (2016-09-21) 3 commits
|
||||
(merged to 'next' on 2016-09-26 at 4235eb6)
|
||||
+ mailinfo: handle in-body header continuations
|
||||
+ mailinfo: make is_scissors_line take plain char *
|
||||
+ mailinfo: separate in-body header processing
|
||||
|
||||
When "git format-patch --stdout" output is placed as an in-body
|
||||
header and it uses the RFC2822 header folding, "git am" failed to
|
||||
put the header line back into a single logical line. The
|
||||
underlying "git mailinfo" was taught to handle this properly.
|
||||
|
||||
|
||||
* kd/mailinfo-quoted-string (2016-09-28) 2 commits
|
||||
(merged to 'next' on 2016-09-28 at 2aaeb57804)
|
||||
+ mailinfo: unescape quoted-pair in header fields
|
||||
+ t5100-mailinfo: replace common path prefix with variable
|
||||
|
||||
An author name, that spelled a backslash-quoted double quote in the
|
||||
human readable part "My \"double quoted\" name", was not unquoted
|
||||
correctly while applying a patch from a piece of e-mail.
|
||||
|
||||
|
||||
* mh/diff-indent-heuristic (2016-09-27) 1 commit
|
||||
(merged to 'next' on 2016-09-27 at 3d6fb6605a)
|
||||
+ xdiff: rename "struct group" to "struct xdlgroup"
|
||||
|
||||
Clean-up for a recently graduated topic.
|
||||
|
||||
|
||||
* nd/init-core-worktree-in-multi-worktree-world (2016-09-25) 5 commits
|
||||
(merged to 'next' on 2016-09-27 at 619f7f3a3b)
|
||||
+ init: kill git_link variable
|
||||
+ init: do not set unnecessary core.worktree
|
||||
+ init: kill set_git_dir_init()
|
||||
+ init: call set_git_dir_init() from within init_db()
|
||||
+ init: correct re-initialization from a linked worktree
|
||||
|
||||
"git init" tried to record core.worktree in the repository's
|
||||
'config' file when GIT_WORK_TREE environment variable was set and
|
||||
it was different from where GIT_DIR appears as ".git" at its top,
|
||||
but the logic was faulty when .git is a "gitdir:" file that points
|
||||
at the real place, causing trouble in working trees that are
|
||||
managed by "git worktree". This has been corrected.
|
||||
|
||||
|
||||
* pb/rev-list-reverse-with-count (2016-09-27) 1 commit
|
||||
(merged to 'next' on 2016-09-28 at 2905d0adbc)
|
||||
+ rev-list-options: clarify the usage of --reverse
|
||||
|
||||
Doc update to clarify what "log -3 --reverse" does.
|
||||
|
||||
|
||||
* rs/copy-array (2016-09-25) 2 commits
|
||||
(merged to 'next' on 2016-09-27 at c92e020)
|
||||
(merged to 'next' on 2016-09-27 at c92e020669)
|
||||
+ use COPY_ARRAY
|
||||
+ add COPY_ARRAY
|
||||
|
||||
Code cleanup.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* rs/git-gui-use-modern-git-merge-syntax (2016-09-26) 2 commits
|
||||
(merged to 'next' on 2016-09-27 at f55850d)
|
||||
(merged to 'next' on 2016-09-27 at f55850df7d)
|
||||
+ Merge branch 'rs/use-modern-git-merge-syntax' of git-gui into rs/git-gui-use-modern-git-merge-syntax
|
||||
+ git-gui: stop using deprecated merge syntax
|
||||
|
||||
@@ -265,107 +172,187 @@ of the repositories listed at
|
||||
time, and "git gui" was the last in-tree user of the syntax. This
|
||||
is finally fixed, so that we can move forward with the deprecation.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* va/git-gui-i18n (2016-09-26) 3 commits
|
||||
(merged to 'next' on 2016-09-27 at ab0f66f)
|
||||
(merged to 'next' on 2016-09-27 at ab0f66ff8a)
|
||||
+ Merge branch 'va/i18n' of ../git-gui into va/git-gui-i18n
|
||||
+ git-gui: l10n: add Portuguese translation
|
||||
+ git-gui i18n: mark strings for translation
|
||||
|
||||
"git gui" l10n to Portuguese.
|
||||
|
||||
Will merge to 'master'.
|
||||
--------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* rs/cocci (2016-10-03) 4 commits
|
||||
(merged to 'next' on 2016-10-03 at 758cc6de9c)
|
||||
+ coccicheck: make transformation for strbuf_addf(sb, "...") more precise
|
||||
(merged to 'next' on 2016-09-28 at 26462645f9)
|
||||
+ use strbuf_add_unique_abbrev() for adding short hashes, part 2
|
||||
+ use strbuf_addstr() instead of strbuf_addf() with "%s", part 2
|
||||
+ gitignore: ignore output files of coccicheck make target
|
||||
|
||||
* va/i18n-perl-scripts (2016-09-25) 11 commits
|
||||
- i18n: difftool: mark warnings for translation
|
||||
- i18n: send-email: mark string with interpolation for translation
|
||||
- i18n: send-email: mark warnings and errors for translation
|
||||
- i18n: send-email: mark strings for translation
|
||||
- i18n: add--interactive: mark edit_hunk_manually message for translation
|
||||
- i18n: add--interactive: i18n of help_patch_cmd
|
||||
- i18n: add--interactive: mark message for translation
|
||||
- i18n: add--interactive: mark plural strings
|
||||
- i18n: add--interactive: mark strings with interpolation for translation
|
||||
- i18n: add--interactive: mark simple here documents for translation
|
||||
- i18n: add--interactive: mark strings for translation
|
||||
|
||||
Porcelain scripts written in Perl are getting internationalized.
|
||||
|
||||
Waiting for a reroll.
|
||||
cf. <1474913721.1035.9.camel@sapo.pt>
|
||||
|
||||
|
||||
* vn/revision-shorthand-for-side-branch-log (2016-09-27) 1 commit
|
||||
- revision: new rev^-n shorthand for rev^n..rev
|
||||
|
||||
"git log rev^..rev" is an often-used revision range specification
|
||||
to show what was done on a side branch merged at rev, which has
|
||||
gained a short-hand "rev^-1". In general "rev^-$n" is the same as
|
||||
"^rev^$n rev", i.e. what was done while the history leading to nth
|
||||
parent was looking the other way.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* dt/mailinfo (2016-09-26) 1 commit
|
||||
(merged to 'next' on 2016-09-27 at 59e95db)
|
||||
+ add David Turner's Two Sigma address
|
||||
Code clean-up with help from coccinelle tool continues.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* dt/tree-fsck (2016-09-27) 2 commits
|
||||
- fsck: handle bad trees like other errors
|
||||
- tree-walk: be more specific about corrupt tree errors
|
||||
* nd/ita-empty-commit (2016-09-28) 3 commits
|
||||
- commit: don't be fooled by ita entries when creating initial commit
|
||||
- diff-lib.c: enable --shift-ita in index_differs_from()
|
||||
- Resurrect "diff-lib.c: adjust position of i-t-a entries in diff"
|
||||
|
||||
The codepath in "git fsck" to detect malformed tree objects has
|
||||
been updated not to die but keep going after detecting them.
|
||||
When new paths were added by "git add -N" to the index, it was
|
||||
enough to circumvent the check by "git commit" to refrain from
|
||||
making an empty commit without "--allow-empty". The same logic
|
||||
prevented "git status" to show such a path as "new file" in the
|
||||
"Changes not staged for commit" section.
|
||||
|
||||
Expecting a reroll.
|
||||
cf. <xmqqzimrj03j.fsf@gitster.mtv.corp.google.com>
|
||||
cf. <xmqq8tubkgg5.fsf@gitster.mtv.corp.google.com>
|
||||
|
||||
|
||||
* jc/blame-abbrev (2016-09-28) 1 commit
|
||||
(merged to 'next' on 2016-10-03 at 8ec86ff1e1)
|
||||
+ blame: use DEFAULT_ABBREV macro
|
||||
|
||||
Almost everybody uses DEFAULT_ABBREV to refer to the default
|
||||
setting for the abbreviation, but "git blame" peeked into
|
||||
underlying variable bypassing the macro for no good reason.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* lt/abbrev-auto (2016-10-03) 3 commits
|
||||
(merged to 'next' on 2016-10-03 at bb188d00f7)
|
||||
+ abbrev: auto size the default abbreviation
|
||||
+ abbrev: prepare for new world order
|
||||
+ abbrev: add FALLBACK_DEFAULT_ABBREV to prepare for auto sizing
|
||||
(this branch uses jk/ambiguous-short-object-names.)
|
||||
|
||||
Allow the default abbreviation length, which has historically been
|
||||
7, to scale as the repository grows. The logic suggests to use 12
|
||||
hexdigits for the Linux kernel, and 9 to 10 for Git itself.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* dt/http-empty-auth (2016-10-03) 1 commit
|
||||
- http: http.emptyauth should allow empty (not just NULL) usernames
|
||||
|
||||
http.emptyauth configuration is a way to allow an empty username to
|
||||
pass when attempting to authenticate using mechanisms like
|
||||
Kerberos. We took an unspecified (NULL) username and sent ":"
|
||||
(i.e. no username, no password) to CURLOPT_USERPWD, but did not do
|
||||
the same when the username is explicitly set to an empty string.
|
||||
|
||||
cf. <20161003210100.t5nqknwfotag3lmj@sigill.intra.peff.net>
|
||||
|
||||
|
||||
* jc/diff-unique-abbrev-comments (2016-09-30) 1 commit
|
||||
- diff_unique_abbrev(): document its assumption and limitation
|
||||
|
||||
|
||||
* jk/graph-padding-fix (2016-09-29) 1 commit
|
||||
(merged to 'next' on 2016-10-03 at 3f526e0f38)
|
||||
+ graph: fix extra spaces in graph_padding_line
|
||||
|
||||
The "graph" API used in "git log --graph" miscounted the number of
|
||||
output columns consumed so far when drawing a padding line, which
|
||||
has been fixed; this did not affect any existing code as nobody
|
||||
tried to write anything after the padding on such a line, though.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jk/quarantine-received-objects (2016-10-03) 5 commits
|
||||
- tmp-objdir: do not migrate files starting with '.'
|
||||
- tmp-objdir: put quarantine information in the environment
|
||||
- receive-pack: quarantine objects until pre-receive accepts
|
||||
- tmp-objdir: introduce API for temporary object directories
|
||||
- check_connected: accept an env argument
|
||||
(this branch uses jk/alt-odb-cleanup.)
|
||||
|
||||
In order for the receiving end of "git push" to inspect the
|
||||
received history and decide to reject the push, the objects sent
|
||||
from the sending end need to be made available to the hook and
|
||||
the mechanism for the connectivity check, and this was done
|
||||
traditionally by storing the objects in the receiving repository
|
||||
and letting "git gc" to expire it. Instead, store the newly
|
||||
received objects in a temporary area, and make them available by
|
||||
reusing the alternate object store mechanism to them only while we
|
||||
decide if we accept the check, and once we decide, either migrate
|
||||
them to the repository or purge them immediately.
|
||||
|
||||
|
||||
* ps/http-gssapi-cred-delegation (2016-09-29) 1 commit
|
||||
(merged to 'next' on 2016-10-03 at 310fbe8f24)
|
||||
+ http: control GSSAPI credential delegation
|
||||
|
||||
In recent versions of cURL, GSSAPI credential delegation is
|
||||
disabled by default due to CVE-2011-2192; introduce a configuration
|
||||
to selectively allow enabling this.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* rs/c-auto-resets-attributes (2016-09-29) 1 commit
|
||||
(merged to 'next' on 2016-10-03 at 6a0b946a79)
|
||||
+ pretty: avoid adding reset for %C(auto) if output is empty
|
||||
|
||||
When "%C(auto)" appears at the very beginning of the pretty format
|
||||
string, it did not need to issue the reset sequence, but it did.
|
||||
|
||||
Will merge to 'master'.
|
||||
This is a small optimization to already graduated topic.
|
||||
|
||||
|
||||
* rs/qsort (2016-10-03) 6 commits
|
||||
- show-branch: use QSORT
|
||||
- use QSORT, part 2
|
||||
- coccicheck: use --all-includes by default
|
||||
- remove unnecessary check before QSORT
|
||||
- use QSORT
|
||||
- add QSORT
|
||||
|
||||
We call "qsort(array, nelem, sizeof(array[0]), fn)", and most of
|
||||
the time third parameter is redundant. A new QSORT() macro lets us
|
||||
omit it.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* jc/latin-1 (2016-09-26) 2 commits
|
||||
- utf8: accept "latin-1" as ISO-8859-1
|
||||
- utf8: refactor code to decide fallback encoding
|
||||
* sg/ref-filter-parse-optim (2016-10-03) 1 commit
|
||||
(merged to 'next' on 2016-10-03 at 9af6bb63e9)
|
||||
+ ref-filter: strip format option after a field name only once while parsing
|
||||
|
||||
Some platforms no longer understand "latin-1" that is still seen in
|
||||
the wild in e-mail headers; replace them with "iso-8859-1" that is
|
||||
more widely known when conversion fails from/to it.
|
||||
The code that parses the format parameter of for-each-ref command
|
||||
has seen a micro-optimization.
|
||||
|
||||
Will merge to 'next'.
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jc/worktree-config (2016-09-27) 1 commit
|
||||
- worktree: honor configuration variables
|
||||
|
||||
"git worktree", even though it used the default_abbrev setting that
|
||||
ought to be affected by core.abbrev configuration variable, ignored
|
||||
the variable setting. The command has been taught to read the
|
||||
default set of configuration variables to correct this.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* mg/gpg-richer-status (2016-09-27) 1 commit
|
||||
- gpg-interface: use more status letters
|
||||
|
||||
The GPG verification status shown in "%G?" pretty format specifier
|
||||
was not rich enough to differentiate a signature made by an expired
|
||||
key, a signature made by a revoked key, etc. New output letters
|
||||
have been assigned to express them.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* pb/rev-list-reverse-with-count (2016-09-27) 1 commit
|
||||
- rev-list-options: clarify the usage of --reverse
|
||||
|
||||
Doc update.
|
||||
|
||||
Will merge to 'next'.
|
||||
* jk/alt-odb-cleanup (2016-10-03) 18 commits
|
||||
- alternates: use fspathcmp to detect duplicates
|
||||
- sha1_file: always allow relative paths to alternates
|
||||
- count-objects: report alternates via verbose mode
|
||||
- fill_sha1_file: write into a strbuf
|
||||
- alternates: store scratch buffer as strbuf
|
||||
- fill_sha1_file: write "boring" characters
|
||||
- alternates: use a separate scratch space
|
||||
- alternates: encapsulate alt->base munging
|
||||
- alternates: provide helper for allocating alternate
|
||||
- alternates: provide helper for adding to alternates list
|
||||
- link_alt_odb_entry: refactor string handling
|
||||
- link_alt_odb_entry: handle normalize_path errors
|
||||
- t5613: clarify "too deep" recursion tests
|
||||
- t5613: do not chdir in main process
|
||||
- t5613: whitespace/style cleanups
|
||||
- t5613: use test_must_fail
|
||||
- t5613: drop test_valid_repo function
|
||||
- t5613: drop reachable_via function
|
||||
(this branch is used by jk/quarantine-received-objects.)
|
||||
|
||||
--------------------------------------------------
|
||||
[Stalled]
|
||||
@@ -668,57 +655,87 @@ of the repositories listed at
|
||||
--------------------------------------------------
|
||||
[Cooking]
|
||||
|
||||
* jk/verify-packfile-gently (2016-09-22) 1 commit
|
||||
(merged to 'next' on 2016-09-26 at f5abba5)
|
||||
+ verify_packfile: check pack validity before accessing data
|
||||
* jk/ambiguous-short-object-names (2016-09-27) 11 commits
|
||||
(merged to 'next' on 2016-09-28 at 1b85295323)
|
||||
+ get_short_sha1: make default disambiguation configurable
|
||||
+ get_short_sha1: list ambiguous objects on error
|
||||
+ for_each_abbrev: drop duplicate objects
|
||||
+ sha1_array: let callbacks interrupt iteration
|
||||
+ get_short_sha1: mark ambiguity error for translation
|
||||
+ get_short_sha1: NUL-terminate hex prefix
|
||||
+ get_short_sha1: refactor init of disambiguation code
|
||||
+ get_short_sha1: parse tags when looking for treeish
|
||||
+ get_sha1: propagate flags to child functions
|
||||
+ get_sha1: avoid repeating ourselves via ONLY_TO_DIE
|
||||
+ get_sha1: detect buggy calls with multiple disambiguators
|
||||
(this branch is used by lt/abbrev-auto.)
|
||||
|
||||
A low-level function verify_packfile() was meant to show errors
|
||||
that were detected without dying itself, but under some conditions
|
||||
it didn't and died instead, which has been fixed.
|
||||
When given an abbreviated object name that is not (or more
|
||||
realistically, "no longer") unique, we gave a fatal error
|
||||
"ambiguous argument". This error is now accompanied by hints that
|
||||
lists the objects that begins with the given prefix. During the
|
||||
course of development of this new feature, numerous minor bugs were
|
||||
uncovered and corrected, the most notable one of which is that we
|
||||
gave "short SHA1 xxxx is ambiguous." twice without good reason.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jt/fetch-pack-in-vain-count-with-stateless (2016-09-23) 1 commit
|
||||
(merged to 'next' on 2016-09-26 at 9645629)
|
||||
+ fetch-pack: do not reset in_vain on non-novel acks
|
||||
* va/i18n-perl-scripts (2016-09-25) 11 commits
|
||||
- i18n: difftool: mark warnings for translation
|
||||
- i18n: send-email: mark string with interpolation for translation
|
||||
- i18n: send-email: mark warnings and errors for translation
|
||||
- i18n: send-email: mark strings for translation
|
||||
- i18n: add--interactive: mark edit_hunk_manually message for translation
|
||||
- i18n: add--interactive: i18n of help_patch_cmd
|
||||
- i18n: add--interactive: mark message for translation
|
||||
- i18n: add--interactive: mark plural strings
|
||||
- i18n: add--interactive: mark strings with interpolation for translation
|
||||
- i18n: add--interactive: mark simple here documents for translation
|
||||
- i18n: add--interactive: mark strings for translation
|
||||
|
||||
When "git fetch" tries to find where the history of the repository
|
||||
it runs inhas diverged from what the other side has, it has a
|
||||
mechanism to avoid digging too deep into irrelevant side branches.
|
||||
This however did not work well over the "smart-http" transport due
|
||||
to a design bug, which has been fixed.
|
||||
Porcelain scripts written in Perl are getting internationalized.
|
||||
|
||||
Waiting for a reroll.
|
||||
cf. <1474913721.1035.9.camel@sapo.pt>
|
||||
|
||||
|
||||
* vn/revision-shorthand-for-side-branch-log (2016-09-27) 1 commit
|
||||
(merged to 'next' on 2016-09-28 at c1237b24f6)
|
||||
+ revision: new rev^-n shorthand for rev^n..rev
|
||||
|
||||
"git log rev^..rev" is an often-used revision range specification
|
||||
to show what was done on a side branch merged at rev. This has
|
||||
gained a short-hand "rev^-1". In general "rev^-$n" is the same as
|
||||
"^rev^$n rev", i.e. what has happened on other branches while the
|
||||
history leading to nth parent was looking the other way.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* ik/gitweb-force-highlight (2016-09-25) 2 commits
|
||||
(merged to 'next' on 2016-09-27 at cbb8391)
|
||||
+ gitweb: use highlight's shebang detection
|
||||
+ gitweb: remove unused guess_file_syntax() parameter
|
||||
* jc/latin-1 (2016-09-26) 2 commits
|
||||
(merged to 'next' on 2016-09-28 at c8673e03c2)
|
||||
+ utf8: accept "latin-1" as ISO-8859-1
|
||||
+ utf8: refactor code to decide fallback encoding
|
||||
|
||||
"gitweb" can spawn "highlight" to show blob contents with
|
||||
(programming) language-specific syntax highlighting, but only
|
||||
when the language is known. "highlight" can however be told
|
||||
to make the guess itself by giving it "--force" option, which
|
||||
has been enabled.
|
||||
Some platforms no longer understand "latin-1" that is still seen in
|
||||
the wild in e-mail headers; replace them with "iso-8859-1" that is
|
||||
more widely known when conversion fails from/to it.
|
||||
|
||||
Will merge to 'master'.
|
||||
Will hold to see if people scream.
|
||||
|
||||
|
||||
* jk/ident-ai-canonname-could-be-null (2016-09-23) 1 commit
|
||||
(merged to 'next' on 2016-09-26 at 0eefb29)
|
||||
+ ident: handle NULL ai_canonname
|
||||
* mg/gpg-richer-status (2016-09-28) 1 commit
|
||||
- gpg-interface: use more status letters
|
||||
|
||||
In the codepath that comes up with the hostname to be used in an
|
||||
e-mail when the user didn't tell us, we looked at ai_canonname
|
||||
field in struct addrinfo without making sure it is not NULL first.
|
||||
|
||||
Will merge to 'master'.
|
||||
The GPG verification status shown in "%G?" pretty format specifier
|
||||
was not rich enough to differentiate a signature made by an expired
|
||||
key, a signature made by a revoked key, etc. New output letters
|
||||
have been assigned to express them.
|
||||
|
||||
|
||||
* jc/blame-reverse (2016-06-14) 2 commits
|
||||
(merged to 'next' on 2016-09-22 at d1a8e9c)
|
||||
(merged to 'next' on 2016-09-22 at d1a8e9ce99)
|
||||
+ blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
|
||||
+ blame: improve diagnosis for "--reverse NEW"
|
||||
|
||||
@@ -730,51 +747,6 @@ of the repositories listed at
|
||||
Will hold to see if it is broken.
|
||||
|
||||
|
||||
* nd/init-core-worktree-in-multi-worktree-world (2016-09-25) 5 commits
|
||||
(merged to 'next' on 2016-09-27 at 619f7f3)
|
||||
+ init: kill git_link variable
|
||||
+ init: do not set unnecessary core.worktree
|
||||
+ init: kill set_git_dir_init()
|
||||
+ init: call set_git_dir_init() from within init_db()
|
||||
+ init: correct re-initialization from a linked worktree
|
||||
|
||||
"git init" tried to record core.worktree in the repository's
|
||||
'config' file when GIT_WORK_TREE environment variable was set and
|
||||
it was different from where GIT_DIR appears as ".git" at its top,
|
||||
but the logic was faulty when .git is a "gitdir:" file that points
|
||||
at the real place, causing trouble in working trees that are
|
||||
managed by "git worktree". This has been corrected.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jt/mailinfo-fold-in-body-headers (2016-09-21) 3 commits
|
||||
(merged to 'next' on 2016-09-26 at 4235eb6)
|
||||
+ mailinfo: handle in-body header continuations
|
||||
+ mailinfo: make is_scissors_line take plain char *
|
||||
+ mailinfo: separate in-body header processing
|
||||
|
||||
When "git format-patch --stdout" output is placed as an in-body
|
||||
header and it uses the RFC2822 header folding, "git am" failed to
|
||||
put the header line back into a single logical line. The
|
||||
underlying "git mailinfo" was taught to handle this properly.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* kd/mailinfo-quoted-string (2016-09-26) 3 commits
|
||||
- mailinfo: unescape quoted-pair in header fields
|
||||
- SQUASH???
|
||||
- t5100-mailinfo: replace common path prefix with variable
|
||||
|
||||
An e-mail author named that spelled a backslash-quoted double quote
|
||||
in the human readable part "My \"double quoted\" name" was not
|
||||
unquoted correctly.
|
||||
|
||||
Waiting for a reroll.
|
||||
cf. <20160926194455.GB19089@ikke.info>
|
||||
|
||||
|
||||
* js/libify-require-clean-work-tree (2016-09-12) 5 commits
|
||||
- wt-status: teach has_{unstaged,uncommitted}_changes() about submodules
|
||||
- Export also the has_un{staged,committed}_changed() functions
|
||||
@@ -792,9 +764,11 @@ of the repositories listed at
|
||||
cf. <xmqqpoo92bdr.fsf@gitster.mtv.corp.google.com>
|
||||
|
||||
|
||||
* bw/ls-files-recurse-submodules (2016-09-21) 2 commits
|
||||
* bw/ls-files-recurse-submodules (2016-10-03) 4 commits
|
||||
- ls-files: add pathspec matching for submodules
|
||||
- ls-files: pass through safe options for --recurse-submodules
|
||||
- ls-files: optionally recurse into submodules
|
||||
- git: make super-prefix option
|
||||
|
||||
"git ls-files" learned "--recurse-submodules" option that can be
|
||||
used to get a listing of tracked files across submodules (i.e. this
|
||||
@@ -803,7 +777,7 @@ of the repositories listed at
|
||||
side of a pipe that is read with xargs to work on all working tree
|
||||
files from the top-level superproject.
|
||||
|
||||
Waiting for the discussion to conclude.
|
||||
Looking good. Is this ready for 'next'?
|
||||
|
||||
|
||||
* ls/filter-process (2016-09-23) 11 commits
|
||||
@@ -826,6 +800,9 @@ of the repositories listed at
|
||||
all filtering need is served by this single process for multiple
|
||||
paths, reducing the process creation overhead.
|
||||
|
||||
Somehow I thought this was getting ready for 'next' but it seems
|
||||
at least another round of reroll is coming?
|
||||
|
||||
|
||||
* hv/submodule-not-yet-pushed-fix (2016-09-14) 2 commits
|
||||
- serialize collection of refs that contain submodule changes
|
||||
@@ -860,7 +837,7 @@ of the repositories listed at
|
||||
|
||||
|
||||
* cp/completion-negative-refs (2016-08-24) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at abd1585)
|
||||
(merged to 'next' on 2016-09-22 at abd1585aa6)
|
||||
+ completion: support excluding refs
|
||||
|
||||
The command-line completion script (in contrib/) learned to
|
||||
@@ -883,7 +860,7 @@ of the repositories listed at
|
||||
|
||||
|
||||
* ak/curl-imap-send-explicit-scheme (2016-08-17) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at 4449584)
|
||||
(merged to 'next' on 2016-09-22 at 4449584c26)
|
||||
+ imap-send: Tell cURL to use imap:// or imaps://
|
||||
|
||||
When we started cURL to talk to imap server when a new enough
|
||||
@@ -895,7 +872,7 @@ of the repositories listed at
|
||||
|
||||
|
||||
* jk/pack-objects-optim-mru (2016-08-11) 4 commits
|
||||
(merged to 'next' on 2016-09-21 at 97b919b)
|
||||
(merged to 'next' on 2016-09-21 at 97b919bdbd)
|
||||
+ pack-objects: use mru list when iterating over packs
|
||||
+ pack-objects: break delta cycles before delta-search phase
|
||||
+ sha1_file: make packed_object_info public
|
||||
@@ -912,7 +889,7 @@ of the repositories listed at
|
||||
|
||||
|
||||
* dp/autoconf-curl-ssl (2016-06-28) 1 commit
|
||||
(merged to 'next' on 2016-09-22 at 9c5aeec)
|
||||
(merged to 'next' on 2016-09-22 at 9c5aeeced9)
|
||||
+ ./configure.ac: detect SSL in libcurl using curl-config
|
||||
|
||||
The ./configure script generated from configure.ac was taught how
|
||||
@@ -932,7 +909,7 @@ of the repositories listed at
|
||||
|
||||
|
||||
* ex/deprecate-empty-pathspec-as-match-all (2016-06-22) 1 commit
|
||||
(merged to 'next' on 2016-09-21 at e19148e)
|
||||
(merged to 'next' on 2016-09-21 at e19148ea63)
|
||||
+ pathspec: warn on empty strings as pathspec
|
||||
|
||||
Originally merged to 'next' on 2016-07-13
|
||||
@@ -952,7 +929,7 @@ of the repositories listed at
|
||||
|
||||
|
||||
* nd/shallow-deepen (2016-06-13) 27 commits
|
||||
(merged to 'next' on 2016-09-22 at f0cf3e3)
|
||||
(merged to 'next' on 2016-09-22 at f0cf3e3385)
|
||||
+ fetch, upload-pack: --deepen=N extends shallow boundary by N commits
|
||||
+ upload-pack: add get_reachable_list()
|
||||
+ upload-pack: split check_unreachable() in two, prep for get_reachable_list()
|
||||
|
||||
Reference in New Issue
Block a user