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.