Meta/ML: handle branches that were indirectly merged a bit better
[alt-git.git] / whats-cooking.txt
blobd24699c82ca1b8294a9675ffec59d74ee8c6d929
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
33 completion tweaks.
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
145 inside refs API.
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 --------------------------------------------------
164 [New Topics]
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 --------------------------------------------------
221 [Stalled]
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
262 "am -3".
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.
269 Not ready.
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
275 Not urgent.
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
288 Not ready.
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
308 not working :-(.
310 --------------------------------------------------
311 [Cooking]
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
322 function.
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 --------------------------------------------------
353 [Discarded]
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.