What's cooking

Junio C Hamano committed Mar 17, 2009 at 22:27 UTC f297c5157b4b83e35034cc879115ab05e54c66d6
1 file changed +318
whats/cooking/2009/03/05.txt new
+318
@@ -0,0 +1,318 @@
1 +To: git@vger.kernel.org
2 +Subject: What's cooking in git.git (Mar 2009, #05; Tue, 17)
3 +X-master-at: 642d0844b9795ca7b1424f4afc8d8c86abd7bf34
4 +X-next-at: 34201954f04a3f0a1f9457670f24b26704fa31f1
5 +
6 +What's cooking in git.git (Mar 2009, #05; Tue, 17)
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 +* dm/maint-docco (Mon Mar 16 23:16:17 2009 -0700) 4 commits
21 + + Documentation: minor grammatical fixes in git-branch.txt.
22 + + Documentation: minor grammatical fixes in git-blame.txt.
23 + + Documentation: reword the "Description" section of git-bisect.txt.
24 + + Documentation: minor grammatical fixes in git-archive.txt.
25 +
26 +* mg/test-installed (Mon Mar 16 18:03:12 2009 +0100) 2 commits
27 + + test-lib.sh: Allow running the test suite against installed git
28 + + test-lib.sh: Test for presence of git-init in the right path.
29 +
30 +----------------------------------------------------------------
31 +[Graduated to "master"]
32 +
33 +* kb/checkout-optim (Tue Mar 17 19:20:29 2009 +0100) 20 commits
34 + + Revert "lstat_cache(): print a warning if doing ping-pong between
35 + cache types"
36 + + checkout bugfix: use stat.mtime instead of stat.ctime in two
37 + places
38 + + Makefile: Set compiler switch for USE_NSEC
39 + + Create USE_ST_TIMESPEC and turn it on for Darwin
40 + + Not all systems use st_[cm]tim field for ns resolution file
41 + timestamp
42 + + Record ns-timestamps if possible, but do not use it without
43 + USE_NSEC
44 + + write_index(): update index_state->timestamp after flushing to
45 + disk
46 + + verify_uptodate(): add ce_uptodate(ce) test
47 + + make USE_NSEC work as expected
48 + + fix compile error when USE_NSEC is defined
49 + + check_updates(): effective removal of cache entries marked
50 + CE_REMOVE
51 + + lstat_cache(): print a warning if doing ping-pong between cache
52 + types
53 + + show_patch_diff(): remove a call to fstat()
54 + + write_entry(): use fstat() instead of lstat() when file is open
55 + + write_entry(): cleanup of some duplicated code
56 + + create_directories(): remove some memcpy() and strchr() calls
57 + + unlink_entry(): introduce schedule_dir_for_removal()
58 + + lstat_cache(): swap func(length, string) into func(string, length)
59 + + lstat_cache(): generalise longest_match_lstat_cache()
60 + + lstat_cache(): small cleanup and optimisation
61 +
62 +* tr/maint-1.6.0-send-email-irt (Wed Mar 11 23:40:13 2009 +0100) 2 commits
63 + + send-email: test --no-thread --in-reply-to combination
64 + + send-email: respect in-reply-to regardless of threading
65 +
66 +* js/remote-improvements (Sun Mar 8 00:10:33 2009 -0800) 23 commits
67 + + builtin-remote.c: no "commented out" code, please
68 + + builtin-remote: new show output style for push refspecs
69 + + builtin-remote: new show output style
70 + + remote: make guess_remote_head() use exact HEAD lookup if it is
71 + available
72 + + builtin-remote: add set-head subcommand
73 + + builtin-remote: teach show to display remote HEAD
74 + + builtin-remote: fix two inconsistencies in the output of "show
75 + <remote>"
76 + + builtin-remote: make get_remote_ref_states() always populate
77 + states.tracked
78 + + builtin-remote: rename variables and eliminate redundant function
79 + call
80 + + builtin-remote: remove unused code in get_ref_states
81 + + builtin-remote: refactor duplicated cleanup code
82 + + string-list: new for_each_string_list() function
83 + + remote: make match_refs() not short-circuit
84 + + remote: make match_refs() copy src ref before assigning to
85 + peer_ref
86 + + remote: let guess_remote_head() optionally return all matches
87 + + remote: make copy_ref() perform a deep copy
88 + + remote: simplify guess_remote_head()
89 + + move locate_head() to remote.c
90 + + move duplicated ref_newer() to remote.c
91 + + move duplicated get_local_heads() to remote.c
92 + + refactor find_ref_by_name() to accept const list
93 + + add basic http clone/fetch tests
94 + + test scripts: refactor start_httpd helper
95 +
96 +* rs/color-grep (Mon Mar 16 13:20:04 2009 +1100) 7 commits
97 + + grep: prefer builtin over external one when coloring results
98 + + grep: cast printf %.*s "precision" argument explicitly to int
99 + + grep: add support for coloring with external greps
100 + + grep: color patterns in output
101 + + grep: add pmatch and eflags arguments to match_one_pattern()
102 + + grep: remove grep_opt argument from match_expr_eval()
103 + + grep: micro-optimize hit collection for AND nodes
104 +
105 +* js/rsync-local (Mon Mar 9 19:44:55 2009 +0100) 1 commit
106 + + rsync transport: allow local paths, and fix tests
107 +
108 +* js/sideband-stderr (Tue Mar 10 22:58:09 2009 +0100) 2 commits
109 + + winansi: support ESC [ K (erase in line)
110 + + recv_sideband: Bands #2 and #3 always go to stderr
111 +
112 +* db/maint-missing-origin (Mon Mar 16 00:35:09 2009 -0700) 2 commits
113 + + Remove total confusion from git-fetch and git-push
114 + + Give error when no remote is configured
115 +
116 +* jc/maint-1.6.0-read-tree-overlay (Thu Mar 12 00:02:12 2009 -0700) 1 commit
117 + + read-tree A B C: do not create a bogus index and do not segfault
118 +
119 +With new test.
120 +
121 +----------------------------------------------------------------
122 +[Will merge to 'master' soon]
123 +
124 +* fc/parseopt-config (Tue Mar 17 10:46:37 2009 +0100) 10 commits
125 + + config: test for --replace-all with one argument and fix
126 + documentation.
127 + + config: set help text for --bool-or-int
128 + + git config: don't allow --get-color* and variable type
129 + + git config: don't allow extra arguments for -e or -l.
130 + + git config: don't allow multiple variable types
131 + + git config: don't allow multiple config file locations
132 + + git config: reorganize to use parseopt
133 + + git config: reorganize get_color*
134 + + git config: trivial rename in preparation for parseopt
135 + + git_config(): not having a per-repo config file is not an error
136 +
137 +* js/rebase-i-opt (Tue Mar 3 10:55:31 2009 +0100) 1 commit
138 + + rebase -i: avoid 'git reset' when possible
139 +
140 +* mh/cvsimport-tests (Mon Feb 23 06:08:14 2009 +0100) 5 commits
141 + + Add a test of "git cvsimport"'s handling of tags and branches
142 + + Add some tests of git-cvsimport's handling of vendor branches
143 + + Test contents of entire cvsimported "master" tree contents
144 + + Use CVS's -f option if available (ignore user's ~/.cvsrc file)
145 + + Start a library for cvsimport-related tests
146 +
147 +* hv/cvsimport-tests (Mon Mar 2 18:59:36 2009 +0100) 1 commit
148 + + cvsimport: add test illustrating a bug in cvsps
149 +
150 +* jc/clone-branch-rebase (Tue Mar 10 01:20:42 2009 -0700) 2 commits
151 + + Improve "git branch --tracking" output
152 + + Make git-clone respect branch.autosetuprebase
153 +
154 +This is a rewrite of a patch from Pat Notz.
155 +
156 +* xx/db-refspec-vs-js-remote (Sun Mar 8 00:12:33 2009 -0800) 1 commit
157 + + Adjust js/remote-improvements and db/refspec-wildcard-in-the-
158 + middle
159 +
160 +* db/refspec-wildcard-in-the-middle (Sat Mar 7 01:11:39 2009 -0500) 5 commits
161 + + Support '*' in the middle of a refspec
162 + + Keep '*' in pattern refspecs
163 + + Use the matching function to generate the match results
164 + + Use a single function to match names against patterns
165 + + Make clone parse the default refspec with the normal code
166 +
167 +* bw/autoconf (Thu Mar 12 15:20:12 2009 -0400) 7 commits
168 + + configure: rework pthread handling to allow for user defined flags
169 + + configure: make iconv tests aware of user arguments
170 + + configure: asciidoc version test cleanup
171 + + configure: wrap some library tests with GIT_STASH_FLAGS
172 + + configure: add macros to stash FLAG variables
173 + + configure: reorganize flow of argument checks
174 + + configure: ensure settings from user are also usable in the script
175 +
176 +----------------------------------------------------------------
177 +[Stalled and may need help and prodding to go forward]
178 +
179 +* ps/blame (Thu Mar 12 21:30:03 2009 +1100) 1 commit
180 + - blame.c: start libifying the blame infrastructure
181 +
182 +A few minor point remains in this initial one.
183 +
184 +* jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit
185 + - Allow --date=local --date=other-format to work as expected
186 +
187 +The one I posted had a few corner-case bugs that was caught with the test
188 +suite; this one has them fixed. People did not like the UI so it is kept
189 +out of 'next'
190 +
191 +* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 1 commit
192 + - archive.c: add support for --submodules[=(all|checkedout)]
193 +
194 +Discussion stalled on the submodule selection criteria.
195 +Probably I should discard it and wait for a reroll if needed.
196 +
197 +* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
198 + - git-merge-file: allow converting the results for the work tree
199 +
200 +This is a feature waiting for a user.
201 +
202 +We did not give scripted Porcelains a way to say "this temporary file I am
203 +using for merging is for this path, so use the core.autocrlf and attributes
204 +rules for that final path". Instead, merge-file simply wrote out the
205 +data in the canonical repository representation.
206 +
207 +rerere has the same issue, but it is a lot worse. It reads the three
208 +files (preimage, postimage and thisimage) from the work tree in the work
209 +tree representation, merges them without converting them to the canonical
210 +representation first but inserts the conflict markers with the canonical
211 +representation and writes the resulting mess out. It needs to be fixed to
212 +read with convert_to_git(), merge them while they are still in the
213 +canonical representation and possibly add conflict markers, and then write
214 +the results out after convert_to_working_tree(). It also needs to write
215 +in binary mode as well.
216 +
217 +* db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits
218 + - Support fetching from foreign VCSes
219 + - Add specification of git-vcs helpers
220 + - Add "vcs" config option in remotes
221 +
222 +Daniel seems to have a plan for going forward with this series.
223 +
224 +* cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits
225 + - builtin-replace: use "usage_msg_opt" to give better error messages
226 + - parse-options: add new function "usage_msg_opt"
227 + - builtin-replace: teach "git replace" to actually replace
228 + - Add new "git replace" command
229 + - environment: add global variable to disable replacement
230 + - mktag: call "check_sha1_signature" with the replacement sha1
231 + - replace_object: add a test case
232 + - object: call "check_sha1_signature" with the replacement sha1
233 + - sha1_file: add a "read_sha1_file_repl" function
234 + - replace_object: add mechanism to replace objects found in
235 + "refs/replace/"
236 + - refs: add a "for_each_replace_ref" function
237 +
238 +I know, I really have to drop everything else and re-read these, but I
239 +haven't managed to.
240 +
241 +* js/notes (Wed Feb 18 11:17:27 2009 -0800) 14 commits
242 + - tests: fix "export var=val"
243 + - notes: refuse to edit notes outside refs/notes/
244 + - t3301: use test_must_fail instead of !
245 + - t3301: fix confusing quoting in test for valid notes ref
246 + - notes: use GIT_EDITOR and core.editor over VISUAL/EDITOR
247 + - notes: only clean up message file when editing
248 + - handle empty notes gracefully
249 + - git notes show: test empty notes
250 + - git-notes: fix printing of multi-line notes
251 + - notes: fix core.notesRef documentation
252 + - Add an expensive test for git-notes
253 + - Speed up git notes lookup
254 + - Add a script to edit/inspect notes
255 + - Introduce commit notes
256 +
257 +----------------------------------------------------------------
258 +[Actively cooking]
259 +
260 +* jc/attributes-checkout (Fri Mar 13 21:24:08 2009 -0700) 1 commit
261 + - Read attributes from the index that is being checked out
262 +
263 +* fg/push-default (Mon Mar 16 16:42:52 2009 +0100) 2 commits
264 + - Display warning for default git push with no push.default config
265 + + New config push.default to decide default behavior for push
266 +
267 +Replaced the old series with the first step to allow a smooth transition.
268 +Some might argue that this should not give any warning but just give users
269 +this new configuration to play with first, and after we know we are going
270 +to switch default some day, start the warning.
271 +
272 +* mg/http-auth (Thu Mar 12 22:34:43 2009 -0700) 4 commits
273 + + http.c: CURLOPT_NETRC_OPTIONAL is not available in ancient
274 + versions of cURL
275 + + http authentication via prompts
276 + + http_init(): Fix config file parsing
277 + + http.c: style cleanups
278 +
279 +This does only the fetch side but without any additional configuration
280 +variables that looked like band-aid. Support for push side seems to be in
281 +the works somewhere.
282 +
283 +* db/push-cleanup (Sun Mar 8 21:06:07 2009 -0400) 2 commits
284 + + Move push matching and reporting logic into transport.c
285 + + Use a common function to get the pretty name of refs
286 +
287 +* kb/tracking-count-no-merges (Wed Mar 4 18:47:39 2009 +0100) 1 commit
288 + + stat_tracking_info(): only count real commits
289 +
290 +This gives the merge commits zero weight when talking about how many
291 +commits you have ahead (or behind) of the branch you are tracking. Even
292 +though I agree that they should carry much less weight than the "real"
293 +commits, because your repeated merge from the other branch does not really
294 +add any real value to the end result, giving them absolute zero weight
295 +somehow feels wrong. At least it shows that your have been _active_ on the
296 +branch. But I do not feel very strongly about it.
297 +
298 +* mv/parseopt-ls-files (Sat Mar 7 20:27:22 2009 -0500) 4 commits
299 + + ls-files: fix broken --no-empty-directory
300 + + t3000: use test_cmp instead of diff
301 + + parse-opt: migrate builtin-ls-files.
302 + + Turn the flags in struct dir_struct into a single variable
303 +
304 +The tip one was a subject for further discussion, but nothing is queued
305 +yet.
306 +
307 +----------------------------------------------------------------
308 +[On Hold]
309 +
310 +* jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit
311 + - receive-pack: default receive.denyDeleteCurrent to refuse
312 +
313 +* jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit
314 + - Refuse updating the current branch in a non-bare repository via
315 + push
316 +
317 +These are for 1.7.0, but the messages when they trigger together may need
318 +to be rethought.