1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Jan 2010, #05; Sat, 16)
3 X-master-at: 561197238ef95b126b5ff16780250d492ad24233
4 X-next-at: f77bc8fa3d46eb76daac398c969137b207334af2
6 What's cooking in git.git (Jan 2010, #05; Sat, 16)
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'. The ones
11 marked with '.' do not appear in any of the integration branches, but I am
12 still holding onto them.
14 --------------------------------------------------
17 * dp/maint-1.6.5-fast-import-non-commit-tag (2010-01-14) 1 commit
18 (merged to 'next' on 2010-01-16 at f95ea8e)
19 + fast-import: tag may point to any object type
21 * il/push-set-upstream (2010-01-16) 1 commit
22 (merged to 'next' on 2010-01-16 at e3a7a60)
23 + Add push --set-upstream
25 * js/windows (2010-01-15) 7 commits
26 - Do not use date.c:tm_to_time_t() from compat/mingw.c
27 - MSVC: Windows-native implementation for subset of Pthreads API
28 - MSVC: Fix an "incompatible pointer types" compiler warning
29 - Windows: avoid the "dup dance" when spawning a child process
30 - Windows: simplify the pipe(2) implementation
31 - Windows: boost startup by avoiding a static dependency on shell32.dll
32 - Windows: disable Python
34 * nd/status-partial-refresh (2010-01-14) 1 commit
35 (merged to 'next' on 2010-01-16 at f77bc8f)
36 + status: only touch path we may need to check
38 * rr/core-tutorial (2010-01-16) 1 commit
39 (merged to 'next' on 2010-01-16 at d9dd8bd)
40 + Documentation: Update git core tutorial clarifying reference to scripts
42 * jc/conflict-mark-len-attr (2010-01-16) 3 commits
43 . WIP : honor conflict-marker-lenght in rerere (does not work yet)
44 . rerere: use ll_merge() instead of using xdl_merge()
45 . conflict-marker-length: new attribute
46 (this branch uses jc/cache-unmerge.)
48 I am attempting to introduce a new per-path attribute to specify
49 non-default conflict marker length to help rerere grok conflicts in
50 Documentation/git-merge.txt, but the series is not yet in a presentable
53 --------------------------------------------------
56 * ap/merge-backend-opts (2008-07-18) 6 commits
57 - Document that merge strategies can now take their own options
58 - Extend merge-subtree tests to test -Xsubtree=dir.
59 - Make "subtree" part more orthogonal to the rest of merge-recursive.
60 - Teach git-pull to pass -X<option> to git-merge
61 - git merge -X<option>
62 - git-merge-file --ours, --theirs
64 "git pull" patch needs sq-then-eval fix to protect it from $IFS
65 but otherwise seemed good.
67 * js/refer-upstream (2009-09-10) 1 commit
68 - Introduce <branch>@{upstream} notation
70 This does not teach the public interface about the new syntax; callers
71 that care about distinction between name vs SHA-1 might not work as well
74 * jh/notes (2009-12-07) 11 commits
75 - Refactor notes concatenation into a flexible interface for combining notes
76 - Notes API: Allow multiple concurrent notes trees with new struct notes_tree
77 - Notes API: for_each_note(): Traverse the entire notes tree with a callback
78 - Notes API: get_note(): Return the note annotating the given object
79 - Notes API: add_note(): Add note objects to the internal notes tree structure
80 - Notes API: init_notes(): Initialize the notes tree from the given notes ref
81 - Notes API: get_commit_notes() -> format_note() + remove the commit restriction
82 - Minor style fixes to notes.c
83 (merged to 'next' on 2010-01-02 at ae42130)
84 + Add more testcases to test fast-import of notes
85 + Rename t9301 to t9350, to make room for more fast-import tests
86 + fast-import: Proper notes tree manipulation
88 http://thread.gmane.org/gmane.comp.version-control.git/134738
90 What's the status of the fourth and later patches on this topic? Overall
91 it looked reasonable, if I recall correctly what I thought when I reviewed
92 it last time, and I am tempted to merge it to 'next' soonish. Please
93 file complaints before I do so if people have objections.
95 Hold: JH on 2010-01-05, http://article.gmane.org/gmane.comp.version-control.git/136183
97 --------------------------------------------------
98 [Will merge to 'master' soon unless somebody complains]
100 * jk/warn-author-committer-after-commit (2010-01-13) 4 commits
101 (merged to 'next' on 2010-01-16 at f22c077)
102 + commit: allow suppression of implicit identity advice
103 + commit: show interesting ident information in summary
104 + strbuf: add strbuf_addbuf_percentquote
105 + strbuf_expand: convert "%%" to "%"
107 * tr/http-push-ref-status (2010-01-08) 6 commits
108 (merged to 'next' on 2010-01-16 at 7e872ac)
109 + transport-helper.c::push_refs(): emit "no refs" error message
110 + transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushed
111 + transport.c::transport_push(): make ref status affect return value
112 + refactor ref status logic for pushing
113 + t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs
114 + t5541-http-push.sh: add tests for non-fast-forward pushes
116 * sr/gfi-options (2009-12-04) 7 commits
117 (merged to 'next' on 2010-01-10 at 8b305fb)
118 + fast-import: add (non-)relative-marks feature
119 + fast-import: allow for multiple --import-marks= arguments
120 + fast-import: test the new option command
121 + fast-import: add option command
122 + fast-import: add feature command
123 + fast-import: put marks reading in its own function
124 + fast-import: put option parsing code in separate functions
126 * tc/smart-http-restrict (2010-01-14) 5 commits
127 (merged to 'next' on 2010-01-16 at 71fc84c)
128 + Test t5560: Fix test when run with dash
129 (merged to 'next' on 2010-01-06 at 82736cb)
130 + Smart-http tests: Test http-backend without curl or a webserver
131 + Smart-http tests: Break test t5560-http-backend into pieces
132 + Smart-http tests: Improve coverage in test t5560
133 + Smart-http: check if repository is OK to export before serving it
135 * tc/clone-v-progress (2009-12-26) 4 commits
136 (merged to 'next' on 2010-01-10 at ec2bfd7)
137 + clone: use --progress to force progress reporting
138 + clone: set transport->verbose when -v/--verbose is used
139 + git-clone.txt: reword description of progress behaviour
140 + check stderr with isatty() instead of stdout when deciding to show progress
142 Perhaps needs an entry in the Release Notes, but otherwise looked Ok.
144 * jk/run-command-use-shell (2010-01-01) 8 commits
145 (merged to 'next' on 2010-01-10 at 7479e2a)
146 + t4030, t4031: work around bogus MSYS bash path conversion
147 + diff: run external diff helper with shell
148 + textconv: use shell to run helper
149 + editor: use run_command's shell feature
150 + run-command: optimize out useless shell calls
151 + run-command: convert simple callsites to use_shell
152 + t0021: use $SHELL_PATH for the filter script
153 + run-command: add "use shell" option
155 Shuffled the commits in the topic, following J6t's suggestion in
156 http://thread.gmane.org/gmane.comp.version-control.git/136128
158 * jn/makefile (2010-01-06) 4 commits
159 (merged to 'next' on 2010-01-10 at f5a5d42)
160 + Makefile: consolidate .FORCE-* targets
161 + Makefile: learn to generate listings for targets requiring special flags
162 + Makefile: use target-specific variable to pass flags to cc
163 + Makefile: regenerate assembler listings when asked
165 * jc/maint-1.6.1-checkout-m-custom-merge (2010-01-06) 1 commit
166 (merged to 'next' on 2010-01-10 at df14116)
167 + checkout -m path: fix recreating conflicts
169 * bk/fix-relative-gitdir-file (2010-01-08) 2 commits
170 (merged to 'next' on 2010-01-16 at cc4ae57)
171 + Handle relative paths in submodule .git files
172 + Test update-index for a gitlink to a .git file
174 * jh/commit-status (2010-01-13) 2 commits
175 (merged to 'next' on 2010-01-13 at 0905d59)
176 + t7502: test commit.status, --status and --no-status
177 + commit: support commit.status, --status, and --no-status
179 I have already given ample time for people to react, but ended up getting
180 tired of waiting for tests to materialize and doing it myself, as I want
181 to close merge window for 1.7.0-rc0 by the end of next week to have the
182 final release early next month.
184 * sd/cd-p-show-toplevel (2010-01-12) 2 commits
185 (merged to 'next' on 2010-01-16 at 57d6d31)
186 + Use $(git rev-parse --show-toplevel) in cd_to_toplevel().
187 + Add 'git rev-parse --show-toplevel' option.
189 Avoid having to use "cd -P" that may not be available on some platforms'
192 * tc/test-locate-httpd (2010-01-02) 1 commit
193 (merged to 'next' on 2010-01-06 at 9d913e5)
194 + t/lib-http.sh: Restructure finding of default httpd location
196 --------------------------------------------------
197 [Will merge to 'master' after a bit more cooking in 'next']
199 * mh/rebase-fixup (2010-01-14) 21 commits
200 (merged to 'next' on 2010-01-16 at 7ccb228)
201 + rebase -i: Retain user-edited commit messages after squash/fixup conflicts
202 + t3404: Set up more of the test repo in the "setup" step
203 + rebase -i: For fixup commands without squashes, do not start editor
204 + rebase -i: Change function make_squash_message into update_squash_message
205 + rebase -i: Extract function do_with_author
206 + rebase -i: Handle the author script all in one place in do_next
207 + rebase -i: Extract a function "commit_message"
208 + rebase -i: Simplify commit counting for generated commit messages
209 + rebase -i: Improve consistency of commit count in generated commit messages
210 + t3404: Test the commit count in commit messages generated by "rebase -i"
211 + rebase -i: Introduce a constant AMEND
212 + rebase -i: Introduce a constant AUTHOR_SCRIPT
213 + rebase -i: Document how temporary files are used
214 + rebase -i: Use symbolic constant $MSG consistently
215 + rebase -i: Use "test -n" instead of "test ! -z"
216 + rebase -i: Inline expression
217 + rebase -i: Remove dead code
218 + rebase -i: Make the condition for an "if" more transparent
219 (merged to 'next' on 2010-01-12 at e84eab0)
220 + rebase-i: Ignore comments and blank lines in peek_next_command
221 + lib-rebase: Allow comments and blank lines to be added to the rebase script
222 + lib-rebase: Provide clearer debugging info about what the editor did
223 + Add a command "fixup" to rebase --interactive
224 + t3404: Use test_commit to set up test repository
225 (this branch is used by ns/rebase-auto-squash.)
227 * ns/rebase-auto-squash (2009-12-08) 1 commit
228 (merged to 'next' on 2010-01-06 at da4e2f5)
229 + rebase -i --autosquash: auto-squash commits
230 (this branch uses mh/rebase-fixup.)
232 * da/difftool (2010-01-15) 10 commits
233 (merged to 'next' on 2010-01-16 at 609f0da)
234 + difftool: Update copyright notices to list each year separately
235 + difftool: Use eval to expand '--extcmd' expressions
236 + difftool: Add '-x' and as an alias for '--extcmd'
237 + t7800-difftool.sh: Simplify the --extcmd test
238 (merged to 'next' on 2010-01-10 at 749c870)
239 + git-diff.txt: Link to git-difftool
240 + difftool: Allow specifying unconfigured commands with --extcmd
241 + difftool--helper: Remove use of the GIT_MERGE_TOOL variable
242 + difftool--helper: Update copyright and remove distracting comments
243 (merged to 'next' on 2010-01-06 at e957395)
244 + git-difftool: Add '--gui' for selecting a GUI tool
245 + t7800-difftool: Set a bogus tool for use by tests
247 * mm/conflict-advice (2010-01-12) 1 commit
248 (merged to 'next' on 2010-01-16 at b83be11)
249 + Be more user-friendly when refusing to do something because of conflict.
251 * jc/maint-strbuf-add-fix-doubling (2010-01-12) 1 commit
252 (merged to 'next' on 2010-01-16 at 5959eee)
253 + strbuf_addbuf(): allow passing the same buf to dst and src
255 * jc/maint-1.6.4-grep-lookahead (2010-01-10) 1 commit
256 (merged to 'next' on 2010-01-13 at 20f8f4b)
257 + grep: optimize built-in grep by skipping lines that do not hit
258 (this branch is used by jc/grep-lookahead and jc/maint-grep-lookahead.)
260 Optimize the "line-by-line" internal grep by skiping en masse over lines
261 that cannot possibly match.
263 * jc/maint-grep-lookahead (2010-01-12) 0 commits
264 (this branch uses jc/maint-1.6.4-grep-lookahead; is used by jc/grep-lookahead.)
266 Early conflict resolution for the above for recent git.
268 * jc/grep-lookahead (2010-01-15) 4 commits
269 - grep --no-index: allow use of "git grep" outside a git repository
270 - grep: prepare to run outside of a work tree
271 (merged to 'next' on 2010-01-13 at 20f8f4b)
272 + grep: rip out pessimization to use fixmatch()
273 + grep: rip out support for external grep
274 (this branch uses jc/maint-1.6.4-grep-lookahead and jc/maint-grep-lookahead.)
276 * nd/include-termios-for-osol (2010-01-11) 1 commit
277 (merged to 'next' on 2010-01-16 at 3160c76)
278 + Add missing #include to support TIOCGWINSZ on Solaris
280 * pc/uninteresting-submodule-disappear-upon-switch-branches (2010-01-11) 1 commit
281 (merged to 'next' on 2010-01-16 at b06ca1a)
282 + Remove empty directories when checking out a commit with fewer submodules
284 Instead of using unlink(2) that will never succeed, use rmdir(2) to remove
285 an empty directory, knowing that this won't harm a populated directory.
287 * jl/submodule-diff (2010-01-16) 2 commits
288 (merged to 'next' on 2010-01-16 at 0a99e3c)
289 + Teach diff that modified submodule directory is dirty
290 + Show submodules as modified when they contain a dirty work tree
292 * jc/ls-files-ignored-pathspec (2010-01-08) 4 commits
293 (merged to 'next' on 2010-01-16 at d36016a)
294 + ls-files: fix overeager pathspec optimization
295 + read_directory(): further split treat_path()
296 + read_directory_recursive(): refactor handling of a single path into a separate function
297 + t3001: test ls-files -o ignored/dir
299 * js/exec-error-report (2010-01-12) 4 commits
300 (merged to 'next' on 2010-01-16 at 0e28d02)
301 + Improve error message when a transport helper was not found
302 + start_command: detect execvp failures early
303 + run-command: move wait_or_whine earlier
304 + start_command: report child process setup errors to the parent's stderr
306 * jc/fix-tree-walk (2009-09-14) 7 commits
307 (merged to 'next' on 2010-01-13 at 1c01b87)
308 + read-tree --debug-unpack
309 + unpack-trees.c: look ahead in the index
310 + unpack-trees.c: prepare for looking ahead in the index
311 + Aggressive three-way merge: fix D/F case
312 + traverse_trees(): handle D/F conflict case sanely
313 + more D/F conflict tests
314 + tests: move convenience regexp to match object names to test-lib.sh
316 Resurrected from "Ejected" category. This is fix for a tricky codepath
317 and testing and improving before it hits 'master' is greatly appreciated.
318 (I have been using this in my private build for some time).
320 * jc/cache-unmerge (2009-12-25) 9 commits
321 (merged to 'next' on 2010-01-13 at 2290c44)
322 + rerere forget path: forget recorded resolution
323 + rerere: refactor rerere logic to make it independent from I/O
324 + rerere: remove silly 1024-byte line limit
325 + resolve-undo: teach "update-index --unresolve" to use resolve-undo info
326 + resolve-undo: "checkout -m path" uses resolve-undo information
327 + resolve-undo: allow plumbing to clear the information
328 + resolve-undo: basic tests
329 + resolve-undo: record resolved conflicts in a new index extension section
330 + builtin-merge.c: use standard active_cache macros
331 (this branch is used by jc/conflict-mark-len-attr.)
333 * jc/rerere (2009-12-04) 1 commit
334 (merged to 'next' on 2010-01-10 at e295b7f)
335 + Teach --[no-]rerere-autoupdate option to merge, revert and friends
337 --------------------------------------------------
340 * jc/symbol-static (2010-01-11) 17 commits
341 - symlinks.c: remove unused functions
342 - object.c: remove unused functions
343 - blob.c: remove unused function
344 - strbuf.c: remove unused function
345 - sha1_file.c: remove unused function
346 - mailmap.c: remove unused function
347 - utf8.c: mark file-local function static
348 - submodule.c: mark file-local function static
349 - quote.c: mark file-local function static
350 - remote-curl.c: mark file-local function static
351 - read-cache.c: mark file-local functions static
352 - parse-options.c: mark file-local function static
353 - entry.c: mark file-local function static
354 - http.c: mark file-local functions static
355 - pretty.c: mark file-local function static
356 - builtin-rev-list.c: mark file-local function static
357 - bisect.c: mark file-local function static
359 Mark file-local symbols "static", and remove unused functions. Daniel
360 suggests to leave some comment for blob.c and I agree in principle, but
361 I don't think of a good description myself.
363 * jh/gitweb-cached (2010-01-13) 9 commits
364 - gitweb: File based caching layer (from git.kernel.org)
365 - gitweb: Convert output to using indirect file handle
366 - gitweb: cleanup error message produced by undefined $site_header
367 - gitweb: add a get function to compliment print_sort_th
368 - gitweb: add a get function to compliment print_local_time
369 - gitweb: Makefile improvements
370 - gitweb: Add option to force version match
371 - gitweb: change die_error to take "extra" argument for extended die information
372 - gitweb: Load checking
374 Replaced with a re-roll. Update to t9500 is probably needed.
376 * jc/ident (2010-01-08) 3 commits
377 - ident.c: treat $EMAIL as giving user.email identity explicitly
378 (merged to 'next' on 2010-01-10 at f1f9ded)
379 + ident.c: check explicit identity for name and email separately
380 + ident.c: remove unused variables
382 Opinions on the topmost one?
384 * jc/branch-d (2009-12-29) 1 commit
385 (merged to 'next' on 2010-01-10 at 61a14b7)
386 + branch -d: base the "already-merged" safety on the branch it merges with