What's cooking (2012/05 #02)
Junio C Hamano committed
May 4, 2012 at 16:04 UTC
3ca5cbcc1d7651885f0974600b3a72e26ff8efde
1 file changed
+148
-274
whats-cooking.txt
+148
-274
@@ -1,21 +1,17 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (May 2012, #01; Wed, 2)
3
-X-master-at: 34875f4a53b9e495622553a671776f66dc37eb2b
4
-X-next-at: 54d16fbcc9122b1e712cc718d11dda4a9c125ec6
2
+Subject: What's cooking in git.git (May 2012, #02; Fri, 4)
3
+X-master-at: 8275905e7e9e8945f0bffdd207f622be39026943
4
+X-next-at: 8a79d964318316d4ce0606e0bf1c5fa7b677a641
5
6
-What's cooking in git.git (May 2012, #01; Wed, 2)
6
+What's cooking in git.git (May 2012, #02; Fri, 4)
7
--------------------------------------------------
8
9
Here are the topics that have been cooking. Commits prefixed with '-' are
10
only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'.
11
12
-The eighth batch of topics in this cycle is now in 'master', the topics in
13
-'next' all look ready, and we do not have many topics left in 'pu'. The
14
-cycle is going well ;-)
15
-
16
-Except for folks with libsvn-perl 1.6.x where x is greater than 9; we know
17
-how the fix should look like, and we will have it in tomorrow's integration
18
-round.
12
+Both 'next' and 'pu' branches are rapidly shrinking. Given that we would
13
+want to go into feature freeze in a week and half, I think this cycle is
14
+going fairly well.
15
16
You can find the changes described here in the integration branches of the
17
repositories listed at
@@ -25,34 +21,69 @@ repositories listed at
21
--------------------------------------------------
22
[New Topics]
23
28
-* jk/maint-tformat-with-z (2012-05-01) 2 commits
29
- (merged to 'next' on 2012-05-02 at a0f8af7)
30
- + log-tree: the previous one is still not quite right
31
- + log-tree: use custom line terminator in line termination mode
24
+* jc/install-no-hardlinks (2012-05-04) 1 commit
25
+ - Makefile: NO_INSTALL_HARDLINKS
26
33
-"log -z --pretty=tformat:..." does not terminate each record with NUL
34
-and this is a beginning of an attempt to fix it. It still is not right
35
-but the patch does not make externally observable behaviour worse.
27
+Your build platform may support hardlinks but you may prefer not to use
28
+them, e.g. when installing to DESTDIR to make a tarball and untarring on
29
+a filesystem that has poor support for hardlinks.
30
+
31
+The Makefile in git-gui project may need to learn to honor the same
32
+setting; it unconditionally creates git-citool by hardlinking git-gui.
33
+
34
+Will merge to 'next'.
35
+
36
+* jk/maint-reflog-walk-count-vs-time (2012-05-04) 4 commits
37
+ - reflog-walk: always make HEAD@{0} show indexed selectors
38
+ - reflog-walk: clean up "flag" field of commit_reflog struct
39
+ - log: respect date_mode_explicit with --format:%gd
40
+ - t1411: add more selector index/date tests
41
+
42
+Gives a better DWIM behaviour for --pretty=format:%gd, "stash list", and
43
+"log -g", depending on how the starting point ("master" vs "master@{0}" vs
44
+"master@{now}") and date formatting options (e.g. "--date=iso") are given
45
+on the command line.
46
+
47
+We may want to clean it up further so that "--date=default" is taken as an
48
+explicit request to show them in timed, not counted, format.
49
+
50
+* nd/i18n-branch-lego (2012-05-04) 1 commit
51
+ - branch: remove lego in i18n tracking info strings
52
+
53
+Fix yet another message construction by concatenating pieces of sentenes,
54
+which is unfriendly to i18n.
55
+
56
+Will merge to 'next'.
57
+
58
+* nh/empty-rebase (2012-05-03) 1 commit
59
+ (merged to 'next' on 2012-05-04 at 8a79d96)
60
+ + git cherry-pick: do not dereference a potential NULL pointer
61
+
62
+Fix to a topic merged to 'master'.
63
64
Will merge to 'master'.
65
39
-* nd/stream-to-archive (2012-04-30) 9 commits
40
- - archive-zip: streaming for deflated files
41
- - archive-zip: streaming for stored files
42
- - archive-zip: factor out helpers for writing sizes and CRC
43
- - archive-zip: remove uncompressed_size
44
- - streaming: void pointer instead of char pointer
45
- - archive-tar: stream large blobs to tar file
46
- - archive: delegate blob reading to backend
47
- - archive-tar: unindent write_tar_entry by one level
48
- - archive-tar: turn write_tar_entry into blob-writing only
66
+* jc/maint-push-refs-all (2012-05-04) 2 commits
67
+ - get_fetch_map(): tighten checks on dest refs
68
+ - fetch/push: allow refs/*:refs/*
69
50
-Stream large blobs directly out to archive files without slurping
51
-everything in memory first. The streaming version of "tar" may need
52
-further fixing.
70
+Allows pushing and fetching refs/stash.
71
+Not ready.
72
+There still seem to be other bugs hiding (e.g. try pushing twice).
73
54
-Expecting another reroll; the second version already had review exchanges
55
-so I didn't pick it up.
74
+* js/checkout-detach-count (2012-05-04) 2 commits
75
+ - checkout (detached): truncate list of orphaned commits at the new HEAD
76
+ - t2020-checkout-detach: check for the number of orphaned commits
77
+
78
+When checking out another commit from an already detached state, we used
79
+to report all commits that are not reachable from any of the refs as
80
+lossage, but some of them might be reachable from the new HEAD, and there
81
+is no need to warn about them.
82
+
83
+Will merge to 'next'.
84
+
85
+--------------------------------------------------
86
+[Graduated to "master"]
87
88
* jk/maint-push-progress (2012-05-01) 3 commits
89
(merged to 'next' on 2012-05-01 at 2286130)
@@ -64,225 +95,39 @@ so I didn't pick it up.
95
96
Will merge to 'master'.
97
67
-* zj/diff-empty-chmod (2012-05-02) 5 commits
68
- (merged to 'next' on 2012-05-02 at fb8cb11)
69
- + t4006: Windows do not have /dev/zero
70
- (merged to 'next' on 2012-05-01 at 5a92787)
71
- + diff --stat: do not run diff on indentical files
72
- + diff --stat: report mode-only changes for binary files like text files
73
- + tests: check --[short]stat output after chmod
74
- + test: modernize style of t4006
98
+* nd/columns (2012-04-27) 10 commits
99
+ (merged to 'next' on 2012-04-30 at 93bb157)
100
+ + tag: add --column
101
+ + column: support piping stdout to external git-column process
102
+ + status: add --column
103
+ + branch: add --column
104
+ + help: reuse print_columns() for help -a
105
+ + column: add dense layout support
106
+ + t9002: work around shells that are unable to set COLUMNS to 1
107
+ + column: add columnar layout
108
+ + Stop starting pager recursively
109
+ + Add column layout skeleton and git-column
110
76
-"git diff --stat" used to fully count a binary file with modified
77
-execution bits whose contents is unmodified, which was not right.
111
+A couple of commands learn --column option to produce columnar output.
112
113
Will merge to 'master'.
114
81
---------------------------------------------------
82
-[Graduated to "master"]
83
-
84
-* ab/i18n (2012-04-30) 3 commits
85
- (merged to 'next' on 2012-04-30 at 5e7620d)
86
- + git-commit: remove lego in i18n messages
87
- + git-commit: remove lego in i18n messages
88
- + git-branch: remove lego in i18n messages
89
-
90
-Fixes some constructs that build messages meant for i18n by concatenating
91
-pieces of strings.
92
-
93
-* jc/index-v4 (2012-04-27) 12 commits
94
- (merged to 'next' on 2012-04-29 at ed71f9c)
95
- + index-v4: document the entry format
96
- + unpack-trees: preserve the index file version of original
97
- (merged to 'next' on 2012-04-19 at 5e4b029)
98
- + update-index: upgrade/downgrade on-disk index version
99
- + read-cache.c: write prefix-compressed names in the index
100
- + read-cache.c: read prefix-compressed names in index on-disk version v4
101
- + read-cache.c: move code to copy incore to ondisk cache to a helper function
102
- + read-cache.c: move code to copy ondisk to incore cache to a helper function
103
- + read-cache.c: report the header version we do not understand
104
- + read-cache.c: make create_from_disk() report number of bytes it consumed
105
- + read-cache.c: allow unaligned mapping of the index file
106
- + cache.h: hide on-disk index details
107
- + varint: make it available outside the context of pack
108
- (this branch is tangled with jc/split-blob.)
109
-
110
-Trivially shrinks the on-disk size of the index file to save both I/O and
111
-checksum overhead. It even comes with a technical doc updates.
112
-
113
-The topic should give a solid base to build on further updates, with the
114
-code refactoring in its earlier parts, and the backward compatibility
115
-mechanism in its later parts.
116
-
117
-* jc/rerere-train (2012-04-30) 1 commit
118
- (merged to 'next' on 2012-04-30 at 0cc4308)
119
- + contrib/rerere-train: use installed git-sh-setup
120
-
121
-A script written long time ago proved to be useful this week for me ;-)
122
-with a minor tweak.
123
-
124
-* jk/doc-asciidoc-inline-literal (2012-04-26) 1 commit
125
- (merged to 'next' on 2012-04-30 at a52b4e6)
126
- + docs: stop using asciidoc no-inline-literal
127
-
128
-Our documentation was written for an ancient version of AsciiDoc,
129
-making the source not very readable.
130
-
131
-* jk/maint-config-bogus-section (2012-04-25) 1 commit
132
- (merged to 'next' on 2012-04-26 at 9919198)
133
- + config: reject bogus section names for --rename-section
134
-
135
-"git config --rename-section" to rename an existing section into a
136
-bogus one did not check the new name.
137
-
138
-* jk/maint-gitweb-test-use-sane-perl (2012-05-01) 2 commits
139
- (merged to 'next' on 2012-05-01 at 88b3f80)
140
- + Consistently use perl from /usr/bin/ for scripts
141
- + t/gitweb-lib: use $PERL_PATH to run gitweb
142
-
143
-When using a Perl script on a system where "perl" found on user's $PATH
144
-could be ancient or otherwise broken, we allow builders to specify the
145
-path to a good copy of Perl with $PERL_PATH. The gitweb test forgot to
146
-use that Perl when running its test.
147
-
148
-* ld/git-p4-tags-and-labels (2012-04-25) 7 commits
149
- (merged to 'next' on 2012-04-25 at 8b959e5)
150
- + git p4: fix unit tests
151
- (merged to 'next' on 2012-04-24 at bf55d92)
152
- + git p4: move verbose to base class
153
- + git p4: Ignore P4EDITOR if it is empty
154
- + git p4: Squash P4EDITOR in test harness
155
- + git p4: fix-up "import/export of labels to/from p4"
156
- (merged to 'next' on 2012-04-15 at 1b1e9a1)
157
- + git p4: import/export of labels to/from p4
158
- + git p4: Fixing script editor checks
159
-
160
-Support p4 labels by importing/exporting them as git tags.
161
-
162
-* lp/diffstat-with-graph (2012-04-27) 8 commits
163
- (merged to 'next' on 2012-04-30 at b301202)
164
- + t4052: work around shells unable to set COLUMNS to 1
165
- + Merge branch 'zj/mksh-columns-breakage' into lp/diffstat-with-graph
166
- (merged to 'next' on 2012-04-23 at 8de0747)
167
- + Prevent graph_width of stat width from falling below min
168
- + t4052: Test diff-stat output with minimum columns
169
- + t4052: Adjust --graph --stat output for prefixes
170
- + Adjust stat width calculations to take --graph output into account
171
- + Add output_prefix_length to diff_options
172
- + t4052: test --stat output with --graph
173
- (this branch uses zj/mksh-columns-breakage; is tangled with nd/columns.)
174
-
175
-"log --graph" was not very friendly with "--stat" option and its output
176
-had line breaks at wrong places.
177
-
178
-* mm/simple-push (2012-04-24) 7 commits
179
- (merged to 'next' on 2012-04-30 at 1a571d2)
180
- + push.default doc: explain simple after upstream
181
- + push: document the future default change for push.default (matching -> simple)
182
- + t5570: use explicit push refspec
183
- + push: introduce new push.default mode "simple"
184
- + t5528-push-default.sh: add helper functions
185
- + Undocument deprecated alias 'push.default=tracking'
186
- + Documentation: explain push.default option a bit more
187
- (this branch is used by mm/push-default-switch-warning.)
188
-
189
-New users tend to work on one branch at a time and push the result
190
-out. The current and upstream modes of push is a more suitable default
191
-mode than matching mode for these people, but neither is surprise-free
192
-depending on how the project is set up. Introduce a "simple" mode that
193
-is a subset of "upstream" but only works when the branch is named the same
194
-between the remote and local repositories.
195
-
196
-The plan is to make it the new default when push.default is not
197
-configured.
198
-
199
-* nd/i18n (2012-04-25) 11 commits
200
- (merged to 'next' on 2012-04-30 at d8bbd7a)
201
- + help: replace underlining "help -a" headers using hyphens with a blank line
202
- (merged to 'next' on 2012-04-24 at 07965a4)
203
- + i18n: bundle: mark strings for translation
204
- + i18n: index-pack: mark strings for translation
205
- + i18n: apply: update say_patch_name to give translators complete sentence
206
- + i18n: apply: mark strings for translation
207
- + i18n: remote: mark strings for translation
208
- + i18n: make warn_dangling_symref() automatically append \n
209
- + i18n: help: mark strings for translation
210
- + i18n: mark relative dates for translation
211
- + strbuf: convenience format functions with \n automatically appended
212
- + Makefile: feed all header files to xgettext
213
-
214
-More message strings marked for i18n.
215
-
216
-* nh/empty-rebase (2012-04-24) 4 commits
217
- (merged to 'next' on 2012-04-24 at 91d2dfd)
218
- + git-rebase: add keep_empty flag
219
- + git-cherry-pick: Add test to validate new options
220
- + git-cherry-pick: Add keep-redundant-commits option
221
- + git-cherry-pick: add allow-empty option
222
-
223
-"git rebase" learned to optionally keep commits that do not introduce
224
-any change in the original history.
225
-
226
-* pw/message-cleanup (2012-04-30) 2 commits
227
- (merged to 'next' on 2012-04-30 at 703c0c4)
228
- + remove blank filename in error message
229
- + remove superfluous newlines in error messages
230
-
231
-Many error/warning messages had extra trailing newlines that are
232
-unnecessary.
233
-
234
-* pw/p4-various (2012-04-30) 4 commits
235
- (merged to 'next' on 2012-04-30 at b20428c)
236
- + git p4: submit files with wildcards
237
- + git p4: fix writable file after rename or copy
238
- + git p4: test submit
239
- + git p4: bring back files in deleted client directory
240
-
241
-Miscellaneous updates to "git p4".
242
-
243
-* tr/xdiff-fast-hash (2012-05-01) 2 commits
244
- (merged to 'next' on 2012-05-01 at 5155b98)
245
- + xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE
246
- (merged to 'next' on 2012-04-24 at ed693cf)
247
- + xdiff: load full words in the inner loop of xdl_hash_record
248
-
249
-Use word-at-a-time comparison to find end of line or NUL (end of buffer),
250
-borrowed from the linux-kernel discussion.
251
-
252
-* zj/diff-stat-smaller-num-columns (2012-04-30) 1 commit
253
- (merged to 'next' on 2012-05-01 at eb68d3b)
254
- + diff --stat: use less columns for change counts
255
-
256
-Spend only minimum number of columns necessary to show the number of lines
257
-in the output from "diff --stat", instead of always allocating 4 columns
258
-even when showing changes that are much smaller than 1000 lines.
259
-
260
-* zj/mksh-columns-breakage (2012-04-27) 1 commit
261
- (merged to 'next' on 2012-04-30 at cce82a8)
262
- + test-lib: skip test with COLUMNS=1 under mksh
263
- (this branch is used by lp/diffstat-with-graph and nd/columns.)
264
-
265
-A broken shell may not let us set an environment value to an arbitrary
266
-value, interfering with some of the tests. Introduce a test prerequisite
267
-so that we can skip some tests on such a platform.
268
-
115
--------------------------------------------------
116
[Stalled]
117
272
-* nl/http-proxy-more (2012-04-26) 8 commits
273
- - http: try an uppercase version of $proto_proxy
274
- - http: fix proxy password passing
275
- - http: fix proxy authentication
118
+* nl/http-proxy-more (2012-05-03) 6 commits
119
- http: rename HTTP_REAUTH to HTTP_AUTH_RETRY
120
- http: Avoid limit of retrying request only twice
121
- http: handle proxy authentication failure (error 407)
122
+ - http: fix http_proxy specified without protocol part
123
- http: handle proxy proactive authentication
124
- http: try http_proxy env var when http.proxy config option is not set
125
282
-Still needs to address review comments from Peff, some of which were
283
-partly addressed with later "fixup" patches queued here.
126
+It appears that the scope of this series should be drastically reduced, or
127
+perhaps wait the entire topic until cURL library gains the necessary hooks
128
+to tell us what proxy server wants us to authenticate when giving us 407.
129
285
-It probably is a good idea to re-roll the entire series.
130
+Probably we will end up discarding this series, at least for this cycle.
131
132
* jc/run-hook-env-1 (2012-03-11) 1 commit
133
- run_hook(): enhance the interface to pass arbitrary environment
@@ -325,46 +170,72 @@ not working :-(.
170
--------------------------------------------------
171
[Cooking]
172
328
-* mh/ref-api-lazy-loose (2012-04-26) 18 commits
329
- - refs: read loose references lazily
330
- - read_loose_refs(): eliminate ref_cache argument
331
- - struct ref_dir: store a reference to the enclosing ref_cache
332
- - search_for_subdir(): return (ref_dir *) instead of (ref_entry *)
333
- - get_ref_dir(): add function for getting a ref_dir from a ref_entry
334
- - read_loose_refs(): rename function from get_ref_dir()
335
- - refs: wrap top-level ref_dirs in ref_entries
336
- - find_containing_dir(): use strbuf in implementation of this function
337
- - bisect: copy filename string obtained from git_path()
338
- - do_for_each_reflog(): reuse strbuf across recursive function calls
339
- - do_for_each_reflog(): use a strbuf to hold logfile name
340
- - do_for_each_reflog(): return early on error
341
- - get_ref_dir(): take the containing directory as argument
342
- - refs.c: extract function search_for_subdir()
343
- - get_ref_dir(): require that the dirname argument ends in '/'
344
- - get_ref_dir(): rename "base" parameter to "dirname"
345
- - get_ref_dir(): use a strbuf to hold refname
346
- - get_ref_dir(): return early if directory cannot be read
173
+* jk/maint-tformat-with-z (2012-05-01) 2 commits
174
+ (merged to 'next' on 2012-05-02 at a0f8af7)
175
+ + log-tree: the previous one is still not quite right
176
+ + log-tree: use custom line terminator in line termination mode
177
348
-Refs API is updated to lazily read sub-hierarchies of refs/ namespace,
349
-so that we do not have to grab everything from the filesystem when we
350
-are only interested in listing branches, for example.
178
+"log -z --pretty=tformat:..." does not terminate each record with NUL
179
+and this is a beginning of an attempt to fix it. It still is not right
180
+but the patch does not make externally observable behaviour worse.
181
352
-This looked mostly sane. Did I miss "needs more work" review comments?
182
+Will merge to 'master'.
183
354
-* nd/columns (2012-04-27) 10 commits
355
- (merged to 'next' on 2012-04-30 at 93bb157)
356
- + tag: add --column
357
- + column: support piping stdout to external git-column process
358
- + status: add --column
359
- + branch: add --column
360
- + help: reuse print_columns() for help -a
361
- + column: add dense layout support
362
- + t9002: work around shells that are unable to set COLUMNS to 1
363
- + column: add columnar layout
364
- + Stop starting pager recursively
365
- + Add column layout skeleton and git-column
184
+* nd/stream-to-archive (2012-05-03) 10 commits
185
+ - t5000: rationalize unzip tests
186
+ - archive-zip: streaming for deflated files
187
+ - archive-zip: streaming for stored files
188
+ - archive-zip: factor out helpers for writing sizes and CRC
189
+ - archive-zip: remove uncompressed_size
190
+ - archive-tar: stream large blobs to tar file
191
+ - archive: delegate blob reading to backend
192
+ - archive-tar: unindent write_tar_entry by one level
193
+ - archive-tar: turn write_tar_entry into blob-writing only
194
+ - streaming: void pointer instead of char pointer
195
367
-A couple of commands learn --column option to produce columnar output.
196
+Stream large blobs directly out to archive files without slurping
197
+everything in memory first.
198
+
199
+Will merge to 'next'.
200
+
201
+* zj/diff-empty-chmod (2012-05-02) 5 commits
202
+ (merged to 'next' on 2012-05-02 at fb8cb11)
203
+ + t4006: Windows do not have /dev/zero
204
+ (merged to 'next' on 2012-05-01 at 5a92787)
205
+ + diff --stat: do not run diff on indentical files
206
+ + diff --stat: report mode-only changes for binary files like text files
207
+ + tests: check --[short]stat output after chmod
208
+ + test: modernize style of t4006
209
+
210
+"git diff --stat" used to fully count a binary file with modified
211
+execution bits whose contents is unmodified, which was not right.
212
+
213
+Will merge to 'master'.
214
+
215
+* mh/ref-api-lazy-loose (2012-05-04) 18 commits
216
+ (merged to 'next' on 2012-05-04 at a70d858)
217
+ + refs: fix find_containing_dir() regression
218
+ + refs: read loose references lazily
219
+ + read_loose_refs(): eliminate ref_cache argument
220
+ + struct ref_dir: store a reference to the enclosing ref_cache
221
+ + search_for_subdir(): return (ref_dir *) instead of (ref_entry *)
222
+ + get_ref_dir(): add function for getting a ref_dir from a ref_entry
223
+ + read_loose_refs(): rename function from get_ref_dir()
224
+ + refs: wrap top-level ref_dirs in ref_entries
225
+ + find_containing_dir(): use strbuf in implementation of this function
226
+ + bisect: copy filename string obtained from git_path()
227
+ + do_for_each_reflog(): use a strbuf to hold logfile name
228
+ + do_for_each_reflog(): return early on error
229
+ + get_ref_dir(): take the containing directory as argument
230
+ + refs.c: extract function search_for_subdir()
231
+ + get_ref_dir(): require that the dirname argument ends in '/'
232
+ + get_ref_dir(): rename "base" parameter to "dirname"
233
+ + get_ref_dir(): use a strbuf to hold refname
234
+ + get_ref_dir(): return early if directory cannot be read
235
+
236
+Refs API is updated to lazily read sub-hierarchies of refs/ namespace,
237
+so that we do not have to grab everything from the filesystem when we
238
+are only interested in listing branches, for example.
239
240
Will merge to 'master'.
241
@@ -374,6 +245,9 @@ Will merge to 'master'.
245
- index-pack: split second pass obj handling into own function
246
- compat/win32/pthread.h: Add an pthread_key_delete() implementation
247
248
+The resulting code seems to be correct but is somewhat a confusing mess.
249
+We may want to have a reroll before merging it to 'next'.
250
+
251
* th/difftool-diffall (2012-04-23) 8 commits
252
(merged to 'next' on 2012-05-02 at fdc9f60)
253
+ difftool: print list of valid tools with '--tool-help'