What's cooking (2011/11 #1)
[alt-git.git] / whats-cooking.txt
blobc9a838291225d7ae973c5543a5c3f3955f96ab43
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Nov 2011, #01; Thu, 3)
3 X-master-at: ee6dfb2d83ba1b057943e705f707fa27e34e47f9
4 X-next-at: 2ce082cef3fbf0c6614d29a8e7011b09c39899a1
6 What's cooking in git.git (Nov 2011, #01; Thu, 3)
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 Here are the repositories that have my integration branches:
14 With maint, master, next, pu, todo:
16         git://git.kernel.org/pub/scm/git/git.git
17         git://repo.or.cz/alt-git.git
18         https://code.google.com/p/git-core/
19         https://github.com/git/git
21 With only maint and master:
23         git://git.sourceforge.jp/gitroot/git-core/git.git
24         git://git-core.git.sourceforge.net/gitroot/git-core/git-core
26 With all the topics and integration branches but not todo, html or man:
28         https://github.com/gitster/git
30 I will stop pushing the generated documentation branches to the above
31 repositories, as they are not sources. The only reason the source
32 repository at k.org has hosted these branches was because it was the only
33 repository over there that was writable by me; it was an ugly historical
34 and administrative workaround and not a demonstration of the best
35 practice.
37 These branches are pushed to their own separate repositories instead:
39         git://git.kernel.org/pub/scm/git/git-{htmldocs,manpages}.git/
40         git://repo.or.cz/git-{htmldocs,manpages}.git/
41         https://code.google.com/p/git-{htmldocs,manpages}.git/
42         https://github.com/gitster/git-{htmldocs,manpages}.git/
44 --------------------------------------------------
45 [New Topics]
47 * jc/stream-to-pack (2011-11-03) 4 commits
48  - Bulk check-in
49  - finish_tmp_packfile(): a helper function
50  - create_tmp_packfile(): a helper function
51  - write_pack_header(): a helper function
53 Teaches "git add" to send large-ish blob data straight to a packfile.
54 This is a continuation to the "large file support" topic. I think this
55 codepath to move data from worktree to repository needs to become aware of
56 streaming, just like the checkout codepath that goes the other way, which
57 was done in the previous "large file support" topic in the 1.7.7 cycle.
59 * jn/gitweb-side-by-side-diff (2011-10-31) 8 commits
60  - gitweb: Add navigation to select side-by-side diff
61  - gitweb: Use href(-replay=>1,...) for formats links in "commitdiff"
62  - t9500: Add basic sanity tests for side-by-side diff in gitweb
63  - t9500: Add test for handling incomplete lines in diff by gitweb
64  - gitweb: Give side-by-side diff extra CSS styling
65  - gitweb: Add a feature to show side-by-side diff
66  - gitweb: Extract formatting of diff chunk header
67  - gitweb: Refactor diff body line classification
69 Replaces a series from Kato Kazuyoshi on the same topic.
71 * vr/msvc (2011-10-31) 3 commits
72  - MSVC: Remove unneeded header stubs
73  - Compile fix for MSVC: Include <io.h>
74  - Compile fix for MSVC: Do not include sys/resources.h
76 It seems this needs to be rehashed with msysgit folks.
78 * mf/curl-select-fdset (2011-11-02) 2 commits
79  - http.c: Use timeout suggested by curl instead of fixed 50ms timeout
80  - http.c: Use curl_multi_fdset to select on curl fds instead of just sleeping
82 * na/strtoimax (2011-11-02) 2 commits
83  - Support sizes >=2G in various config options accepting 'g' sizes.
84  - Add strtoimax() compatibility function.
86 --------------------------------------------------
87 [Graduated to "master"]
89 * dm/pack-objects-update (2011-10-20) 4 commits
90   (merged to 'next' on 2011-10-27 at fa52898)
91  + pack-objects: don't traverse objects unnecessarily
92  + pack-objects: rewrite add_descendants_to_write_order() iteratively
93  + pack-objects: use unsigned int for counter and offset values
94  + pack-objects: mark add_to_write_order() as inline
96 * ef/mingw-upload-archive (2011-10-30) 3 commits
97   (merged to 'next' on 2011-10-30 at 5267fa3)
98  + upload-archive: use start_command instead of fork
99  + compat/win32/poll.c: upgrade from upstream
100  + mingw: move poll out of sys-folder
102 * jk/git-tricks (2011-10-21) 3 commits
103   (merged to 'next' on 2011-10-23 at 7c9bf71)
104  + completion: match ctags symbol names in grep patterns
105  + contrib: add git-jump script
106  + contrib: add diff highlight script
108 * nd/pretty-commit-log-message (2011-10-23) 2 commits
109   (merged to 'next' on 2011-10-27 at 4b61df7)
110  + pretty.c: use original commit message if reencoding fails
111  + pretty.c: free get_header() return value
113 * ss/blame-textconv-fake-working-tree (2011-10-28) 2 commits
114   (merged to 'next' on 2011-10-30 at 9588bc1)
115  + (squash) test for previous
116  + blame.c: Properly initialize strbuf after calling, textconv_object()
118 --------------------------------------------------
119 [Stalled]
121 * hv/submodule-merge-search (2011-10-13) 4 commits
122  - submodule.c: make two functions static
123  - allow multiple calls to submodule merge search for the same path
124  - push: Don't push a repository with unpushed submodules
125  - push: teach --recurse-submodules the on-demand option
127 What the topic aims to achieve may make sense, but the implementation
128 looked somewhat suboptimal.
130 * sr/transport-helper-fix-rfc (2011-07-19) 2 commits
131  - t5800: point out that deleting branches does not work
132  - t5800: document inability to push new branch with old content
134 Perhaps 281eee4 (revision: keep track of the end-user input from the
135 command line, 2011-08-25) would help.
137 * jc/lookup-object-hash (2011-08-11) 6 commits
138  - object hash: replace linear probing with 4-way cuckoo hashing
139  - object hash: we know the table size is a power of two
140  - object hash: next_size() helper for readability
141  - pack-objects --count-only
142  - object.c: remove duplicated code for object hashing
143  - object.c: code movement for readability
145 I do not think there is anything fundamentally wrong with this series, but
146 the risk of breakage far outweighs observed performance gain in one
147 particular workload.
149 * jc/verbose-checkout (2011-10-16) 2 commits
150  - checkout -v: give full status output after switching branches
151  - checkout: move the local changes report to the end
153 This is just to leave a record that the reason why we do not do this not
154 because we are incapable of coding this, but because it is not a good idea
155 to do this. I suspect people who are new to git that might think they need
156 it would soon realize the don't.
158 Will keep in 'pu' as a showcase for a while and then will drop.
160 --------------------------------------------------
161 [Cooking]
163 * nd/misc-cleanups (2011-10-27) 6 commits
164   (merged to 'next' on 2011-10-28 at 2527a49)
165  + unpack_object_header_buffer(): clear the size field upon error
166  + tree_entry_interesting: make use of local pointer "item"
167  + tree_entry_interesting(): give meaningful names to return values
168  + read_directory_recursive: reduce one indentation level
169  + get_tree_entry(): do not call find_tree_entry() on an empty tree
170  + tree-walk.c: do not leak internal structure in tree_entry_len()
172 These are unquestionably good parts taken out of a larger series, so that
173 we can focus more on the other changes in later rounds of review.
175 Will keep in 'next' during this cycle.
177 * rs/allocate-cache-entry-individually (2011-10-26) 2 commits
178   (merged to 'next' on 2011-10-27 at 2e4acd6)
179  + cache.h: put single NUL at end of struct cache_entry
180  + read-cache.c: allocate index entries individually
182 Will keep in 'next' during this cycle.
184 * mh/ref-api-3 (2011-10-19) 11 commits
185   (merged to 'next' on 2011-10-23 at 92e2d35)
186  + is_refname_available(): reimplement using do_for_each_ref_in_array()
187  + names_conflict(): simplify implementation
188  + names_conflict(): new function, extracted from is_refname_available()
189  + repack_without_ref(): reimplement using do_for_each_ref_in_array()
190  + do_for_each_ref_in_array(): new function
191  + do_for_each_ref(): correctly terminate while processesing extra_refs
192  + add_ref(): take a (struct ref_entry *) parameter
193  + create_ref_entry(): extract function from add_ref()
194  + parse_ref_line(): add a check that the refname is properly formatted
195  + repack_without_ref(): remove temporary
196  + Rename another local variable name -> refname
197  (this branch uses mh/ref-api-2.)
199 Will keep in 'next' during this cycle.
201 * rr/revert-cherry-pick (2011-10-23) 5 commits
202   (merged to 'next' on 2011-10-26 at 27b7496)
203  + revert: simplify communicating command-line arguments
204  + revert: allow mixed pick and revert instructions
205  + revert: make commit subjects in insn sheet optional
206  + revert: simplify getting commit subject in format_todo()
207  + revert: free msg in format_todo()
209 The internals of "git revert/cherry-pick" has been further refactored to
210 serve as the basis for the sequencer.
212 Will keep in 'next' during this cycle.
214 * jc/check-ref-format-fixup (2011-10-19) 2 commits
215   (merged to 'next' on 2011-10-19 at 98981be)
216  + Revert "Restrict ref-like names immediately below $GIT_DIR"
217   (merged to 'next' on 2011-10-15 at 8e89bc5)
218  + Restrict ref-like names immediately below $GIT_DIR
220 This became a no-op except for the bottom one which is part of the other
221 topic now.
222 Will discard once the other topic graduates to 'master'.
224 * cb/daemon-permission-errors (2011-10-17) 2 commits
225  - daemon: report permission denied error to clients
226  - daemon: add tests
228 The tip commit might be loosening things a bit too much.
229 Will keep in 'pu' until hearing a convincing argument for the patch.
231 * mh/ref-api-2 (2011-10-17) 14 commits
232   (merged to 'next' on 2011-10-19 at cc89f0e)
233  + resolve_gitlink_ref_recursive(): change to work with struct ref_cache
234  + Pass a (ref_cache *) to the resolve_gitlink_*() helper functions
235  + resolve_gitlink_ref(): improve docstring
236  + get_ref_dir(): change signature
237  + refs: change signatures of get_packed_refs() and get_loose_refs()
238  + is_dup_ref(): extract function from sort_ref_array()
239  + add_ref(): add docstring
240  + parse_ref_line(): add docstring
241  + is_refname_available(): remove the "quiet" argument
242  + clear_ref_array(): rename from free_ref_array()
243  + refs: rename parameters result -> sha1
244  + refs: rename "refname" variables
245  + struct ref_entry: document name member
246  + cache.h: add comments for git_path() and git_path_submodule()
247  (this branch is used by mh/ref-api-3.)
249 Will keep in 'next' during this cycle.
251 * jc/signed-commit (2011-10-21) 7 commits
252   (merged to 'next' on 2011-10-23 at 03eec25)
253  + pretty: %G[?GS] placeholders
254  + parse_signed_commit: really use the entire commit log message
255  + test "commit -S" and "log --show-signature"
256  + t7004: extract generic "GPG testing" bits
257  + log: --show-signature
258  + commit: teach --gpg-sign option
259  + Split GPG interface into its own helper library
261 This is to replace the earlier "signed push" experiments.
262 Will keep in 'next' during this cycle.
264 * sg/complete-refs (2011-10-21) 9 commits
265   (merged to 'next' on 2011-10-26 at d65e2b4)
266  + completion: remove broken dead code from __git_heads() and __git_tags()
267  + completion: fast initial completion for config 'remote.*.fetch' value
268  + completion: improve ls-remote output filtering in __git_refs_remotes()
269  + completion: query only refs/heads/ in __git_refs_remotes()
270  + completion: support full refs from remote repositories
271  + completion: improve ls-remote output filtering in __git_refs()
272  + completion: make refs completion consistent for local and remote repos
273  + completion: optimize refs completion
274  + completion: document __gitcomp()
276 Will keep in 'next' until an Ack or two from completion folks.
278 * jc/request-pull-show-head-4 (2011-10-15) 11 commits
279   (merged to 'next' on 2011-10-15 at 7e340ff)
280  + fmt-merge-msg.c: Fix an "dubious one-bit signed bitfield" sparse error
281   (merged to 'next' on 2011-10-10 at 092175e)
282  + environment.c: Fix an sparse "symbol not declared" warning
283  + builtin/log.c: Fix an "Using plain integer as NULL pointer" warning
284   (merged to 'next' on 2011-10-07 at fcaeca0)
285  + fmt-merge-msg: use branch.$name.description
286   (merged to 'next' on 2011-10-06 at fa5e0fe)
287  + request-pull: use the branch description
288  + request-pull: state what commit to expect
289  + request-pull: modernize style
290  + branch: teach --edit-description option
291  + format-patch: use branch description in cover letter
292  + branch: add read_branch_desc() helper function
293  + Merge branch 'bk/ancestry-path' into jc/branch-desc
295 Allow setting "description" for branches and use it to help communications
296 between humans in various workflow elements.
298 Will keep in 'next' during this cycle.
300 --------------------------------------------------
301 [Discarded]
303 * kk/gitweb-side-by-side-diff (2011-10-17) 2 commits
304  . gitweb: add a feature to show side-by-side diff
305  . gitweb: change format_diff_line() to remove leading SP from $diff_class