What's cooking (2011/08 #06)
[alt-git.git] / whats-cooking.txt
blobac3457df0dde7c5d5a652885603cc7e3246fada0
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Aug 2011, #06; Tue, 23)
3 X-master-at: 8d9185bc12650a9839dff45a8754f05618cdb3f5
4 X-next-at: b87361146165b920a11ae9bb995856575d51be9a
6 What's cooking in git.git (Aug 2011, #06; Tue, 23)
7 --------------------------------------------------
9 Here are the topics that have been cooking.  Commits prefixed with '-' are
10 only in 'pu' while commits prefixed with '+' are in 'next'.
12 I was very tempted to cut 1.7.7-rc0 today, but we have quite a few topics
13 that deserve to be in the upcoming release and are still in 'next'.  I'll
14 probably merge most if not all of what are in 'next' as of today sometime
15 later this week, tag a 1.7.7-rc0 release and declare feature freeze for
16 this cycle.
18 --------------------------------------------------
19 [Graduated to "master"]
21 * cb/maint-ls-files-error-report (2011-08-11) 1 commit
22   (merged to 'next' on 2011-08-15 at 69f41cf)
23  + ls-files: fix pathspec display on error
25 * jn/maint-test-return (2011-08-11) 3 commits
26   (merged to 'next' on 2011-08-15 at 5a42301)
27  + t3900: do not reference numbered arguments from the test script
28  + test: cope better with use of return for errors
29  + test: simplify return value of test_run_
31 * rt/zlib-smaller-window (2011-08-11) 2 commits
32   (merged to 'next' on 2011-08-15 at e05b26b)
33  + test: consolidate definition of $LF
34  + Tolerate zlib deflation with window size < 32Kb
36 --------------------------------------------------
37 [New Topics]
39 * fk/use-kwset-pickaxe-grep-f (2011-08-20) 5 commits
40   (merged to 'next' on 2011-08-23 at 93ba509)
41  + Use kwset in grep
42  + Use kwset in pickaxe
43  + Adapt the kwset code to Git
44  + Add string search routines from GNU grep
45  + Add obstack.[ch] from EGLIBC 2.10
47 * jc/maint-autofix-tag-in-head (2011-08-19) 1 commit
48   (merged to 'next' on 2011-08-23 at 18cee02)
49  + commit: reduce use of redundant global variables
51 * bw/doc-repo-layout (2011-08-22) 2 commits
52  - Mark http-fetch without -a as deprecated
53  - Documentation: Grammar correction, wording fixes and cleanup
55 * ci/forbid-unwanted-current-branch-update (2011-08-22) 2 commits
56  - Show interpreted branch name in error messages
57  - Prevent force-updating of the current branch
59 * di/fast-import-blob-tweak (2011-08-22) 2 commits
60  - fast-import: treat cat-blob as a delta base hint for next blob
61  - fast-import: count and report # of calls to diff_delta in stats
63 * jc/combine-diff-callback (2011-08-20) 1 commit
64  - combine-diff: support format_callback
65  (this branch is used by fg/submodule-ff-check-before-push.)
67 * jc/maint-clone-alternates (2011-08-23) 2 commits
68   (merged to 'next' on 2011-08-23 at 7280deb)
69  + clone: clone from a repository with relative alternates
70  + clone: allow more than one --reference
72 * nd/maint-clone-gitdir (2011-08-22) 2 commits
73  - clone: allow to clone from .git file
74  - read_gitfile_gently(): rename misnamed function to read_gitfile()
76 * di/fast-import-tagging (2011-08-23) 2 commits
77  - fast-import: allow to tag newly created objects
78  - fast-import: add tests for tagging blobs
80 --------------------------------------------------
81 [Stalled]
83 * jk/add-i-hunk-filter (2011-07-27) 5 commits
84   (merged to 'next' on 2011-08-11 at 8ff9a56)
85  + add--interactive: add option to autosplit hunks
86  + add--interactive: allow negatation of hunk filters
87  + add--interactive: allow hunk filtering on command line
88  + add--interactive: factor out regex error handling
89  + add--interactive: refactor patch mode argument processing
91 Needs documentation updates.
93 * jc/merge-reword (2011-05-25) 2 commits
94  - merge: mark the final "Merge made by..." message for l10n
95  - merge: reword the final message
97 Probably the topmost commit should be dropped.
99 * nk/branch-v-abbrev (2011-07-01) 1 commit
100  - branch -v: honor core.abbrev
102 Perhaps needs an updated commit log message?
104 * jh/receive-count-limit (2011-05-23) 10 commits
105  - receive-pack: Allow server to refuse pushes with too many objects
106  - pack-objects: Estimate pack size; abort early if pack size limit is exceeded
107  - send-pack/receive-pack: Allow server to refuse pushing too large packs
108  - pack-objects: Allow --max-pack-size to be used together with --stdout
109  - send-pack/receive-pack: Allow server to refuse pushes with too many commits
110  - pack-objects: Teach new option --max-commit-count, limiting #commits in pack
111  - receive-pack: Prepare for addition of the new 'limit-*' family of capabilities
112  - Tighten rules for matching server capabilities in server_supports()
113  - send-pack: Attempt to retrieve remote status even if pack-objects fails
114  - Update technical docs to reflect side-band-64k capability in receive-pack
116 Would need another round to separate per-pack and per-session limits.
118 * jm/mergetool-pathspec (2011-06-22) 2 commits
119  - mergetool: Don't assume paths are unmerged
120  - mergetool: Add tests for filename with whitespace
122 I think this is a good idea, but it probably needs a re-roll.
123 Cf. $gmane/176254, 176255, 166256
125 * jk/generation-numbers (2011-07-14) 7 commits
126  - limit "contains" traversals based on commit generation
127  - check commit generation cache validity against grafts
128  - pretty: support %G to show the generation number of a commit
129  - commit: add commit_generation function
130  - add metadata-cache infrastructure
131  - decorate: allow storing values instead of pointers
132  - Merge branch 'jk/tag-contains-ab' (early part) into HEAD
134 The initial "tag --contains" de-pessimization without need for generation
135 numbers is already in; backburnered.
137 * sr/transport-helper-fix-rfc (2011-07-19) 2 commits
138  - t5800: point out that deleting branches does not work
139  - t5800: document inability to push new branch with old content
141 * po/cygwin-backslash (2011-08-05) 2 commits
142  - On Cygwin support both UNIX and DOS style path-names
143  - git-compat-util: add generic find_last_dir_sep that respects is_dir_sep
145 I think a further refactoring (no, not my suggestion) was offered?
147 --------------------------------------------------
148 [Cooking]
150 * jc/traverse-commit-list (2011-08-22) 3 commits
151  - revision.c: update show_object_with_name() without using malloc()
152  - revision.c: add show_object_with_name() helper function
153  - rev-list: fix finish_object() call
155 * rc/diff-cleanup-records (2011-08-17) 2 commits
156   (merged to 'next' on 2011-08-23 at b8414f5)
157  + Merge branch 'rc/histogram-diff' into HEAD
158  + xdiff/xprepare: improve O(n*m) performance in xdl_cleanup_records()
160 * fk/make-auto-header-dependencies (2011-08-18) 1 commit
161  - Makefile: Use computed header dependencies if the compiler supports it
163 * jk/color-and-pager (2011-08-19) 10 commits
164   (merged to 'next' on 2011-08-23 at cbb9495)
165  + want_color: automatically fallback to color.ui
166  + diff: don't load color config in plumbing
167  + config: refactor get_colorbool function
168  + color: delay auto-color decision until point of use
169  + git_config_colorbool: refactor stdout_is_tty handling
170  + diff: refactor COLOR_DIFF from a flag into an int
171  + setup_pager: set GIT_PAGER_IN_USE
172  + t7006: use test_config helpers
173  + test-lib: add helper functions for config
174  + t7006: modernize calls to unset
175  (this branch is used by jk/pager-with-alias.)
177 * jk/pager-with-alias (2011-08-19) 2 commits
178  - support pager.* for aliases
179  - support pager.* for external commands
180  (this branch uses jk/color-and-pager.)
182 * nd/decorate-grafts (2011-08-19) 5 commits
183   (merged to 'next' on 2011-08-23 at 475d27e)
184  + log: decorate "replaced" on to replaced commits
185  + log: decorate grafted commits with "grafted"
186  + Move write_shallow_commits to fetch-pack.c
187  + Add for_each_commit_graft() to iterate all grafts
188  + decoration: do not mis-decorate refs with same prefix
190 * va/p4-branch-import (2011-08-22) 4 commits
191  - git-p4: Add simple test case for branch import
192  - git-p4: Allow branch definition with git config
193  - git-p4: Allow filtering Perforce branches by user
194  - git-p4: Correct branch base depot path detection
195  (this branch uses va/p4-rename-copy.)
197 * va/p4-rename-copy (2011-08-22) 5 commits
198  - git-p4: Process detectCopiesHarder with --bool
199  - git-p4: Add test case for copy detection
200  - git-p4: Add test case for rename detection
201  - git-p4: Add description of rename/copy detection options
202  - git-p4: Allow setting rename/copy detection threshold
203  (this branch is used by va/p4-branch-import.)
205 * da/difftool-mergtool-refactor (2011-08-19) 4 commits
206   (merged to 'next' on 2011-08-23 at a1cc3be)
207  + mergetools/meld: Use '--output' when available
208  + mergetool--lib: Refactor tools into separate files
209  + mergetool--lib: Make style consistent with git
210  + difftool--helper: Make style consistent with git
212 * mg/branch-set-upstream-previous (2011-08-19) 1 commit
213   (merged to 'next' on 2011-08-23 at acef0b6)
214  + branch.c: use the parsed branch name
216 * di/fast-import-doc (2011-08-17) 1 commit
217   (merged to 'next' on 2011-08-23 at dab4088)
218  + doc/fast-import: document feature import-marks-if-exists
220 * di/fast-import-deltified-tree (2011-08-14) 2 commits
221   (merged to 'next' on 2011-08-23 at ee30265)
222  + fast-import: prevent producing bad delta
223  + fast-import: add a test for tree delta base corruption
225 * di/fast-import-ident (2011-08-11) 5 commits
226   (merged to 'next' on 2011-08-23 at 9b86391)
227  + fsck: improve committer/author check
228  + fsck: add a few committer name tests
229  + fast-import: check committer name more strictly
230  + fast-import: don't fail on omitted committer name
231  + fast-import: add input format tests
233 * di/parse-options-split (2011-08-11) 2 commits
234   (merged to 'next' on 2011-08-23 at 6cd667f)
235  + Reduce parse-options.o dependencies
236  + parse-options: export opterr, optbug
238 * mh/attr (2011-08-14) 7 commits
239   (merged to 'next' on 2011-08-23 at 22faa6e)
240  + Unroll the loop over passes
241  + Change while loop into for loop
242  + Determine the start of the states outside of the pass loop
243  + Change parse_attr() to take a pointer to struct attr_state
244  + Increment num_attr in parse_attr_line(), not parse_attr()
245  + Document struct match_attr
246  + Add a file comment
248 * mh/iterate-refs (2011-08-14) 6 commits
249  - Retain caches of submodule refs
250  - Store the submodule name in struct cached_refs
251  - Allocate cached_refs objects dynamically
252  - Change the signature of read_packed_refs()
253  - Access reference caches only through new function get_cached_refs()
254  - Extract a function clear_cached_refs()
256 I did not see anything wrong per-se, but it was unclear what the benefit
257 of these changes are.
259 * jn/plug-empty-tree-leak (2011-08-16) 2 commits
260   (merged to 'next' on 2011-08-23 at aee2184)
261  + merge-recursive: take advantage of hardcoded empty tree
262  + revert: plug memory leak in "cherry-pick root commit" codepath
264 * ac/describe-dirty-refresh (2011-08-11) 1 commit
265   (merged to 'next' on 2011-08-23 at b873611)
266  + describe: Refresh the index when run with --dirty
268 * en/merge-recursive-2 (2011-08-14) 57 commits
269   (merged to 'next' on 2011-08-23 at ba6ad0d)
270  + merge-recursive: Don't re-sort a list whose order we depend upon
271  + merge-recursive: Fix virtual merge base for rename/rename(1to2)/add-dest
272  + t6036: criss-cross + rename/rename(1to2)/add-dest + simple modify
273  + merge-recursive: Avoid unnecessary file rewrites
274  + t6022: Additional tests checking for unnecessary updates of files
275  + merge-recursive: Fix spurious 'refusing to lose untracked file...' messages
276  + t6022: Add testcase for spurious "refusing to lose untracked" messages
277  + t3030: fix accidental success in symlink rename
278  + merge-recursive: Fix working copy handling for rename/rename/add/add
279  + merge-recursive: add handling for rename/rename/add-dest/add-dest
280  + merge-recursive: Have conflict_rename_delete reuse modify/delete code
281  + merge-recursive: Make modify/delete handling code reusable
282  + merge-recursive: Consider modifications in rename/rename(2to1) conflicts
283  + merge-recursive: Create function for merging with branchname:file markers
284  + merge-recursive: Record more data needed for merging with dual renames
285  + merge-recursive: Defer rename/rename(2to1) handling until process_entry
286  + merge-recursive: Small cleanups for conflict_rename_rename_1to2
287  + merge-recursive: Fix rename/rename(1to2) resolution for virtual merge base
288  + merge-recursive: Introduce a merge_file convenience function
289  + merge-recursive: Fix modify/delete resolution in the recursive case
290  + merge-recursive: When we detect we can skip an update, actually skip it
291  + merge-recursive: Provide more info in conflict markers with file renames
292  + merge-recursive: Cleanup and consolidation of rename_conflict_info
293  + merge-recursive: Consolidate process_entry() and process_df_entry()
294  + merge-recursive: Improve handling of rename target vs. directory addition
295  + merge-recursive: Add comments about handling rename/add-source cases
296  + merge-recursive: Make dead code for rename/rename(2to1) conflicts undead
297  + merge-recursive: Fix deletion of untracked file in rename/delete conflicts
298  + merge-recursive: Split update_stages_and_entry; only update stages at end
299  + merge-recursive: Allow make_room_for_path() to remove D/F entries
300  + string-list: Add API to remove an item from an unsorted list
301  + merge-recursive: Split was_tracked() out of would_lose_untracked()
302  + merge-recursive: Save D/F conflict filenames instead of unlinking them
303  + merge-recursive: Fix code checking for D/F conflicts still being present
304  + merge-recursive: Fix sorting order and directory change assumptions
305  + merge-recursive: Fix recursive case with D/F conflict via add/add conflict
306  + merge-recursive: Avoid working directory changes during recursive case
307  + merge-recursive: Remember to free generated unique path names
308  + merge-recursive: Consolidate different update_stages functions
309  + merge-recursive: Mark some diff_filespec struct arguments const
310  + merge-recursive: Correct a comment
311  + merge-recursive: Make BUG message more legible by adding a newline
312  + t6022: Add testcase for merging a renamed file with a simple change
313  + t6022: New tests checking for unnecessary updates of files
314  + t6022: Remove unnecessary untracked files to make test cleaner
315  + t6036: criss-cross + rename/rename(1to2)/add-source + modify/modify
316  + t6036: criss-cross w/ rename/rename(1to2)/modify+rename/rename(2to1)/modify
317  + t6036: tests for criss-cross merges with various directory/file conflicts
318  + t6036: criss-cross with weird content can fool git into clean merge
319  + t6036: Add differently resolved modify/delete conflict in criss-cross test
320  + t6042: Add failing testcases for rename/rename/add-{source,dest} conflicts
321  + t6042: Ensure rename/rename conflicts leave index and workdir in sane state
322  + t6042: Add tests for content issues with modify/rename/directory conflicts
323  + t6042: Add a testcase where undetected rename causes silent file deletion
324  + t6042: Add a pair of cases where undetected renames cause issues
325  + t6042: Add failing testcase for rename/modify/add-source conflict
326  + t6042: Add a testcase where git deletes an untracked file
328 * fg/submodule-ff-check-before-push (2011-08-20) 2 commits
329  - push: teach --recurse-submodules the on-demand option
330  - push: Don't push a repository with unpushed submodules
331  (this branch uses jc/combine-diff-callback.)
333 * hv/submodule-update-none (2011-08-11) 2 commits
334  - add update 'none' flag to disable update of submodule by default
335  - submodule: move update configuration variable further up
337 Will merge to "next".
339 * jc/lookup-object-hash (2011-08-11) 6 commits
340  - object hash: replace linear probing with 4-way cuckoo hashing
341  - object hash: we know the table size is a power of two
342  - object hash: next_size() helper for readability
343  - pack-objects --count-only
344  - object.c: remove duplicated code for object hashing
345  - object.c: code movement for readability
347 * js/i18n-scripts (2011-08-08) 5 commits
348   (merged to 'next' on 2011-08-23 at a1b5529)
349  + submodule: take advantage of gettextln and eval_gettextln.
350  + stash: take advantage of eval_gettextln
351  + pull: take advantage of eval_gettextln
352  + git-am: take advantage of gettextln and eval_gettextln.
353  + gettext: add gettextln, eval_gettextln to encode common idiom
355 * fg/submodule-git-file-git-dir (2011-08-22) 2 commits
356   (merged to 'next' on 2011-08-23 at 762194e)
357  + Move git-dir for submodules
358  + rev-parse: add option --resolve-git-dir <path>
360 * jk/http-auth-keyring (2011-08-03) 13 commits
361   (merged to 'next' on 2011-08-03 at b06e80e)
362  + credentials: add "getpass" helper
363  + credentials: add "store" helper
364  + credentials: add "cache" helper
365  + docs: end-user documentation for the credential subsystem
366  + http: use hostname in credential description
367  + allow the user to configure credential helpers
368  + look for credentials in config before prompting
369  + http: use credential API to get passwords
370  + introduce credentials API
371  + http: retry authentication failures for all http requests
372  + remote-curl: don't retry auth failures with dumb protocol
373  + improve httpd auth tests
374  + url: decode buffers that are not NUL-terminated
376 Looked mostly reasonable except for the limitation that it is not clear
377 how to deal with a site at which a user needs to use different passwords 
378 for different repositories.
380 * rr/revert-cherry-pick-continue (2011-08-08) 18 commits
381  - revert: Propagate errors upwards from do_pick_commit
382  - revert: Introduce --continue to continue the operation
383  - revert: Don't implicitly stomp pending sequencer operation
384  - revert: Remove sequencer state when no commits are pending
385  - reset: Make reset remove the sequencer state
386  - revert: Introduce --reset to remove sequencer state
387  - revert: Make pick_commits functionally act on a commit list
388  - revert: Save command-line options for continuing operation
389  - revert: Save data for continuing after conflict resolution
390  - revert: Don't create invalid replay_opts in parse_args
391  - revert: Separate cmdline parsing from functional code
392  - revert: Introduce struct to keep command-line options
393  - revert: Eliminate global "commit" variable
394  - revert: Rename no_replay to record_origin
395  - revert: Don't check lone argument in get_encoding
396  - revert: Simplify and inline add_message_to_msg
397  - config: Introduce functions to write non-standard file
398  - advice: Introduce error_resolve_conflict
400 Will merge to "next".