What's cooking (2014/01 #03)

Junio C Hamano committed Jan 16, 2014 at 12:57 UTC fdf9bf9517120b6cb4b779dd36543511b66109bb
1 file changed +158 -295
whats-cooking.txt
+158 -295
@@ -1,16 +1,21 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2014, #02; Fri, 10)
4 -X-master-at: a25014bc4cef56712f7d005d7b76070d0270f454
5 -X-next-at: 7559984f930784464fd0cfdd0a69e17c779ae117
3 +Subject: What's cooking in git.git (Jan 2014, #03; Thu, 16)
4 +X-master-at: 14598b907008dc9952428662a30ecfd74dc90a79
5 +X-next-at: b139ac2589b15d55cd9fa5c6957da44b150d0737
6
7 -What's cooking in git.git (Jan 2014, #02; Fri, 10)
7 +What's cooking in git.git (Jan 2014, #03; Thu, 16)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
13
14 +I am planning to tag 1.9-rc0 preview release from the tip of
15 +'master'. Hopefully a few fix-up topics still in flight and also
16 +updates to git-gui and gitk from subarea maintainers can be merged
17 +by 1.9-rc1 is tagged.
18 +
19 You can find the changes described here in the integration branches
20 of the repositories listed at
21
@@ -19,233 +24,6 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
22 -* ap/path-max (2013-12-16) 1 commit
23 - (merged to 'next' on 2014-01-03 at affc620)
24 - + Prevent buffer overflows when path is too long
25 -
26 -
27 -* bc/log-decoration (2013-12-20) 1 commit
28 - (merged to 'next' on 2014-01-03 at ff8873f)
29 - + log: properly handle decorations with chained tags
30 -
31 - "git log --decorate" did not handle a tag pointed by another tag
32 - nicely.
33 -
34 -
35 -* bm/merge-base-octopus-dedup (2013-12-30) 2 commits
36 - (merged to 'next' on 2014-01-06 at 355d62b)
37 - + merge-base --octopus: reduce the result from get_octopus_merge_bases()
38 - + merge-base: separate "--independent" codepath into its own helper
39 -
40 - "git merge-base --octopus" used to leave cleaning up suboptimal
41 - result to the caller, but now it does the clean-up itself.
42 -
43 -
44 -* bs/mirbsd (2014-01-02) 1 commit
45 - (merged to 'next' on 2014-01-06 at d5cecbb)
46 - + Add MirBSD support to the build system.
47 -
48 -
49 -* cc/replace-object-info (2013-12-30) 11 commits
50 - (merged to 'next' on 2014-01-03 at 4473803)
51 - + replace info: rename 'full' to 'long' and clarify in-code symbols
52 - (merged to 'next' on 2013-12-17 at aeb9e18)
53 - + Documentation/git-replace: describe --format option
54 - + builtin/replace: unset read_replace_refs
55 - + t6050: add tests for listing with --format
56 - + builtin/replace: teach listing using short, medium or full formats
57 - + sha1_file: perform object replacement in sha1_object_info_extended()
58 - + t6050: show that git cat-file --batch fails with replace objects
59 - + sha1_object_info_extended(): add an "unsigned flags" parameter
60 - + sha1_file.c: add lookup_replace_object_extended() to pass flags
61 - + replace_object: don't check read_replace_refs twice
62 - + rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
63 -
64 - read_sha1_file() that is the workhorse to read the contents given
65 - an object name honoured object replacements, but there is no
66 - corresponding mechanism to sha1_object_info() that is used to
67 - obtain the metainfo (e.g. type & size) about the object, leading
68 - callers to weird inconsistencies.
69 -
70 -
71 -* jh/rlimit-nofile-fallback (2013-12-18) 1 commit
72 - (merged to 'next' on 2014-01-03 at b56ae0c)
73 - + get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure
74 -
75 - When we figure out how many file descriptors to allocate for
76 - keeping packfiles open, a system with non-working getrlimit() could
77 - cause us to die(), but because we make this call only to get a
78 - rough estimate of how many is available and we do not even attempt
79 - to use up all file descriptors available ourselves, it is nicer to
80 - fall back to a reasonable low value rather than dying.
81 -
82 -
83 -* jk/credential-plug-leak (2014-01-02) 1 commit
84 - (merged to 'next' on 2014-01-06 at 88e29a3)
85 - + Revert "prompt: clean up strbuf usage"
86 -
87 - An earlier "clean-up" introduced an unnecessary memory leak.
88 -
89 -
90 -* jk/http-auth-tests-robustify (2014-01-02) 1 commit
91 - (merged to 'next' on 2014-01-06 at 7e87bba)
92 - + use distinct username/password for http auth tests
93 -
94 - Using the same username and password during the tests would not
95 - catch a potential breakage of sending one when we should be sending
96 - the other.
97 -
98 -
99 -* jk/oi-delta-base (2013-12-26) 2 commits
100 - (merged to 'next' on 2014-01-06 at 8cf3ed2)
101 - + cat-file: provide %(deltabase) batch format
102 - + sha1_object_info_extended: provide delta base sha1s
103 -
104 - Teach "cat-file --batch" to show delta-base object name for a
105 - packed object that is represented as a delta.
106 -
107 -
108 -* jk/sha1write-void (2013-12-26) 1 commit
109 - (merged to 'next' on 2014-01-06 at d8cd8ff)
110 - + do not pretend sha1write returns errors
111 -
112 - Code clean-up.
113 -
114 -
115 -* jk/test-framework-updates (2014-01-02) 3 commits
116 - (merged to 'next' on 2014-01-06 at f81f373)
117 - + t0000: drop "known breakage" test
118 - + t0000: simplify HARNESS_ACTIVE hack
119 - + t0000: set TEST_OUTPUT_DIRECTORY for sub-tests
120 -
121 - The basic test used to leave unnecessary trash directories in the
122 - t/ directory.
123 -
124 -
125 -* js/lift-parent-count-limit (2013-12-27) 1 commit
126 - (merged to 'next' on 2014-01-06 at b74133c)
127 - + Remove the line length limit for graft files
128 -
129 - There is no reason to have a hardcoded upper limit of the number of
130 - parents for an octopus merge, created via the graft mechanism.
131 -
132 -
133 -* km/gc-eperm (2014-01-02) 1 commit
134 - (merged to 'next' on 2014-01-06 at fe107de)
135 - + gc: notice gc processes run by other users
136 -
137 - A "gc" process running as a different user should be able to stop a
138 - new "gc" process from starting.
139 -
140 -
141 -* mh/path-max (2013-12-18) 2 commits
142 - (merged to 'next' on 2014-01-03 at 5227c9b)
143 - + builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX
144 - + prune-packed: use strbuf to avoid having to worry about PATH_MAX
145 -
146 - A few places where we relied on a fixed length buffer to hold
147 - pathnames in these two programs have been converted to use strbuf.
148 -
149 -
150 -* nd/add-empty-fix (2013-12-26) 1 commit
151 - (merged to 'next' on 2014-01-06 at 88a78c9)
152 - + add: don't complain when adding empty project root
153 -
154 - "git add -A" (no other arguments) in a totally empty working tree
155 - used to emit an error.
156 -
157 -
158 -* nd/commit-tree-constness (2013-12-26) 1 commit
159 - (merged to 'next' on 2014-01-06 at a177c9f)
160 - + commit.c: make "tree" a const pointer in commit_tree*()
161 -
162 - Code clean-up.
163 -
164 -
165 -* nd/daemon-informative-errors-typofix (2013-12-20) 1 commit
166 - (merged to 'next' on 2014-01-03 at 1b87648)
167 - + daemon: be strict at parsing parameters --[no-]informative-errors
168 -
169 -
170 -* nd/negative-pathspec (2013-12-06) 3 commits
171 - (merged to 'next' on 2013-12-12 at 9f340c8)
172 - + pathspec.c: support adding prefix magic to a pathspec with mnemonic magic
173 - + Support pathspec magic :(exclude) and its short form :!
174 - + glossary-content.txt: rephrase magic signature part
175 -
176 - Introduce "negative pathspec" magic, to allow "git log -- . ':!dir'" to
177 - tell us "I am interested in everything but 'dir' directory".
178 -
179 -
180 -* rr/completion-branch-config (2014-01-06) 4 commits
181 - (merged to 'next' on 2014-01-06 at ed9eecc)
182 - + completion: fix remote.pushdefault
183 - + completion: fix branch.autosetup(merge|rebase)
184 - + completion: introduce __gitcomp_nl_append ()
185 - + zsh completion: find matching custom bash completion
186 -
187 - Two-level configuration variable names in "branch.*" and "remote.*"
188 - hierarchies whose variables are predominantly three-level where not
189 - completed by hitting a <TAB> in bash and zsh completions.
190 -
191 -
192 -* rt/bfg-ad-in-filter-branch-doc (2013-12-18) 1 commit
193 - (merged to 'next' on 2014-01-03 at 2a45e3b)
194 - + docs: add filter-branch notes on The BFG
195 -
196 -
197 -* sb/diff-orderfile-config (2013-12-18) 3 commits
198 - (merged to 'next' on 2014-01-03 at 744eba7)
199 - + diff: add diff.orderfile configuration variable
200 - + diff: let "git diff -O" read orderfile from any file and fail properly
201 - + t4056: add new tests for "git diff -O"
202 -
203 - Allow "git diff -O<file>" to be configured with a new configuration
204 - variable.
205 -
206 -
207 -* ss/builtin-cleanup (2014-01-06) 3 commits
208 - (merged to 'next' on 2014-01-06 at ffcac50)
209 - + builtin/help.c: speed up is_git_command() by checking for builtin commands first
210 - + builtin/help.c: call load_command_list() only when it is needed
211 - + git.c: consistently use the term "builtin" instead of "internal command"
212 -
213 - "git help $cmd" unnecessarily enumerated potential command names
214 - from the filesystem, even when $cmd is known to be a built-in.
215 -
216 - Ideas for further optimization, primarily by killing the use of
217 - is_in_cmdlist(), were suggested in the discussion, but they can
218 - come as follow-ups on top of this series.
219 -
220 -
221 -* ta/format-user-manual-as-an-article (2014-01-06) 1 commit
222 - (merged to 'next' on 2014-01-06 at 37858f6)
223 - + user-manual: improve html and pdf formatting
224 -
225 - Update the way the user-manual is formatted via AsciiDoc to save
226 - trees.
227 -
228 -
229 -* tm/fetch-prune (2014-01-03) 2 commits
230 - (merged to 'next' on 2014-01-03 at a58c6b4)
231 - + fetch --prune: Run prune before fetching
232 - + fetch --prune: always print header url
233 -
234 - Fetching 'frotz' branch with "git fetch", while having
235 - 'frotz/nitfol' remote-tracking branch from an earlier fetch, would
236 - error out, primarily because the command has not been told to
237 - remove anything on our side. In such a case, "git fetch --prune"
238 - can be used to remove 'frotz/nitfol' to make room to fetch and
239 - store 'frotz' remote-tracking branch.
240 -
241 -
242 -* vm/octopus-merge-bases-simplify (2014-01-03) 1 commit
243 - (merged to 'next' on 2014-01-06 at 35df672)
244 - + get_octopus_merge_bases(): cleanup redundant variable
245 -
246 ---------------------------------------------------
247 -[New Topics]
248 -
27 * br/sha1-name-40-hex-no-disambiguation (2014-01-07) 1 commit
28 (merged to 'next' on 2014-01-10 at 2a0973b)
29 + sha1_name: don't resolve refs when core.warnambiguousrefs is false
@@ -258,7 +36,10 @@ of the repositories listed at
36 which case the cycles spent to look at the ref namespace were an
37 expensive no-op, as the result was discarded without being used.
38
261 - Will merge to 'master'.
39 +
40 +* jk/pull-rebase-using-fork-point (2014-01-09) 1 commit
41 + (merged to 'next' on 2014-01-10 at e86e59d)
42 + + rebase: fix fork-point with zero arguments
43
44
45 * jl/submodule-mv-checkout-caveat (2014-01-07) 2 commits
@@ -272,8 +53,6 @@ of the repositories listed at
53 working tree with its embedded repository behind, as there may be
54 unexpendable state there. Document and warn users about this.
55
275 - Will merge to 'master'.
276 -
56
57 * jn/pager-lv-default-env (2014-01-07) 1 commit
58 (merged to 'next' on 2014-01-10 at 22d4755)
@@ -283,7 +62,17 @@ of the repositories listed at
62 environment variable, specify a reasonable default for "lv" via the
63 "LV" environment variable when spawning the pager.
64
286 - Will merge to 'master'.
65 +
66 +* mh/shorten-unambigous-ref (2014-01-09) 3 commits
67 + + shorten_unambiguous_ref(): tighten up pointer arithmetic
68 + + gen_scanf_fmt(): delete function and use snprintf() instead
69 + + shorten_unambiguous_ref(): introduce a new local variable
70 +
71 +
72 +* mm/mv-file-to-no-such-dir-with-slash (2014-01-10) 1 commit
73 + + mv: let 'git mv file no-such-dir/' error out on Windows, too
74 +
75 + Finishing touches to a topic that has already been merged to 'master'.
76
77
78 * ow/stash-with-ifs (2014-01-07) 1 commit
@@ -293,8 +82,6 @@ of the repositories listed at
82 The implementation of 'git stash $cmd "stash@{...}"' did not quote
83 the stash argument properly and left it split at IFS whitespace.
84
296 - Will merge to 'master'.
297 -
85
86 * rr/completion-format-coverletter (2014-01-07) 1 commit
87 (merged to 'next' on 2014-01-10 at d2dbc9d)
@@ -303,59 +90,112 @@ of the repositories listed at
90 The bash/zsh completion code did not know about format.coverLetter
91 among many format.* configuration variables.
92
306 - Will merge to 'master'.
93 +--------------------------------------------------
94 +[New Topics]
95
96 +* ab/subtree-doc (2014-01-13) 1 commit
97 + - subtree: fix argument validation in add/pull/push
98
309 -* wk/submodule-on-branch (2014-01-07) 2 commits
310 - - DONTMERGE: RFC will be rerolled with tests ($gmane/239967)
311 - - submodule: respect requested branch on all clones
99 + Will merge to 'next'.
100
313 - Waiting for the discussion to settle.
101
102 +* jk/complete-merge-base (2014-01-13) 2 commits
103 + - completion: handle --[no-]fork-point options to git-rebase
104 + - completion: complete merge-base options
105
316 -* jk/branch-at-publish (2014-01-09) 5 commits
317 - - implement @{publish} shorthand
318 - - branch_get: provide per-branch pushremote pointers
319 - - branch_get: return early on error
320 - - interpret_branch_name: factor out upstream handling
321 - - sha1_name: refactor upstream_mark
106 + Will merge to 'next'.
107
323 - Give an easier access to the tracking branches from "other" side in
324 - a triangular workflow by introducing B@{publish} that works in a
325 - similar way to how B@{upstream} does.
108
327 - Expecting a reroll.
109 +* po/everyday-doc (2014-01-13) 1 commit
110 + - Make 'git help everyday' work
111
112
330 -* jk/pull-rebase-using-fork-point (2014-01-09) 1 commit
331 - (merged to 'next' on 2014-01-10 at e86e59d)
332 - + rebase: fix fork-point with zero arguments
113 +* rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
114 + - merge: drop unused arg from abort_commit method signature
115 + - merge: make prepare_to_commit responsible for write_merge_state
116 + - t7505: ensure cleanup after hook blocks merge
117 + - t7505: add missing &&
118
334 - Will merge to 'master'.
119 + Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
120 + run during "git merge". The log stressed too much on one hook,
121 + prepare-commit-msg, but it would equally apply to other hooks like
122 + post-merge, I think.
123
124 + Waiting to give a chance to reroll.
125
337 -* jk/warn-on-object-refname-ambiguity (2014-01-09) 6 commits
338 - - get_sha1: drop object/refname ambiguity flag
339 - - get_sha1: speed up ambiguous 40-hex test
340 - - FIXUP: teach DO_FOR_EACH_NO_RECURSE to prime_ref_dir()
341 - - refs: teach for_each_ref a flag to avoid recursion
342 - - cat-file: fix a minor memory leak in batch_objects
343 - - cat-file: refactor error handling of batch_objects
344 - (this branch uses br/sha1-name-40-hex-no-disambiguation.)
126
346 - Expecting a reroll.
127 +* bl/blame-full-history (2014-01-14) 1 commit
128 + - blame: new option --prefer-first to better handle merged cherry-picks
129
130
349 -* mh/shorten-unambigous-ref (2014-01-09) 3 commits
350 - - shorten_unambiguous_ref(): tighten up pointer arithmetic
351 - - gen_scanf_fmt(): delete function and use snprintf() instead
352 - - shorten_unambiguous_ref(): introduce a new local variable
131 +* da/pull-ff-configuration (2014-01-15) 2 commits
132 + - pull: add --ff-only to the help text
133 + - pull: add pull.ff configuration
134
135 Will merge to 'next'.
136
137
357 -* mm/mv-file-to-no-such-dir-with-slash (2014-01-10) 1 commit
358 - - mv: let 'git mv file no-such-dir/' error out on Windows, too
138 +* jc/maint-pull-docfix (2014-01-14) 2 commits
139 + - Documentation: "git pull" does not have the "-m" option
140 + - Merge branch 'jc/maint-pull-docfix-for-409b8d82' into jc/maint-pull-docfix
141 + (this branch uses jc/maint-pull-docfix-for-409b8d82.)
142 +
143 + Will merge to 'next'.
144 +
145 +
146 +* jc/maint-pull-docfix-for-409b8d82 (2014-01-14) 1 commit
147 + - Documentation: exclude irrelevant options from "git pull"
148 + (this branch is used by jc/maint-pull-docfix.)
149 +
150 + Will merge to 'next'.
151 +
152 +
153 +* jc/revision-range-unpeel (2014-01-15) 2 commits
154 + - revision: propagate flag bits from tags to pointees
155 + - revision: mark contents of an uninteresting tree uninteresting
156 +
157 + "git log --left-right A...B" lost the "leftness" of commits
158 + reachable from A when A is a tag as a side effect of a recent
159 + bugfix. This is a regression in 1.8.4.x series.
160 +
161 + Will merge to 'next'.
162 +
163 +
164 +* jk/allow-fetch-onelevel-refname (2014-01-15) 1 commit
165 + - fetch-pack: do not filter out one-level refs
166 +
167 + "git clone" would fail to clone from a repository that has a ref
168 + directly under "refs/", e.g. "refs/stash", because different
169 + validation paths do different things on such a refname. Loosen the
170 + client side's validation to allow such a ref.
171 +
172 + Will merge to 'next'.
173 +
174 +
175 +* jk/interpret-branch-name-fix (2014-01-15) 5 commits
176 + - interpret_branch_name: find all possible @-marks
177 + - interpret_branch_name: avoid @{upstream} past colon
178 + - interpret_branch_name: always respect "namelen" parameter
179 + - interpret_branch_name: rename "cp" variable to "at"
180 + - interpret_branch_name: factor out upstream handling
181 +
182 + Fix a handful of bugs around interpreting $branch@{upstream}
183 + notation and its lookalike, when $branch part has interesting
184 + characters, e.g. "@", and ":".
185 +
186 + Will merge to 'next'.
187 +
188 +
189 +* mh/attr-macro-doc (2014-01-14) 1 commit
190 + - gitattributes: document more clearly where macros are allowed
191 +
192 + Will merge to 'next'.
193 +
194 +
195 +* mh/retire-ref-fetch-rules (2014-01-14) 1 commit
196 + - refname_match(): always use the rules in ref_rev_parse_rules
197 +
198 + Code simplification.
199
200 Will merge to 'next'.
201
@@ -571,6 +411,52 @@ of the repositories listed at
411 --------------------------------------------------
412 [Cooking]
413
414 +* wk/submodule-on-branch (2014-01-16) 6 commits
415 + - Documentation: Describe 'submodule update' modes in detail
416 + - t7406: Add explicit tests for head attachement after cloning updates
417 + - [DONOTMERGE] t7406: Just-cloned checkouts update to the gitlinked hash with 'reset'
418 + - submodule: Explicit local branch creation in module_clone
419 + - submodule: Document module_clone arguments in comments
420 + - submodule: Make 'checkout' update_module explicit
421 + (this branch uses fp/submodule-checkout-mode.)
422 +
423 + Makes sure 'submodule update' modes that do not detach HEADs can
424 + be used more pleasantly by checking out a concrete branch when
425 + cloning them to prime the well.
426 +
427 + This round seems to be almost ready; further discussions are of
428 + course very much welcomed.
429 +
430 + Will wait for another reroll to fix minor nits, at least.
431 +
432 +
433 +* jk/branch-at-publish (2014-01-13) 6 commits
434 + - t1507 (rev-parse-upstream): fix typo in test title
435 + - implement @{publish} shorthand
436 + - branch_get: provide per-branch pushremote pointers
437 + - branch_get: return early on error
438 + - interpret_branch_name: factor out upstream handling
439 + - sha1_name: refactor upstream_mark
440 +
441 + Give an easier access to the tracking branches from "other" side in
442 + a triangular workflow by introducing B@{publish} that works in a
443 + similar way to how B@{upstream} does.
444 +
445 + Will rebase to share the same change with the
446 + jk/interpret-branch-name-fix topic.
447 +
448 +
449 +* jk/warn-on-object-refname-ambiguity (2014-01-09) 6 commits
450 + - get_sha1: drop object/refname ambiguity flag
451 + - get_sha1: speed up ambiguous 40-hex test
452 + - FIXUP: teach DO_FOR_EACH_NO_RECURSE to prime_ref_dir()
453 + - refs: teach for_each_ref a flag to avoid recursion
454 + - cat-file: fix a minor memory leak in batch_objects
455 + - cat-file: refactor error handling of batch_objects
456 +
457 + Expecting a reroll.
458 +
459 +
460 * ap/remote-hg-skip-null-bookmarks (2014-01-02) 1 commit
461 - remote-hg: do not fail on invalid bookmarks
462
@@ -587,6 +473,7 @@ of the repositories listed at
473 * fp/submodule-checkout-mode (2014-01-07) 1 commit
474 (merged to 'next' on 2014-01-10 at 647ba9b)
475 + git-submodule.sh: 'checkout' is a valid update mode
476 + (this branch is used by wk/submodule-on-branch.)
477
478 "submodule.*.update=checkout", when propagated from .gitmodules to
479 .git/config, turned into a "submodule.*.update=none", which did not
@@ -807,27 +694,3 @@ of the repositories listed at
694 + diff: remove "diff-files -q" in a version of Git in a distant future
695
696 Will cook in 'next' until a distant future.
810 -
811 ---------------------------------------------------
812 -[Discarded]
813 -
814 -* aa/transport-non-positive-depth-only (2013-11-26) 1 commit
815 - . transport: catch non positive --depth option value
816 -
817 -
818 -* cc/remote-remove-redundant-postfixcmp (2013-11-06) 2 commits
819 - . Rename suffixcmp() to has_suffix() and invert its result
820 - . builtin/remote: remove postfixcmp() and use suffixcmp() instead
821 -
822 -
823 -* th/reflog-annotated-tag (2013-10-28) 1 commit
824 - . reflog: handle lightweight and annotated tags equally
825 -
826 - "git log -g $annotated_tag", when there is no reflog history, should
827 - have produced a single output entry (i.e. the ref creation event),
828 - but instead showed the history leading to the tag.
829 -
830 - Broken at the design level. Any reflog entry that points at a non
831 - commit needs to be handled with new code that does not exist yet,
832 - and lifting the "this code handles only commits" without adding
833 - such code does not solve anything.