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)