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'