1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (May 2012, #07; Thu, 31)
3 X-master-at: b2478aa0858811c29061ed32c2686468b89d7296
4 X-next-at: 11af7cdeca7ffbfb4387fb8253081fd22c3dd697
6 What's cooking in git.git (May 2012, #07; Thu, 31)
7 --------------------------------------------------
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'.
12 You can find the changes described here in the integration branches of the
13 repositories listed at
15 http://git-blame.blogspot.com/p/git-public-repositories.html
17 --------------------------------------------------
18 [Graduated to "master"]
20 * ap/checkout-no-progress-for-non-tty (2012-05-24) 1 commit
21 (merged to 'next' on 2012-05-24 at dc473bd)
22 + checkout: no progress messages if !isatty(2).
24 "git checkout" gave progress display even when the standard error
25 stream was not connected to the tty, which made little sense.
27 * fc/git-complete-helper-fix (2012-05-20) 2 commits
28 (merged to 'next' on 2012-05-23 at 6124da2)
29 + completion: add support for backwards compatibility
30 + completion: rename internal helpers _git and _gitk
32 Would help people who relied on (unofficial) _git/_gitk helper in their
35 * jk/fetch-pack-remove-dups-optim (2012-05-24) 6 commits
36 (merged to 'next' on 2012-05-24 at cf56fe6)
37 + fetch-pack: sort incoming heads list earlier
38 (merged to 'next' on 2012-05-23 at 6057c21)
39 + fetch-pack: avoid quadratic loop in filter_refs
40 + fetch-pack: sort the list of incoming refs
41 + add sorting infrastructure for list refs
42 + fetch-pack: avoid quadratic behavior in remove_duplicates
43 + fetch-pack: sort incoming heads
45 The way "fetch-pack" that is given multiple references to fetch tried to
46 remove duplicates was very inefficient.
48 * jk/format-person-part-buffer-limit (2012-05-22) 1 commit
49 (merged to 'next' on 2012-05-23 at ef025b0)
50 + pretty: avoid buffer overflow in format_person_part
52 * jk/ident-gecos-strbuf (2012-05-24) 22 commits
53 (merged to 'next' on 2012-05-24 at 7148763)
54 + format-patch: do not use bogus email addresses in message ids
55 + ident: reject bogus email addresses with IDENT_STRICT
56 + ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT
57 + format-patch: use GIT_COMMITTER_EMAIL in message ids
58 + ident: let callers omit name with fmt_indent
59 + ident: refactor NO_DATE flag in fmt_ident
60 + ident: reword empty ident error message
61 (merged to 'next' on 2012-05-23 at 6fce816)
62 + format-patch: refactor get_patch_filename
63 + ident: trim whitespace from default name/email
64 + ident: use a dynamic strbuf in fmt_ident
65 + ident: use full dns names to generate email addresses
66 + ident: report passwd errors with a more friendly message
67 + drop length limitations on gecos-derived names and emails
68 + ident: don't write fallback username into git_default_name
69 + fmt_ident: drop IDENT_WARN_ON_NO_NAME code
70 + format-patch: use default email for generating message ids
71 + ident: trim trailing newline from /etc/mailname
72 + move git_default_* variables to ident.c
73 + move identity config parsing to ident.c
74 + fmt-merge-msg: don't use static buffer in record_person
75 + http-push: do not access git_default_email directly
76 + ident: split setup_ident into separate functions
78 Fixes quite a lot of brokenness when ident information needs to be taken
79 from the system and cleans up the code.
81 * jk/ident-split-fix (2012-05-22) 1 commit
82 (merged to 'next' on 2012-05-23 at 811c9ec)
83 + fix off-by-one error in split_ident_line
85 An author/committer name that is a single character was mishandled as an
86 invalid name by mistake.
88 * jk/pretty-commit-header-incomplete-line (2012-05-22) 1 commit
89 (merged to 'next' on 2012-05-23 at f788433)
90 + avoid segfault when reading header of malformed commits
92 * mh/fetch-pack-constness (2012-05-22) 4 commits
93 (merged to 'next' on 2012-05-23 at be95121)
94 + cmd_fetch_pack(): respect constness of argv parameter
95 + cmd_fetch_pack(): combine the loop termination conditions
96 + cmd_fetch_pack(): handle non-option arguments outside of the loop
97 + cmd_fetch_pack(): declare dest to be const
99 Tighten constness of some local variables in a callchain.
101 * mh/ref-api (2012-05-24) 1 commit
102 (merged to 'next' on 2012-05-24 at c8d54c0)
103 + Avoid sorting if references are added to ref_cache in order
105 * mh/ref-api-lazy-loose (2012-05-20) 1 commit
106 (merged to 'next' on 2012-05-23 at c41a30a)
107 + free_ref_entry(): do not trigger reading of loose refs
109 The code to lazily read loose refs by mistake unnecessarily read the refs
110 in a subhierarchy when we free the data for the subhierarchy.
112 * mh/test-keep-prove-cache (2012-05-20) 1 commit
113 (merged to 'next' on 2012-05-23 at 870d1f9)
114 + t/Makefile: retain cache t/.prove across prove runs
116 * ng/pack-objects-cleanup (2012-05-18) 2 commits
117 (merged to 'next' on 2012-05-23 at f90b1ba)
118 + pack-objects: refactor write_object() into helper functions
119 + pack-objects, streaming: turn "xx >= big_file_threshold" to ".. > .."
121 * rs/dir-strbuf-read-recursive-fix (2012-05-11) 2 commits
122 (merged to 'next' on 2012-05-23 at 2e22549)
123 + dir: simplify fill_directory()
124 + dir: respect string length argument of read_directory_recursive()
126 * rs/maint-grep-F (2012-05-21) 4 commits
127 (merged to 'next' on 2012-05-23 at b24143c)
128 + grep: stop leaking line strings with -f
129 + grep: support newline separated pattern list
130 + grep: factor out do_append_grep_pat()
131 + grep: factor out create_grep_pat()
133 "git grep -e '$pattern'", unlike the case where the patterns are read from
134 a file, did not treat individual lines in the given pattern argument as
135 separate regular expressions as it should.
137 * rs/refs-string-slice (2012-05-22) 4 commits
138 (merged to 'next' on 2012-05-23 at d224de1)
139 + refs: do not create ref_entry when searching
140 + refs: use strings directly in find_containing_dir()
141 + refs: convert parameter of create_dir_entry() to length-limited string
142 + refs: convert parameter of search_ref_dir() to length-limited string
144 Avoid unnecessary temporary allocations while looking for matching refs
147 * rs/xdiff-fast-hash-fix (2012-05-23) 3 commits
148 (merged to 'next' on 2012-05-23 at 8df26a5)
149 + xdiff: import new 32-bit version of count_masked_bytes()
150 + xdiff: avoid more compiler warnings with XDL_FAST_HASH on 32-bit machines
151 + xdiff: avoid compiler warnings with XDL_FAST_HASH on 32-bit machines
153 * sp/sh-windows-pwd (2012-05-16) 1 commit
154 (merged to 'next' on 2012-05-23 at 63004c3)
155 + git-sh-setup: define workaround wrappers before they are used
157 * va/git-p4-test (2012-05-23) 2 commits
158 - git-p4: Verify detection of "empty" branch creation
159 - git-p4: Test changelists touching two branches
161 Rerolled and Acked by Pete.
163 --------------------------------------------------
166 * jl/submodule-report-new-path-once (2012-05-29) 1 commit
167 (merged to 'next' on 2012-05-30 at e482dd9)
168 + submodules: print "registered for path" message only once
170 Will merge to master by 1.7.11 final.
172 * mm/levenstein-penalize-deletion-less (2012-05-29) 1 commit
173 (merged to 'next' on 2012-05-30 at b2a0346)
174 + Reduce cost of deletion in levenstein distance (4 -> 3)
176 Will merge to master by 1.7.11 final.
178 * nd/exclude-workaround-top-heavy (2012-05-29) 2 commits
179 - exclude: do strcmp as much as possible before fnmatch
180 - Unindent excluded_from_list()
182 * nd/stream-pack-objects (2012-05-29) 1 commit
183 - pack-objects: use streaming interface for reading large loose blobs
185 * vr/rebase-autosquash-does-not-imply-i (2012-05-29) 1 commit
186 (merged to 'next' on 2012-05-30 at 10dd3af)
187 + Do not autosquash in case of an implied interactive rebase
189 Will merge to master by 1.7.11 final.
191 * nh/empty-rebase (2012-05-29) 1 commit
192 (merged to 'next' on 2012-05-30 at 270703a)
193 + cherry-pick: regression fix for empty commits
195 Will merge to master by 1.7.11 final.
197 * ef/maint-rebase-error-message (2012-05-30) 1 commit
198 (merged to 'next' on 2012-05-30 at 5194fe3)
199 + rebase: report invalid commit correctly
201 Will merge to master by 1.7.11 final.
203 * jk/clone-local (2012-05-30) 2 commits
204 - clone: allow --no-local to turn off local optimizations
205 - docs/clone: mention that --local may be ignored
207 * jk/no-more-asciidoc7 (2012-05-30) 2 commits
208 - docs: drop antique comment from Makefile
209 - docs: drop asciidoc7compatible flag
211 * jk/no-op-push-message (2012-05-30) 1 commit
212 - improve no-op push output
214 * ef/http-o-depends-on-gvf (2012-05-31) 1 commit
215 (merged to 'next' on 2012-05-31 at 11af7cd)
216 + Makefile: add missing GIT-VERSION-FILE dependency
218 Will merge to master by 1.7.11 final.
220 --------------------------------------------------
223 * nl/http-proxy-more (2012-05-11) 2 commits
224 - http: rename HTTP_REAUTH to HTTP_AUTH_RETRY
225 - http: Avoid limit of retrying request only twice
227 I queued only the later two patches from this series, even though they do
228 not make much sense without the first one that seems to need a bit more
229 work, so that we won't forget.
231 * sg/bash-prompt (2012-05-09) 4 commits
232 - completion: respect $GIT_DIR
233 - completion: use __gitdir() in _git_log()
234 - tests: add tests for the bash prompt functions in the completion script
235 - tests: move code to run tests under bash into a helper library
236 (this branch is tangled with fc/git-prompt-script.)
238 This is only the "correction" bits taken from the beginning of a larger
239 series that is to be rerolled. The first two are tangled with Felipe's
240 topic so a reroll, if comes, should build on top of them.
242 * jc/apply-3way (2012-05-16) 12 commits
243 - WIP: the message is bogus in apply:::check_patch()
244 - apply: refactor "previous patch" logic
245 - apply: a bit more comments on PATH_TO_BE_DELETED
246 - apply: document --3way option
247 - apply: allow rerere() upon --3way results
248 - apply: register conflicted stages to the index
249 - apply: plug the three-way merge logic in
250 - apply: fall back on three-way merge
251 - apply: accept -3/--3way command line option
252 - apply: split load_preimage() helper function out
253 - apply: refactor read_file_or_gitlink()
254 - apply: clear_image() clears things a bit more
256 "git apply" learns to wiggle the base version and perform three-way merge
257 when a patch does not exactly apply to the version you have.
259 It turns out that it is somewhat unpleasant to handle add/add conflicts in
260 this code, but it seems necessary if we want to use "apply -3" to replace
261 the use of "apply --build-fake-ancestor" followed by the slow "merge" in
264 * jc/maint-push-refs-all (2012-05-04) 2 commits
265 - get_fetch_map(): tighten checks on dest refs
266 - fetch/push: allow refs/*:refs/*
268 Allows pushing and fetching refs/stash.
270 There still seem to be other bugs hiding (e.g. try pushing twice).
272 * jc/run-hook-env-1 (2012-03-11) 1 commit
273 - run_hook(): enhance the interface to pass arbitrary environment
277 Updates run_hook() API to be much less specific to "commit". It would
278 only be useful if people start doing more interesting things with hooks.
280 * jc/split-blob (2012-04-03) 6 commits
281 - chunked-object: streaming checkout
282 - chunked-object: fallback checkout codepaths
283 - bulk-checkin: support chunked-object encoding
284 - bulk-checkin: allow the same data to be multiply hashed
285 - new representation types in the packstream
286 - packfile: use varint functions
290 I finished the streaming checkout codepath, but as explained in
291 127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),
292 these are still early steps of a long and painful journey. At least
293 pack-objects and fsck need to learn the new encoding for the series
294 to be usable locally, and then index-pack/unpack-objects needs to
295 learn it to be used remotely.
297 Given that I heard a lot of noise that people want large files, and
298 that I was asked by somebody at GitTogether'11 privately for an
299 advice on how to pay developers (not me) to help adding necessary
300 support, I am somewhat dissapointed that the original patch series
301 that was sent almost two months ago still remains here without much
302 comments and updates from the developer community. I even made the
303 interface to the logic that decides where to split chunks easily
304 replaceable, and I deliberately made the logic in the original patch
305 extremely stupid to entice others, especially the "bup" fanboys, to
306 come up with a better logic, thinking that giving people an easy
307 target to shoot for, they may be encouraged to help out. The plan is
310 --------------------------------------------------
313 * fc/git-prompt-script (2012-05-22) 5 commits
314 - completion: split __git_ps1 into a separate script
315 - completion: remove executable mode
316 - Merge branch 'fc/git-complete-helper' into fc/git-prompt-script
317 - tests: add tests for the bash prompt functions in the completion script
318 - tests: move code to run tests under bash into a helper library
319 (this branch is tangled with sg/bash-prompt.)
321 The last remaining sticking point is what to do with the duplicated shell
324 * cr/persistent-https (2012-05-30) 1 commit
325 - Add persistent-https to contrib
327 A remote helper that acts as a proxy that caches ssl session for the
328 https:// transport is added to the contrib/ area.
330 * nd/stream-index-pack (2012-05-24) 4 commits
331 - index-pack: use streaming interface for collision test on large blobs
332 - index-pack: factor out unpack core from get_data_from_pack
333 - index-pack: use streaming interface on large blobs (most of the time)
334 - index-pack: hash non-delta objects while reading from stream
336 Use streaming API to read from the object store to avoid having to hold
337 a large blob object in-core while running index-pack.
339 * js/submodule-relative (2012-05-29) 3 commits
340 - t7403-*.sh: Avoid use of the nonportable '==' operator
341 - submodule: fix handling of relative superproject origin URLs
342 - submodule: document handling of relative superproject origin URLs
344 Reroll went to v7 but hasn't settled yet.
346 * mm/push-default-switch-warning (2012-04-26) 2 commits
347 - t5541: warning message is given even with --quiet
348 - push: start warning upcoming default change for push.default
350 Will squash the two, but this has to wait for a few release cycles.
352 --------------------------------------------------
355 * cb/daemon-test-race-fix (2012-04-27) 2 commits
356 (merged to 'next' on 2012-04-27 at 84bbcf8)
357 + Revert "git-daemon wrapper to wait until daemon is ready"
358 (merged to 'next' on 2012-04-24 at d5c30be)
359 + git-daemon wrapper to wait until daemon is ready
361 Reverted from 'next' to replace it with js/daemon-test-race-fix.
363 * jc/revert-nh-empty-rebase (2012-05-23) 1 commit
364 . Revert nh/empty-rebase topic
366 The earlier series was found to regress the more important "cherry-pick";
367 I'd prefer to see it fixed, but in case if it does not happen soon, this
368 is a fallback measure that can be merged before 1.7.11 final.