What's cooking

Junio C Hamano committed Mar 11, 2009 at 02:25 UTC 41ceab1f3fff9bd27ee7dd6cd8251fc22cb5b181
1 file changed +444
whats/cooking/2009/03/03.txt new
+444
@@ -0,0 +1,444 @@
1 +To: git@vger.kernel.org
2 +Subject: What's cooking in git.git (Mar 2009, #03; Wed, 11)
3 +X-master-at: e47eec8fc6efb5ad0574b4862fd8e8e82b6a62fa
4 +X-next-at: b2e4c32e13df1b7f18e7b4a9f746650471a3122e
5 +
6 +What's cooking in git.git (Mar 2009, #03; Wed, 11)
7 +--------------------------------------------------
8 +
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 branches, but I am still
12 +holding onto them.
13 +
14 +The topics list the commits in reverse chronological order. The topics
15 +meant to be merged to the maintenance series have "maint-" in their names.
16 +
17 +----------------------------------------------------------------
18 +[New Topics]
19 +
20 +* db/maint-missing-origin (Wed Mar 11 01:47:20 2009 -0400) 1 commit
21 + - Give error when no remote is configured
22 +
23 +* js/sideband-stderr (Tue Mar 10 22:58:09 2009 +0100) 2 commits
24 + - winansi: support ESC [ K (erase in line)
25 + - recv_sideband: Bands #2 and #3 always go to stderr
26 +
27 +* js/rsync-local (Mon Mar 9 19:44:55 2009 +0100) 1 commit
28 + - rsync transport: allow local paths, and fix tests
29 +
30 +* rs/color-grep (Sun Mar 8 18:22:44 2009 -0700) 6 commits
31 + + grep: cast printf %.*s "precision" argument explicitly to int
32 + + grep: add support for coloring with external greps
33 + + grep: color patterns in output
34 + + grep: add pmatch and eflags arguments to match_one_pattern()
35 + + grep: remove grep_opt argument from match_expr_eval()
36 + + grep: micro-optimize hit collection for AND nodes
37 +
38 +* db/refspec-wildcard-in-the-middle (Sat Mar 7 01:11:39 2009 -0500) 5 commits
39 + + Support '*' in the middle of a refspec
40 + + Keep '*' in pattern refspecs
41 + + Use the matching function to generate the match results
42 + + Use a single function to match names against patterns
43 + + Make clone parse the default refspec with the normal code
44 +
45 +* db/push-cleanup (Sun Mar 8 21:06:07 2009 -0400) 2 commits
46 + - Move push matching and reporting logic into transport.c
47 + - Use a common function to get the pretty name of refs
48 +
49 +* xx/db-refspec-vs-js-remote (Sun Mar 8 00:12:33 2009 -0800) 1 commit
50 + + Adjust js/remote-improvements and db/refspec-wildcard-in-the-
51 + middle
52 +
53 +* fg/push-default (Mon Mar 9 23:35:51 2009 +0100) 7 commits
54 + - git push: Remove warning for "git push" default change
55 + - git push: Change default for "git push" to nothing.
56 + - git push: Document that "nothing" is the future push default
57 + - git push: Display warning on unconfigured default push
58 + - git push: New options --matching and --current
59 + - New config option push.default
60 + - remote: Make "-" an alias for the current remote
61 +
62 +With the topmost three patches, tonight's 'pu' does not pass the self test
63 +as expected. I am not sure there is a wide support for changing the
64 +default, either.
65 +
66 +* kg/http-auth (Mon Mar 9 23:34:25 2009 -0700) 3 commits
67 + - http authentication via prompts
68 + - http_init(): Fix config file parsing
69 + - http.c: style cleanups
70 +
71 +This only deals with the fetch side.
72 +
73 +* jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit
74 + - Allow --date=local --date=other-format to work as expected
75 +
76 +The one I posted had a few corner-case bugs that was caught with the test
77 +suite; this one has them fixed.
78 +
79 +----------------------------------------------------------------
80 +[Graduated to "master"]
81 +
82 +* jk/sane-relative-time (Tue Feb 24 00:42:16 2009 -0500) 1 commit
83 + + never fallback relative times to absolute
84 +
85 +* js/send-email (Mon Mar 2 23:52:18 2009 -0500) 5 commits
86 + + send-email: add --confirm option and configuration setting
87 + + send-email: don't create temporary compose file until it is needed
88 + + send-email: --suppress-cc improvements
89 + + send-email: handle multiple Cc addresses when reading mbox message
90 + + send-email: allow send-email to run outside a repo
91 +
92 +* sg/rerere-cleanup (Sat Feb 14 23:21:04 2009 +0100) 1 commit
93 + + rerere: remove duplicated functions
94 +
95 +* jc/add-p-unquote (Mon Feb 16 22:43:43 2009 -0800) 1 commit
96 + + git-add -i/-p: learn to unwrap C-quoted paths
97 +
98 +* jw/imap-preformatted-html (Thu Feb 12 08:58:12 2009 -0600) 1 commit
99 + + imap.preformattedHTML to tell Thunderbird to send non-flowed text
100 +
101 +* jw/format-patch-attach (Thu Feb 12 09:51:55 2009 -0600) 1 commit
102 + + Enable setting attach as the default in .gitconfig for git-format-
103 + patch.
104 +
105 +* sr/force-rebase (Fri Feb 13 23:48:01 2009 +0100) 1 commit
106 + + Teach rebase to rebase even if upstream is up to date
107 +
108 +* fg/exclude-bq (Tue Feb 10 15:20:17 2009 +0100) 1 commit
109 + + Support "\" in non-wildcard exclusion entries
110 +
111 +* dm/add-i-edit-abort (Thu Feb 12 00:19:41 2009 -0500) 1 commit
112 + + add -i: revisit hunk on editor failure
113 +
114 +* tp/completion (Sat Feb 21 15:48:43 2009 +0100) 6 commits
115 + + Fixup: Add bare repository indicator for __git_ps1
116 + + Add bare repository indicator for __git_ps1
117 + + completion: More fixes to prevent unbound variable errors
118 + + completion: Better __git_ps1 support when not in working directory
119 + + completion: Use consistent if [...] convention, not "test"
120 + + completion: For consistency, change "git rev-parse" to __gitdir
121 + calls
122 +
123 +* js/branch-symref (Wed Feb 18 22:34:44 2009 -0500) 4 commits
124 + + add basic branch display tests
125 + + branch: clean up repeated strlen
126 + + Avoid segfault with 'git branch' when the HEAD is detached
127 + + builtin-branch: improve output when displaying remote branches
128 +
129 +* al/ansi-color (Fri Feb 13 22:53:41 2009 +0100) 2 commits
130 + + builtin-branch.c: Rename branch category color names
131 + + Clean up use of ANSI color sequences
132 +
133 +* js/valgrind (Thu Feb 5 22:03:00 2009 +0100) 9 commits
134 + + valgrind: do not require valgrind 3.4.0 or newer
135 + + test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH
136 + + Tests: let --valgrind imply --verbose and --tee
137 + + Add a script to coalesce the valgrind outputs
138 + + t/Makefile: provide a 'valgrind' target
139 + + test-lib.sh: optionally output to test-results/$TEST.out, too
140 + + Valgrind support: check for more than just programming errors
141 + + valgrind: ignore ldso and more libz errors
142 + + Add valgrind support in test scripts
143 +
144 +* fc/config-editor (Sat Feb 21 02:48:54 2009 +0200) 3 commits
145 + + git config: trivial cleanup for editor action
146 + + git config: codestyle cleanups
147 + + config: Add new option to open an editor.
148 +
149 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
150 + + blame: show "previous" information in --porcelain/--incremental
151 + format
152 + + git-blame: refactor code to emit "porcelain format" output
153 +
154 +* ns/pretty-format (Tue Feb 24 15:33:29 2009 +0200) 5 commits
155 + + bash completion: add --format= and --oneline options for "git log"
156 + + Add tests for git log --pretty, --format and --oneline.
157 + + Add --oneline that is a synonym to "--pretty=oneline --abbrev-
158 + commit"
159 + + Give short-hands to --pretty=tformat:%formatstring
160 + + Add --format that is a synonym to --pretty
161 +
162 +* en/maint-hash-object (Sat Feb 28 12:56:49 2009 -0700) 1 commit
163 + + Ensure proper setup of git_dir for git-hash-object
164 +
165 +----------------------------------------------------------------
166 +[Will merge to 'master' soon]
167 +
168 +* mg/maint-submodule-normalize-path (Tue Mar 3 16:08:21 2009 +0100) 2 commits
169 + + git submodule: Fix adding of submodules at paths with ./, .. and
170 + //
171 + + git submodule: Add test cases for git submodule add
172 +
173 +* rs/memmem (Tue Mar 3 00:19:30 2009 +0100) 2 commits
174 + + optimize compat/ memmem()
175 + + diffcore-pickaxe: use memmem()
176 +
177 +* tv/rebase-stat (Sun Mar 1 22:28:28 2009 +0100) 2 commits
178 + + git-pull: Allow --stat and --no-stat to be used with --rebase
179 + + git-rebase: Add --stat and --no-stat for producing diffstat on
180 + rebase
181 +
182 +* jk/clone-post-checkout (Tue Mar 3 00:37:51 2009 -0500) 1 commit
183 + + clone: run post-checkout hook when checking out
184 +
185 +* jc/maint-1.6.0-keep-pack (Sat Feb 28 00:37:19 2009 -0800) 6 commits
186 + + is_kept_pack(): final clean-up
187 + + Simplify is_kept_pack()
188 + + Consolidate ignore_packed logic more
189 + + has_sha1_kept_pack(): take "struct rev_info"
190 + + has_sha1_pack(): refactor "pretend these packs do not exist"
191 + interface
192 + + git-repack: resist stray environment variable
193 +
194 +This is in response to Linus's "Really slow 'git gc'" ($gmane/110743)
195 +
196 +* el/blame-date (Fri Feb 20 14:51:11 2009 -0800) 1 commit
197 + + Make git blame's date output format configurable, like git log
198 +
199 +* tr/gcov (Thu Feb 19 12:13:42 2009 +0100) 8 commits
200 + + Test git-patch-id
201 + + Test rev-list --parents/--children
202 + + Test log --decorate
203 + + Test fsck a bit harder
204 + + Test log --graph
205 + + Test diff --dirstat functionality
206 + + Test that diff can read from stdin
207 + + Support coverage testing with GCC/gcov
208 +
209 +* tr/format-patch-thread (Thu Feb 19 22:26:33 2009 +0100) 4 commits
210 + + format-patch: support deep threading
211 + + format-patch: thread as reply to cover letter even with in-reply-
212 + to
213 + + format-patch: track several references
214 + + format-patch: threading test reactivation
215 +
216 +----------------------------------------------------------------
217 +[Stalled and may need help and prodding to go forward]
218 +
219 +* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 1 commit
220 + - archive.c: add support for --submodules[=(all|checkedout)]
221 +
222 +Discussion stalled on the submodule selection criteria.
223 +
224 +* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
225 + - git-merge-file: allow converting the results for the work tree
226 +
227 +This is a feature waiting for a user.
228 +
229 +We did not give scripted Porcelains a way to say "this temporary file I am
230 +using for merging is for this path, so use the core.autocrlf and attributes
231 +rules for that final path". Instead, merge-file simply wrote out the
232 +data in the canonical repository representation.
233 +
234 +rerere has the same issue, but it is a lot worse. It reads the three
235 +files (preimage, postimage and thisimage) from the work tree in the work
236 +tree representation, merges them without converting them to the canonical
237 +representation first but inserts the conflict markers with the canonical
238 +representation and writes the resulting mess out. It needs to be fixed to
239 +read with convert_to_git(), merge them while they are still in the
240 +canonical representation and possibly add conflict markers, and then write
241 +the results out after convert_to_working_tree(). It also needs to write
242 +in binary mode as well.
243 +
244 +* db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits
245 + - Support fetching from foreign VCSes
246 + - Add specification of git-vcs helpers
247 + - Add "vcs" config option in remotes
248 +
249 +The "spec" did not seem quite well cooked yet, but in the longer term I
250 +think something like this to allow interoperating with other SCMs as if
251 +the other end is a native git repository is a very worthy goal.
252 +
253 +* cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits
254 + - builtin-replace: use "usage_msg_opt" to give better error messages
255 + - parse-options: add new function "usage_msg_opt"
256 + - builtin-replace: teach "git replace" to actually replace
257 + - Add new "git replace" command
258 + - environment: add global variable to disable replacement
259 + - mktag: call "check_sha1_signature" with the replacement sha1
260 + - replace_object: add a test case
261 + - object: call "check_sha1_signature" with the replacement sha1
262 + - sha1_file: add a "read_sha1_file_repl" function
263 + - replace_object: add mechanism to replace objects found in
264 + "refs/replace/"
265 + - refs: add a "for_each_replace_ref" function
266 +
267 +I think the code is much cleaner than the first round, but I am not
268 +convinced it is doing the right thing in the connectivity traverser.
269 +Independent review sorely needed.
270 +
271 +----------------------------------------------------------------
272 +[Discarded]
273 +
274 +* sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits
275 + . gitweb: Optional grouping of projects by category
276 + . gitweb: Split git_project_list_body in two functions
277 + . gitweb: Modularized git_get_project_description to be more generic
278 +
279 +Design discussion between Jakub and Sebastien seems to have stalled, but
280 +Jakub seems to be taking this over.
281 +
282 +* jc/push-to-create (Mon Mar 2 22:36:16 2009 -0800) 1 commit
283 + . Push to create
284 +
285 +This was a failed weatherbaloon patch to allow creation of a new
286 +repository from the remote side.
287 +
288 +----------------------------------------------------------------
289 +[Actively cooking]
290 +
291 +* hv/cvsimport-tests (Mon Mar 2 18:59:36 2009 +0100) 1 commit
292 + - cvsimport: add test illustrating a bug in cvsps
293 +
294 +Yet more tests without fixing anything...
295 +
296 +* jc/clone-branch-rebase (Tue Mar 10 01:20:42 2009 -0700) 2 commits
297 + + Improve "git branch --tracking" output
298 + + Make git-clone respect branch.autosetuprebase
299 +
300 +This is a rewrite of a patch from Pat Notz.
301 +
302 +* kb/tracking-count-no-merges (Wed Mar 4 18:47:39 2009 +0100) 1 commit
303 + + stat_tracking_info(): only count real commits
304 +
305 +This gives the merge commits zero weight when talking about how many
306 +commits you have ahead (or behind) of the branch you are tracking. Even
307 +though I agree that they should carry much less weight than the "real"
308 +commits, because your repeated merge from the other branch does not really
309 +add any real value to the end result, giving them absolute zero weight
310 +somehow feels wrong. At least it shows that your have been _active_ on the
311 +branch. But I do not feel very strongly about it.
312 +
313 +* js/rebase-i-opt (Tue Mar 3 10:55:31 2009 +0100) 1 commit
314 + + rebase -i: avoid 'git reset' when possible
315 +
316 +* kb/checkout-optim (Sun Mar 8 17:22:51 2009 -0400) 18 commits
317 + + Makefile: Set compiler switch for USE_NSEC
318 + + Create USE_ST_TIMESPEC and turn it on for Darwin
319 + + Not all systems use st_[cm]tim field for ns resolution file
320 + timestamp
321 + + Record ns-timestamps if possible, but do not use it without
322 + USE_NSEC
323 + + write_index(): update index_state->timestamp after flushing to
324 + disk
325 + + verify_uptodate(): add ce_uptodate(ce) test
326 + + make USE_NSEC work as expected
327 + + fix compile error when USE_NSEC is defined
328 + + check_updates(): effective removal of cache entries marked
329 + CE_REMOVE
330 + + lstat_cache(): print a warning if doing ping-pong between cache
331 + types
332 + + show_patch_diff(): remove a call to fstat()
333 + + write_entry(): use fstat() instead of lstat() when file is open
334 + + write_entry(): cleanup of some duplicated code
335 + + create_directories(): remove some memcpy() and strchr() calls
336 + + unlink_entry(): introduce schedule_dir_for_removal()
337 + + lstat_cache(): swap func(length, string) into func(string, length)
338 + + lstat_cache(): generalise longest_match_lstat_cache()
339 + + lstat_cache(): small cleanup and optimisation
340 +
341 +* mv/parseopt-ls-files (Sat Mar 7 20:27:22 2009 -0500) 4 commits
342 + + ls-files: fix broken --no-empty-directory
343 + + t3000: use test_cmp instead of diff
344 + + parse-opt: migrate builtin-ls-files.
345 + + Turn the flags in struct dir_struct into a single variable
346 +
347 +The tip one was a subject for further discussion, but nothing is queued
348 +yet.
349 +
350 +* js/remote-improvements (Sun Mar 8 00:10:33 2009 -0800) 23 commits
351 + + builtin-remote.c: no "commented out" code, please
352 + + builtin-remote: new show output style for push refspecs
353 + + builtin-remote: new show output style
354 + + remote: make guess_remote_head() use exact HEAD lookup if it is
355 + available
356 + + builtin-remote: add set-head subcommand
357 + + builtin-remote: teach show to display remote HEAD
358 + + builtin-remote: fix two inconsistencies in the output of "show
359 + <remote>"
360 + + builtin-remote: make get_remote_ref_states() always populate
361 + states.tracked
362 + + builtin-remote: rename variables and eliminate redundant function
363 + call
364 + + builtin-remote: remove unused code in get_ref_states
365 + + builtin-remote: refactor duplicated cleanup code
366 + + string-list: new for_each_string_list() function
367 + + remote: make match_refs() not short-circuit
368 + + remote: make match_refs() copy src ref before assigning to
369 + peer_ref
370 + + remote: let guess_remote_head() optionally return all matches
371 + + remote: make copy_ref() perform a deep copy
372 + + remote: simplify guess_remote_head()
373 + + move locate_head() to remote.c
374 + + move duplicated ref_newer() to remote.c
375 + + move duplicated get_local_heads() to remote.c
376 + + refactor find_ref_by_name() to accept const list
377 + + add basic http clone/fetch tests
378 + + test scripts: refactor start_httpd helper
379 +
380 +* fc/parseopt-config (Sat Mar 7 12:14:05 2009 -0500) 9 commits
381 + + config: set help text for --bool-or-int
382 + + git config: don't allow --get-color* and variable type
383 + + git config: don't allow extra arguments for -e or -l.
384 + + git config: don't allow multiple variable types
385 + + git config: don't allow multiple config file locations
386 + + git config: reorganize to use parseopt
387 + + git config: reorganize get_color*
388 + + git config: trivial rename in preparation for parseopt
389 + + git_config(): not having a per-repo config file is not an error
390 +
391 +* mh/cvsimport-tests (Mon Feb 23 06:08:14 2009 +0100) 5 commits
392 + - Add a test of "git cvsimport"'s handling of tags and branches
393 + - Add some tests of git-cvsimport's handling of vendor branches
394 + - Test contents of entire cvsimported "master" tree contents
395 + - Use CVS's -f option if available (ignore user's ~/.cvsrc file)
396 + - Start a library for cvsimport-related tests
397 +
398 +Tests without fixes are of dubious value. Any takers?
399 +
400 +* tr/maint-1.6.0-send-email-irt (Sun Mar 1 23:45:41 2009 +0100) 1 commit
401 + + send-email: respect in-reply-to regardless of threading
402 +
403 +Tests?
404 +
405 +* js/notes (Wed Feb 18 11:17:27 2009 -0800) 14 commits
406 + - tests: fix "export var=val"
407 + - notes: refuse to edit notes outside refs/notes/
408 + - t3301: use test_must_fail instead of !
409 + - t3301: fix confusing quoting in test for valid notes ref
410 + - notes: use GIT_EDITOR and core.editor over VISUAL/EDITOR
411 + - notes: only clean up message file when editing
412 + - handle empty notes gracefully
413 + - git notes show: test empty notes
414 + - git-notes: fix printing of multi-line notes
415 + - notes: fix core.notesRef documentation
416 + - Add an expensive test for git-notes
417 + - Speed up git notes lookup
418 + - Add a script to edit/inspect notes
419 + - Introduce commit notes
420 +
421 +Rebased and then kicked back to 'pu' to give the author a chance to
422 +rearrange if necessary.
423 +
424 +----------------------------------------------------------------
425 +[On Hold]
426 +
427 +* jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit
428 + - receive-pack: default receive.denyDeleteCurrent to refuse
429 +
430 +* jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit
431 + - Refuse updating the current branch in a non-bare repository via
432 + push
433 +
434 +These are for 1.7.0, but the messages when they trigger together may need
435 +to be rethought.
436 +
437 +* jc/commit-assume-also-during-merge (Thu Jan 22 22:21:49 2009 -0800) 3 commits
438 + - git commit: pathspec without -i/-o implies -i semantics during a
439 + merge
440 + - builtin-commit: shorten eye-sore overlong lines
441 + - Add "partial commit" tests during a conflicted merge
442 +
443 +This was only meant as a weatherballoon to help facilitate discussion.
444 +Will be discarded.