What's cooking (2015/05 #03)

This commit is contained in:
Junio C Hamano 2015-05-08 15:25:36 -07:00
parent dea8a2dd01
commit f2b2005282

View File

@ -1,241 +1,79 @@
To: git@vger.kernel.org
Bcc: lwn@lwn.net
Subject: What's cooking in git.git (May 2015, #02; Wed, 6)
Subject: What's cooking in git.git (May 2015, #03; Fri, 8)
X-master-at: 8440f74997cf7958c7e8ec853f590828085049b8
X-next-at: 8e1974edaeee9161b10b8f31a7a86892259e9768
X-next-at: 38e70713119c25ab5699df6b2fb13e4133d399ab
What's cooking in git.git (May 2015, #02; Wed, 6)
What's cooking in git.git (May 2015, #03; Fri, 8)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.
The first batch for the next feature release (tentatively called 2.5)
has been merged to 'master'. They mostly are fixes that are meant
for the first maintenance release for 2.4.x track. The tip of 'next'
has been rewound and rebuilt.
You can find the changes described here in the integration branches
of the repositories listed at
http://git-blame.blogspot.com/p/git-public-repositories.html
--------------------------------------------------
[Graduated to "master"]
* bc/object-id (2015-03-13) 10 commits
(merged to 'next' on 2015-05-05 at 975002f)
+ apply: convert threeway_stage to object_id
+ patch-id: convert to use struct object_id
+ commit: convert parts to struct object_id
+ diff: convert struct combine_diff_path to object_id
+ bulk-checkin.c: convert to use struct object_id
+ zip: use GIT_SHA1_HEXSZ for trailers
+ archive.c: convert to use struct object_id
+ bisect.c: convert leaf functions to use struct object_id
+ define utility functions for object IDs
+ define a structure for object IDs
Originally merged to 'next' on 2015-03-24
Identify parts of the code that knows that we use SHA-1 hash to
name our objects too much, and use (1) symbolic constants instead
of hardcoded 20 as byte count and/or (2) use struct object_id
instead of unsigned char [20] for object names.
* cn/bom-in-gitignore (2015-04-16) 5 commits
(merged to 'next' on 2015-05-05 at 8aa8b91)
+ attr: skip UTF8 BOM at the beginning of the input file
+ config: use utf8_bom[] from utf.[ch] in git_parse_source()
+ utf8-bom: introduce skip_utf8_bom() helper
+ add_excludes_from_file: clarify the bom skipping logic
+ dir: allow a BOM at the beginning of exclude files
Originally merged to 'next' on 2015-04-21
Teach the codepaths that read .gitignore and .gitattributes files
that these files encoded in UTF-8 may have UTF-8 BOM marker at the
beginning; this makes it in line with what we do for configuration
files already.
* ep/fix-test-lib-functions-report (2015-04-16) 1 commit
(merged to 'next' on 2015-05-05 at e49e876)
+ test-lib-functions.sh: fix the second argument to some helper functions
Originally merged to 'next' on 2015-04-21
* jc/diff-no-index-d-f (2015-03-26) 2 commits
(merged to 'next' on 2015-05-05 at 61538ca)
+ diff-no-index: align D/F handling with that of normal Git
+ diff-no-index: DWIM "diff D F" into "diff D/F F"
Originally merged to 'next' on 2015-03-27
The usual "git diff" when seeing a file turning into a directory
showed a patchset to remove the file and create all files in the
directory, but "git diff --no-index" simply refused to work. Also,
when asked to compare a file and a directory, imitate POSIX "diff"
and compare the file with the file with the same name in the
directory, instead of refusing to run.
* jc/epochtime-wo-tz (2015-04-15) 2 commits
(merged to 'next' on 2015-05-05 at 3d10988)
+ parse_date_basic(): let the system handle DST conversion
+ parse_date_basic(): return early when given a bogus timestamp
Originally merged to 'next' on 2015-04-21
"git commit --date=now" or anything that relies on approxidate lost
the daylight-saving-time offset.
* jk/init-core-worktree-at-root (2015-04-02) 1 commit
(merged to 'next' on 2015-05-05 at 65c7453)
+ init: don't set core.worktree when initializing /.git
Originally merged to 'next' on 2015-04-08
We avoid setting core.worktree when the repository location is the
".git" directory directly at the top level of the working tree, but
the code misdetected the case in which the working tree is at the
root level of the filesystem (which arguably is a silly thing to
do, but still valid).
* jk/prune-mtime (2015-04-20) 3 commits
(merged to 'next' on 2015-05-05 at 6c0a311)
+ sha1_file: only freshen packs once per run
+ sha1_file: freshen pack objects before loose
+ reachable: only mark local objects as recent
Originally merged to 'next' on 2015-04-21
Access to objects in repositories that borrow from another one on a
slow NFS server unnecessarily got more expensive due to recent code
becoming more cautious in a naive way not to lose objects to pruning.
* jk/type-from-string-gently (2015-04-17) 1 commit
(merged to 'next' on 2015-05-05 at 73b5c2a)
+ type_from_string_gently: make sure length matches
Originally merged to 'next' on 2015-04-20
"git cat-file bl $blob" failed to barf even though there is no
object type that is "bl".
* ld/p4-filetype-detection (2015-04-04) 3 commits
(merged to 'next' on 2015-05-05 at ce95858)
+ git-p4: fix filetype detection on files opened exclusively
+ git-p4: small fix for locked-file-move-test
+ git-p4: fix small bug in locked test scripts
Originally merged to 'next' on 2015-04-08
* mh/show-branch-topic (2015-03-31) 1 commit
(merged to 'next' on 2015-05-05 at 43c6237)
+ show-branch: show all local heads when only giving one rev along --topics
Originally merged to 'next' on 2015-04-08
"git show-branch --topics HEAD" (with no other arguments) did not
do anything interesting. Instead, contrast the given revision
against all the local branches by default.
* mm/usage-log-l-can-take-regex (2015-04-20) 2 commits
(merged to 'next' on 2015-05-05 at dbe590c)
+ log -L: improve error message on malformed argument
+ Documentation: change -L:<regex> to -L:<funcname>
Originally merged to 'next' on 2015-04-21
Documentation fix.
* nd/t1509-chroot-test (2015-04-18) 1 commit
(merged to 'next' on 2015-05-05 at e93f60e)
+ t1509: update prepare script to be able to run t1509 in chroot again
Originally merged to 'next' on 2015-04-21
Correct test bitrot.
* oh/fix-config-default-user-name-section (2015-04-17) 1 commit
(merged to 'next' on 2015-05-05 at b4778c2)
+ config: fix settings in default_user_config template
Originally merged to 'next' on 2015-04-20
The default $HOME/.gitconfig file created upon "git config --global"
that edits it had incorrectly spelled user.name and user.email
entries in it.
* sb/line-log-plug-pairdiff-leak (2015-03-30) 1 commit
(merged to 'next' on 2015-05-05 at 3d8e735)
+ line-log.c: fix a memleak
Originally merged to 'next' on 2015-04-08
* sb/test-bitmap-free-at-end (2015-04-12) 1 commit
(merged to 'next' on 2015-05-05 at 2b83c75)
+ pack-bitmap.c: fix a memleak
Originally merged to 'next' on 2015-04-14
* ts/checkout-advice-plural (2015-04-02) 1 commit
(merged to 'next' on 2015-05-05 at 546f824)
+ checkout: call a single commit "it" intead of "them"
Originally merged to 'next' on 2015-04-08
--------------------------------------------------
[New Topics]
* jc/daemon-no-ipv6-for-2.4.1 (2015-05-05) 1 commit
(merged to 'next' on 2015-05-05 at 1eb279f)
+ daemon: unbreak NO_IPV6 build regression
"git daemon" fails to build from the source under NO_IPV6
configuration (regression in 2.4).
Will merge to 'master' in the second batch.
* sb/prefix-path-free-results (2015-05-05) 1 commit
- prefix_path(): unconditionally free results in the callers
Code clean-up (not a leak-fix).
* dl/branch-error-message (2015-05-06) 1 commit
- branch: do not call a "remote-tracking branch" a "remote branch"
Will merge to 'next'.
* sg/completion-omit-credential-helpers (2015-05-05) 2 commits
- SQUASH???
- completion: remove credential helpers from porcelain commands
* dl/subtree-push-no-squash (2015-05-07) 1 commit
- contrib/subtree: there's no push --squash
The Git subcommand completion (in contrib/) listed credential
helpers among candidates, which is not something the end user would
invoke interatively.
Will merge to 'next' after squashing the fix in.
Will merge to 'next'.
* jk/skip-http-tests-under-no-curl (2015-05-06) 1 commit
- t/lib-httpd.sh: skip tests if NO_CURL is defined
* ld/p4-editor-multi-words (2015-05-07) 2 commits
- git-p4: fix handling of multi-word P4EDITOR
- git-p4: add failing test for P4EDITOR handling
Test clean-up.
Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
did not let the shell interpolate the contents of the environment
variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
Make it in line with the rest of Git, as well as with Perforce.
Reported to break some tests that assume the non-interpolating
behaviour that need to be fixed.
* dl/subtree-avoid-tricky-echo (2015-05-08) 1 commit
- contrib/subtree: portability fix for string printing
"git subtree" script (in contrib/) used "echo -n" to produce
progress messages in a non-portable way.
Will merge to 'next'.
* ls/http-ssl-cipher-list (2015-05-08) 1 commit
- http: add support for specifying an SSL cipher list
Introduce http.<url>.SSLCipherList configuration variable to tweak
the list of cipher suite to be used with libcURL when talking with
https:// sites.
Will merge to 'next'.
* ps/bundle-verify-arg (2015-05-08) 1 commit
- bundle: verify arguments more strictly
Will merge to 'next'.
* sg/help-subcommands (2015-05-08) 1 commit
- command-list.txt: fix whitespace inconsistency
A preparatory clean-up step.
Will merge to 'next'.
@ -483,6 +321,44 @@ of the repositories listed at
--------------------------------------------------
[Cooking]
* jc/daemon-no-ipv6-for-2.4.1 (2015-05-05) 1 commit
(merged to 'next' on 2015-05-05 at 1eb279f)
+ daemon: unbreak NO_IPV6 build regression
"git daemon" fails to build from the source under NO_IPV6
configuration (regression in 2.4).
Will merge to 'master' in the second batch.
* sb/prefix-path-free-results (2015-05-05) 1 commit
(merged to 'next' on 2015-05-07 at 64f15a8)
+ prefix_path(): unconditionally free results in the callers
Code clean-up (not a leak-fix).
Will merge to 'master' in the second batch.
* sg/completion-omit-credential-helpers (2015-05-06) 1 commit
- completion: remove credential helpers from porcelain commands
The Git subcommand completion (in contrib/) listed credential
helpers among candidates, which is not something the end user would
invoke interatively.
Will merge to 'next'.
* jk/skip-http-tests-under-no-curl (2015-05-07) 2 commits
- tests: skip dav http-push tests under NO_EXPAT=NoThanks
- t/lib-httpd.sh: skip tests if NO_CURL is defined
Test clean-up.
Will merge to 'next'.
* mh/ref-directory-file (2015-05-05) 19 commits
- SQUASH???
- reflog_expire(): integrate lock_ref_sha1_basic() errors into ours
@ -509,7 +385,8 @@ of the repositories listed at
* nd/dwim-wildcards-as-pathspecs (2015-05-03) 1 commit
- pathspec: avoid the need of "--" when wildcard is used
(merged to 'next' on 2015-05-07 at 8176de7)
+ pathspec: avoid the need of "--" when wildcard is used
A heuristic to help the "git <cmd> <revs> <pathspec>" command line
convention to catch mistyped paths is to make sure all the non-rev
@ -520,7 +397,7 @@ of the repositories listed at
heuristic to declare that with a wildcard string the user likely
meant to give us a pathspec.
Will merge to 'next'.
Will merge to 'master' in the third batch.
* pt/pull-tests (2015-05-03) 7 commits
@ -539,31 +416,34 @@ of the repositories listed at
* sg/complete-decorate-full-not-long (2015-05-03) 1 commit
- completion: fix and update 'git log --decorate=' options
(merged to 'next' on 2015-05-07 at 2beb429)
+ completion: fix and update 'git log --decorate=' options
The completion for "log --decorate=" parameter value was incorrect.
Will merge to 'next'.
Will merge to 'master' in the second batch.
* sg/completion-no-redundant-all-command-list (2015-05-03) 1 commit
- completion: remove redundant __git_compute_all_commands() call
(merged to 'next' on 2015-05-07 at 00b4bd9)
+ completion: remove redundant __git_compute_all_commands() call
Code simplification.
Will merge to 'next'.
Will merge to 'master' in the second batch.
* jc/hash-object (2015-05-05) 4 commits
- write_sha1_file(): do not use a separate sha1[] array
- t1007: add hash-object --literally tests
- hash-object --literally: fix buffer overrun with extra-long object type
- git-hash-object.txt: document --literally option
(merged to 'next' on 2015-05-07 at 9b81a06)
+ write_sha1_file(): do not use a separate sha1[] array
+ t1007: add hash-object --literally tests
+ hash-object --literally: fix buffer overrun with extra-long object type
+ git-hash-object.txt: document --literally option
"hash-object --literally" introduced in v2.2 days was not prepared
to take a really long object type name.
"hash-object --literally" introduced in v2.2 was not prepared to
take a really long object type name.
Will merge to 'next'.
Will merge to 'master' in the second batch.
* jn/clean-use-error-not-fprintf-on-stderr (2015-05-04) 1 commit
@ -628,31 +508,34 @@ of the repositories listed at
* jk/filter-branch-use-of-sed-on-incomplete-line (2015-04-29) 1 commit
- filter-branch: avoid passing commit message through sed
(merged to 'next' on 2015-05-07 at 849a24d)
+ filter-branch: avoid passing commit message through sed
"filter-branch" was broken by some "sed" implementations that
corrupt commit log message that ends with an incomplete line.
Work it around by avoiding to use "sed".
"filter-branch" corrupted commit log message that ends with an
incomplete line on platforms with some "sed" implementations that
munge such a line. Work it around by avoiding to use "sed".
Will merge to 'next'.
Will merge to 'master' in the second batch.
* ph/rebase-i-redo (2015-04-29) 1 commit
- rebase -i: redo tasks that die during cherry-pick
(merged to 'next' on 2015-05-07 at 8fc1f52)
+ rebase -i: redo tasks that die during cherry-pick
"git rebase -i" moved the "current" command from "todo" to "done" a
bit too prematurely, losing a step when a "pick" did not even start.
Will merge to 'next'.
Will merge to 'master' in the third batch.
* ep/do-not-feed-a-pointer-to-array-size (2015-05-05) 1 commit
- git-compat-util.h: implement a different ARRAY_SIZE macro for for safely deriving the size of array
(merged to 'next' on 2015-05-07 at 64d9a20)
+ git-compat-util.h: implement a different ARRAY_SIZE macro for for safely deriving the size of array
Catch programmer mistake to feed a pointer not an array to
Catch a programmer mistake to feed a pointer not an array to
ARRAY_SIZE() macro, by using a couple of GCC extensions.
Will merge to 'next'.
Will merge to 'master' in the second batch.
* tb/blame-resurrect-convert-to-git (2015-05-03) 1 commit
@ -799,21 +682,22 @@ of the repositories listed at
* jc/merge (2015-04-29) 15 commits
- merge: deprecate 'git merge <message> HEAD <commit>' syntax
- merge: handle FETCH_HEAD internally
- merge: decide if we auto-generate the message early in collect_parents()
- merge: make collect_parents() auto-generate the merge message
- merge: extract prepare_merge_message() logic out
- merge: narrow scope of merge_names
- merge: split reduce_parents() out of collect_parents()
- merge: clarify collect_parents() logic
- merge: small leakfix and code simplification
- merge: do not check argc to determine number of remote heads
- merge: clarify "pulling into void" special case
- t5520: test pulling an octopus into an unborn branch
- t5520: style fixes
- merge: simplify code flow
- merge: test the top-level merge driver
(merged to 'next' on 2015-05-07 at 1c56512)
+ merge: deprecate 'git merge <message> HEAD <commit>' syntax
+ merge: handle FETCH_HEAD internally
+ merge: decide if we auto-generate the message early in collect_parents()
+ merge: make collect_parents() auto-generate the merge message
+ merge: extract prepare_merge_message() logic out
+ merge: narrow scope of merge_names
+ merge: split reduce_parents() out of collect_parents()
+ merge: clarify collect_parents() logic
+ merge: small leakfix and code simplification
+ merge: do not check argc to determine number of remote heads
+ merge: clarify "pulling into void" special case
+ t5520: test pulling an octopus into an unborn branch
+ t5520: style fixes
+ merge: simplify code flow
+ merge: test the top-level merge driver
(this branch is used by jc/merge-drop-old-syntax.)
"git merge FETCH_HEAD" learned that the previous "git fetch" could
@ -823,7 +707,7 @@ of the repositories listed at
implementation of "git pull" script; the old style syntax can now
be deprecated.
Will merge to 'next'.
Will merge to 'master' in the third batch.
* jc/merge-drop-old-syntax (2015-04-29) 1 commit
@ -931,8 +815,7 @@ of the repositories listed at
Will merge to 'master' in the second batch.
* kn/cat-file-literally (2015-05-04) 5 commits
- fixup! sha1_file: support reading from a loose object of unknown type
* kn/cat-file-literally (2015-05-06) 4 commits
- t1006: add tests for git cat-file --allow-unknown-type
- cat-file: teach cat-file a '--allow-unknown-type' option
- cat-file: make the options mutually exclusive
@ -941,9 +824,7 @@ of the repositories listed at
Add the "--allow-unknown-type" option to "cat-file" to allow
inspecting loose objects of an experimental or a broken type.
This is v10 $gmane/267960; I think with fixup! squashed in the
series is in a good shape (the test may fail without Eric's fix
to "hash-object --literally" elsewhere, though).
This is v10 $gmane/267960 with fixup! squashed in.
* lm/squelch-bg-progress (2015-04-15) 2 commits
@ -998,18 +879,19 @@ of the repositories listed at
* pt/xdg-config-path (2015-05-06) 7 commits
- path.c: remove home_config_paths()
- git-config: replace use of home_config_paths()
- git-commit: replace use of home_config_paths()
- credential-store.c: replace home_config_paths() with xdg_config_home()
- dir.c: replace home_config_paths() with xdg_config_home()
- attr.c: replace home_config_paths() with xdg_config_home()
- path.c: implement xdg_config_home()
(merged to 'next' on 2015-05-07 at 38e7071)
+ path.c: remove home_config_paths()
+ git-config: replace use of home_config_paths()
+ git-commit: replace use of home_config_paths()
+ credential-store.c: replace home_config_paths() with xdg_config_home()
+ dir.c: replace home_config_paths() with xdg_config_home()
+ attr.c: replace home_config_paths() with xdg_config_home()
+ path.c: implement xdg_config_home()
(this branch uses pt/credential-xdg.)
Code clean-up for xdg configuration path support.
Will merge to 'next'.
Will merge to 'master' in the second batch.
* nd/diff-i-t-a (2015-03-23) 1 commit