What's cooking (2012/05 #04)

Junio C Hamano committed May 11, 2012 at 14:55 UTC 88989e2f155058354f32187fb408e7d74c6c15a1
1 file changed +148 -182
whats-cooking.txt
+148 -182
@@ -1,17 +1,16 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (May 2012, #03; Tue, 8)
3 -X-master-at: a3935e6791c619a9f2f472e9e553d45d88c4e263
4 -X-next-at: fc4d754aa0f0b59f9e5aae11a66367f2db8d5ae0
2 +Subject: What's cooking in git.git (May 2012, #04; Fri, 11)
3 +X-master-at: cd07cc53125fb2ca77a644831d4e5d9517bb7a05
4 +X-next-at: 441bd9a9d602910692074224920f8049ef81ea99
5
6 -What's cooking in git.git (May 2012, #03; Tue, 8)
6 +What's cooking in git.git (May 2012, #04; Fri, 11)
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 ninth batch of topics have graduated to 'master'; we seem to have
13 -accumulated more topics on 'next' in the meantime, but they all look
14 -healthy. It is a good time to start preparing for the feature freeze.
12 +The tenth and eleventh batch of topics are now in 'master', and there is
13 +the second maintenance release on the 1.7.10.x track out.
14
15 You can find the changes described here in the integration branches of the
16 repositories listed at
@@ -19,20 +18,23 @@ repositories listed at
18 http://git-blame.blogspot.com/p/git-public-repositories.html
19
20 --------------------------------------------------
22 -[New Topics]
21 +[Graduated to "master"]
22
23 * ah/maint-grep-double-init (2012-05-07) 1 commit
24 (merged to 'next' on 2012-05-08 at 51f84c5)
25 + grep.c: remove redundant line of code
26
28 -Will merge to 'master'.
27 +* ef/checkout-empty (2012-05-08) 1 commit
28 + (merged to 'next' on 2012-05-08 at fc4d754)
29 + + checkout: do not corrupt HEAD on empty repo
30 +
31 +Running "git checkout" on an unborn branch used to corrupt HEAD
32 +(regression in 1.7.10); this makes it error out.
33
34 * ef/maint-1.7.6-clone-progress-fix (2012-05-07) 1 commit
35 + clone: fix progress-regression
36 (this branch is used by ef/maint-clone-progress-fix.)
37
34 -Will merge to 'master'.
35 -
38 * ef/maint-clone-progress-fix (2012-05-07) 1 commit
39 (merged to 'next' on 2012-05-08 at b9a6cad)
40 + Merge branch 'ef/maint-1.7.6-clone-progress-fix' into ef/maint-clone-progress-fix
@@ -42,19 +44,34 @@ Some time ago, "git clone" lost the progress output for its "checkout"
44 phase; when run without any "--quiet" option, it should give progress to
45 the lengthy operation.
46
45 -Will merge to 'master'.
46 -
47 * fa/maint-config-doc (2012-05-07) 1 commit
48 (merged to 'next' on 2012-05-08 at 54cc478)
49 + Documentation/git-config: describe and clarify "--local <file>" option
50
51 -Will merge to 'master'.
51 +* jc/install-no-hardlinks (2012-05-04) 1 commit
52 + (merged to 'next' on 2012-05-07 at b69e132)
53 + + Makefile: NO_INSTALL_HARDLINKS
54
53 -* fc/simplify-complete-revlist-file (2012-05-07) 1 commit
54 - (merged to 'next' on 2012-05-08 at ff0b7d1)
55 - + completion: simplify __git_complete_revlist_file
55 +Your build platform may support hardlinks but you may prefer not to use
56 +them, e.g. when installing to DESTDIR to make a tarball and untarring on
57 +a filesystem that has poor support for hardlinks.
58
57 -Will merge to 'master'.
59 +The Makefile in git-gui project may need to learn to honor the same
60 +setting; it unconditionally creates git-citool by hardlinking git-gui.
61 +
62 +* jk/maint-reflog-walk-count-vs-time (2012-05-07) 5 commits
63 + (merged to 'next' on 2012-05-08 at b1a9987)
64 + + reflog-walk: tell explicit --date=default from not having --date at all
65 + (merged to 'next' on 2012-05-07 at 3652958)
66 + + reflog-walk: always make HEAD@{0} show indexed selectors
67 + + reflog-walk: clean up "flag" field of commit_reflog struct
68 + + log: respect date_mode_explicit with --format:%gd
69 + + t1411: add more selector index/date tests
70 +
71 +Gives a better DWIM behaviour for --pretty=format:%gd, "stash list", and
72 +"log -g", depending on how the starting point ("master" vs "master@{0}" vs
73 +"master@{now}") and date formatting options (e.g. "--date=iso") are given
74 +on the command line.
75
76 * jk/maint-status-porcelain-z-b (2012-05-08) 4 commits
77 + status: respect "-b" for porcelain format
@@ -63,8 +80,6 @@ Will merge to 'master'.
80 + commit: refactor option parsing
81 (this branch is used by jk/status-porcelain-z-b.)
82
66 -Will merge to 'master'.
67 -
83 * jk/status-porcelain-z-b (2012-05-08) 2 commits
84 (merged to 'next' on 2012-05-08 at 31172dd)
85 + status: refactor colopts handling
@@ -75,86 +90,125 @@ Will merge to 'master'.
90 for "git status --branch -z" was also incorrect and did not terminate the
91 record for the current branch name with NUL as asked.
92
78 -Will merge to 'master'.
93 +* js/checkout-detach-count (2012-05-04) 2 commits
94 + (merged to 'next' on 2012-05-07 at 2957590)
95 + + checkout (detached): truncate list of orphaned commits at the new HEAD
96 + + t2020-checkout-detach: check for the number of orphaned commits
97
80 -* ef/checkout-empty (2012-05-08) 1 commit
81 - (merged to 'next' on 2012-05-08 at fc4d754)
82 - + checkout: do not corrupt HEAD on empty repo
98 +When checking out another commit from an already detached state, we used
99 +to report all commits that are not reachable from any of the refs as
100 +lossage, but some of them might be reachable from the new HEAD, and there
101 +is no need to warn about them.
102
84 -Running "git checkout" on an unborn branch used to corrupt HEAD
85 -(regression in 1.7.10); this makes it error out.
103 +* mh/ref-api-lazy-loose (2012-05-04) 18 commits
104 + (merged to 'next' on 2012-05-04 at a70d858)
105 + + refs: fix find_containing_dir() regression
106 + + refs: read loose references lazily
107 + + read_loose_refs(): eliminate ref_cache argument
108 + + struct ref_dir: store a reference to the enclosing ref_cache
109 + + search_for_subdir(): return (ref_dir *) instead of (ref_entry *)
110 + + get_ref_dir(): add function for getting a ref_dir from a ref_entry
111 + + read_loose_refs(): rename function from get_ref_dir()
112 + + refs: wrap top-level ref_dirs in ref_entries
113 + + find_containing_dir(): use strbuf in implementation of this function
114 + + bisect: copy filename string obtained from git_path()
115 + + do_for_each_reflog(): use a strbuf to hold logfile name
116 + + do_for_each_reflog(): return early on error
117 + + get_ref_dir(): take the containing directory as argument
118 + + refs.c: extract function search_for_subdir()
119 + + get_ref_dir(): require that the dirname argument ends in '/'
120 + + get_ref_dir(): rename "base" parameter to "dirname"
121 + + get_ref_dir(): use a strbuf to hold refname
122 + + get_ref_dir(): return early if directory cannot be read
123
87 -Will merge to 'master'.
124 +Refs API is updated to lazily read sub-hierarchies of refs/ namespace,
125 +so that we do not have to grab everything from the filesystem when we
126 +are only interested in listing branches, for example.
127
128 * nd/i18n-apply-lego (2012-05-08) 1 commit
129 (merged to 'next' on 2012-05-08 at c2be904)
130 + apply: remove lego in i18n string in gitdiff_verify_name
131
93 -Will merge to 'master'.
94 -
95 -* nd/i18n-parseopt (2012-05-08) 2 commits
96 - (merged to 'next' on 2012-05-08 at 15eb029)
97 - + i18n: apply: mark parseopt strings for translation
98 - + i18n: parseopt: lookup help and argument translations when showing usage
132 +* nd/i18n-branch-lego (2012-05-04) 1 commit
133 + (merged to 'next' on 2012-05-07 at af4e16f)
134 + + branch: remove lego in i18n tracking info strings
135
100 -Text from "git cmd --help" are getting prepared for i18n.
136 +Fix yet another message construction by concatenating pieces of sentenes,
137 +which is unfriendly to i18n.
138
102 -* rs/maint-dir-strbuf (2012-05-08) 1 commit
103 - + dir: convert to strbuf
104 - (this branch is used by rs/dir-strbuf.)
139 +* nd/stream-to-archive (2012-05-03) 10 commits
140 + (merged to 'next' on 2012-05-07 at 92f11c4)
141 + + t5000: rationalize unzip tests
142 + + archive-zip: streaming for deflated files
143 + + archive-zip: streaming for stored files
144 + + archive-zip: factor out helpers for writing sizes and CRC
145 + + archive-zip: remove uncompressed_size
146 + + archive-tar: stream large blobs to tar file
147 + + archive: delegate blob reading to backend
148 + + archive-tar: unindent write_tar_entry by one level
149 + + archive-tar: turn write_tar_entry into blob-writing only
150 + + streaming: void pointer instead of char pointer
151
106 -Will merge to 'master'.
152 +Stream large blobs directly out to archive files without slurping
153 +everything in memory first.
154
155 * rs/dir-strbuf (2012-05-08) 1 commit
156 (merged to 'next' on 2012-05-08 at 0bc94fb)
157 + Merge branch 'rs/maint-dir-strbuf' into rs/dir-strbuf
158 (this branch uses rs/maint-dir-strbuf.)
159
113 -Will merge to 'master'.
160 +* rs/maint-dir-strbuf (2012-05-08) 1 commit
161 + + dir: convert to strbuf
162 + (this branch is used by rs/dir-strbuf.)
163
164 --------------------------------------------------
116 -[Graduated to "master"]
165 +[New Topics]
166
118 -* jk/maint-tformat-with-z (2012-05-01) 2 commits
119 - (merged to 'next' on 2012-05-02 at a0f8af7)
120 - + log-tree: the previous one is still not quite right
121 - + log-tree: use custom line terminator in line termination mode
122 -
123 -"log -z --pretty=tformat:..." does not terminate each record with NUL
124 -and this is a beginning of an attempt to fix it. It still is not right
125 -but the patch does not make externally observable behaviour worse.
126 -
127 -* nh/empty-rebase (2012-05-03) 1 commit
128 - (merged to 'next' on 2012-05-04 at 8a79d96)
129 - + git cherry-pick: do not dereference a potential NULL pointer
130 -
131 -Fix to a topic merged to 'master'.
132 -
133 -* th/difftool-diffall (2012-04-23) 8 commits
134 - (merged to 'next' on 2012-05-02 at fdc9f60)
135 - + difftool: print list of valid tools with '--tool-help'
136 - + difftool: teach difftool to handle directory diffs
137 - + difftool: eliminate setup_environment function
138 - + difftool: stop appending '.exe' to git
139 - + difftool: remove explicit change of PATH
140 - + difftool: exit(0) when usage is printed
141 - + difftool: add '--no-gui' option
142 - + difftool: parse options using Getopt::Long
143 -
144 -Rolls the two-directory-diff logic from diffall script (in contrib/) into
145 -"git difftool" framework.
146 -
147 -* zj/diff-empty-chmod (2012-05-02) 5 commits
148 - (merged to 'next' on 2012-05-02 at fb8cb11)
149 - + t4006: Windows do not have /dev/zero
150 - (merged to 'next' on 2012-05-01 at 5a92787)
151 - + diff --stat: do not run diff on indentical files
152 - + diff --stat: report mode-only changes for binary files like text files
153 - + tests: check --[short]stat output after chmod
154 - + test: modernize style of t4006
155 -
156 -"git diff --stat" used to fully count a binary file with modified
157 -execution bits whose contents is unmodified, which was not right.
167 +* rs/xdiff-lose-emit-func (2012-05-09) 6 commits
168 + (merged to 'next' on 2012-05-11 at 1eeb893)
169 + + xdiff: remove unused functions
170 + + xdiff: remove emit_func() and xdi_diff_hunks()
171 + + blame: factor out helper for calling xdi_diff()
172 + + blame: use hunk_func(), part 2
173 + + blame: use hunk_func(), part 1
174 + + xdiff: add hunk_func()
175 +
176 +Simplifies the interface between the implementation of "blame" and
177 +underlying xdiff engine, and removes a lot of unnecessary code from
178 +the latter.
179 +
180 +* sg/bash-prompt (2012-05-09) 4 commits
181 + - completion: respect $GIT_DIR
182 + - completion: use __gitdir() in _git_log()
183 + - tests: add tests for the bash prompt functions in the completion script
184 + - tests: move code to run tests under bash into a helper library
185 +
186 +This is only the "correction" bits taken from the beginning of a larger
187 +series that is to be rerolled.
188 +
189 +* jc/apply-3way (2012-05-10) 9 commits
190 + - apply: document --3way option
191 + - apply: allow rerere() upon --3way results
192 + - apply: register conflicted stages to the index
193 + - apply: plug the three-way merge logic in
194 + - apply: fall back on three-way merge
195 + - apply: accept -3/--3way command line option
196 + - apply: split load_preimage() helper function out
197 + - apply: refactor read_file_or_gitlink()
198 + - apply: clear_image() clears things a bit more
199 +
200 +"git apply" learns to wiggle the base version and perform three-way merge
201 +when a patch does not exactly apply to the version you have.
202 +
203 +* ld/git-p4-tags-and-labels (2012-05-11) 3 commits
204 + (merged to 'next' on 2012-05-11 at 441bd9a)
205 + + git p4: fix bug when enabling tag import/export via config variables
206 + + git p4: fix bug when verbose enabled with tag export
207 + + git p4: add test for tag import/export enabled via config
208 +
209 +* rs/dir-strbuf-read-recursive-fix (2012-05-11) 2 commits
210 + - dir: simplify fill_directory()
211 + - dir: respect string length argument of read_directory_recursive()
212
213 --------------------------------------------------
214 [Stalled]
@@ -167,20 +221,6 @@ Allows pushing and fetching refs/stash.
221 Not ready.
222 There still seem to be other bugs hiding (e.g. try pushing twice).
223
170 -* nl/http-proxy-more (2012-05-03) 6 commits
171 - - http: rename HTTP_REAUTH to HTTP_AUTH_RETRY
172 - - http: Avoid limit of retrying request only twice
173 - - http: handle proxy authentication failure (error 407)
174 - - http: fix http_proxy specified without protocol part
175 - - http: handle proxy proactive authentication
176 - - http: try http_proxy env var when http.proxy config option is not set
177 -
178 -It appears that the scope of this series should be drastically reduced, or
179 -perhaps wait the entire topic until cURL library gains the necessary hooks
180 -to tell us what proxy server wants us to authenticate when giving us 407.
181 -
182 -Probably we will end up discarding this series, at least for this cycle.
183 -
224 * jc/run-hook-env-1 (2012-03-11) 1 commit
225 - run_hook(): enhance the interface to pass arbitrary environment
226
@@ -222,100 +262,26 @@ not working :-(.
262 --------------------------------------------------
263 [Cooking]
264
225 -* jc/install-no-hardlinks (2012-05-04) 1 commit
226 - (merged to 'next' on 2012-05-07 at b69e132)
227 - + Makefile: NO_INSTALL_HARDLINKS
228 -
229 -Your build platform may support hardlinks but you may prefer not to use
230 -them, e.g. when installing to DESTDIR to make a tarball and untarring on
231 -a filesystem that has poor support for hardlinks.
232 -
233 -The Makefile in git-gui project may need to learn to honor the same
234 -setting; it unconditionally creates git-citool by hardlinking git-gui.
235 -
236 -Will merge to 'master'.
237 -
238 -* jk/maint-reflog-walk-count-vs-time (2012-05-07) 5 commits
239 - (merged to 'next' on 2012-05-08 at b1a9987)
240 - + reflog-walk: tell explicit --date=default from not having --date at all
241 - (merged to 'next' on 2012-05-07 at 3652958)
242 - + reflog-walk: always make HEAD@{0} show indexed selectors
243 - + reflog-walk: clean up "flag" field of commit_reflog struct
244 - + log: respect date_mode_explicit with --format:%gd
245 - + t1411: add more selector index/date tests
246 -
247 -Gives a better DWIM behaviour for --pretty=format:%gd, "stash list", and
248 -"log -g", depending on how the starting point ("master" vs "master@{0}" vs
249 -"master@{now}") and date formatting options (e.g. "--date=iso") are given
250 -on the command line.
251 -
252 -Will merge to 'master'.
253 -
254 -* nd/i18n-branch-lego (2012-05-04) 1 commit
255 - (merged to 'next' on 2012-05-07 at af4e16f)
256 - + branch: remove lego in i18n tracking info strings
257 -
258 -Fix yet another message construction by concatenating pieces of sentenes,
259 -which is unfriendly to i18n.
260 -
261 -Will merge to 'next'.
262 -
263 -* js/checkout-detach-count (2012-05-04) 2 commits
264 - (merged to 'next' on 2012-05-07 at 2957590)
265 - + checkout (detached): truncate list of orphaned commits at the new HEAD
266 - + t2020-checkout-detach: check for the number of orphaned commits
267 -
268 -When checking out another commit from an already detached state, we used
269 -to report all commits that are not reachable from any of the refs as
270 -lossage, but some of them might be reachable from the new HEAD, and there
271 -is no need to warn about them.
265 +* nl/http-proxy-more (2012-05-11) 2 commits
266 + - http: rename HTTP_REAUTH to HTTP_AUTH_RETRY
267 + - http: Avoid limit of retrying request only twice
268
273 -Will merge to 'master'.
269 +I queued only the later two patches from this series, even though they do
270 +not make much sense without the first one that seems to need a bit more
271 +work, so that we won't forget.
272
275 -* nd/stream-to-archive (2012-05-03) 10 commits
276 - (merged to 'next' on 2012-05-07 at 92f11c4)
277 - + t5000: rationalize unzip tests
278 - + archive-zip: streaming for deflated files
279 - + archive-zip: streaming for stored files
280 - + archive-zip: factor out helpers for writing sizes and CRC
281 - + archive-zip: remove uncompressed_size
282 - + archive-tar: stream large blobs to tar file
283 - + archive: delegate blob reading to backend
284 - + archive-tar: unindent write_tar_entry by one level
285 - + archive-tar: turn write_tar_entry into blob-writing only
286 - + streaming: void pointer instead of char pointer
287 -
288 -Stream large blobs directly out to archive files without slurping
289 -everything in memory first.
273 +* fc/simplify-complete-revlist-file (2012-05-07) 1 commit
274 + (merged to 'next' on 2012-05-08 at ff0b7d1)
275 + + completion: simplify __git_complete_revlist_file
276
277 Will merge to 'master'.
278
293 -* mh/ref-api-lazy-loose (2012-05-04) 18 commits
294 - (merged to 'next' on 2012-05-04 at a70d858)
295 - + refs: fix find_containing_dir() regression
296 - + refs: read loose references lazily
297 - + read_loose_refs(): eliminate ref_cache argument
298 - + struct ref_dir: store a reference to the enclosing ref_cache
299 - + search_for_subdir(): return (ref_dir *) instead of (ref_entry *)
300 - + get_ref_dir(): add function for getting a ref_dir from a ref_entry
301 - + read_loose_refs(): rename function from get_ref_dir()
302 - + refs: wrap top-level ref_dirs in ref_entries
303 - + find_containing_dir(): use strbuf in implementation of this function
304 - + bisect: copy filename string obtained from git_path()
305 - + do_for_each_reflog(): use a strbuf to hold logfile name
306 - + do_for_each_reflog(): return early on error
307 - + get_ref_dir(): take the containing directory as argument
308 - + refs.c: extract function search_for_subdir()
309 - + get_ref_dir(): require that the dirname argument ends in '/'
310 - + get_ref_dir(): rename "base" parameter to "dirname"
311 - + get_ref_dir(): use a strbuf to hold refname
312 - + get_ref_dir(): return early if directory cannot be read
313 -
314 -Refs API is updated to lazily read sub-hierarchies of refs/ namespace,
315 -so that we do not have to grab everything from the filesystem when we
316 -are only interested in listing branches, for example.
279 +* nd/i18n-parseopt (2012-05-08) 2 commits
280 + (merged to 'next' on 2012-05-08 at 15eb029)
281 + + i18n: apply: mark parseopt strings for translation
282 + + i18n: parseopt: lookup help and argument translations when showing usage
283
318 -Will merge to 'master'.
284 +Text from "git cmd --help" are getting prepared for i18n.
285
286 * nd/threaded-index-pack (2012-05-07) 4 commits
287 (merged to 'next' on 2012-05-08 at 053b797)