What's cooking (2009/07 #03)

Junio C Hamano committed Jul 29, 2009 at 14:11 UTC a1e0616406ce28248ba29150e05c7f0d8d4df0e3
1 file changed +164 -212
whats-cooking.txt
+164 -212
@@ -1,29 +1,68 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jul 2009, #02; Sun, 26)
3 -X-master-at: d8f7be2ebcb7e3ec40269080a9ab9a28bc06ba17
4 -X-next-at: 2b05f9bd0a9944bbaab9f24d305932a57e4735d4
2 +Subject: What's cooking in git.git (Jul 2009, #03; Wed, 29)
3 +X-master-at: e6580020057afd207b7cfb9c96905f99e13cfe4d
4 +X-next-at: 4719968c98d7ad8352bb14916c65c094842a980d
5
6 -What's cooking in git.git (Jul 2009, #02; Sun, 26)
6 +What's cooking in git.git (Jul 2009, #03; Wed, 29)
7 --------------------------------------------------
8
9 -These topics in 'next' (ones prefixed with '+') and 'pu' (ones prefixed
10 -with '.') will not be in 1.6.4 final, and are subject to be rewound once
11 -it happens.
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
13 -We have quite a few solid topics in 'next', so hopefully the next cycle
14 -would be shorter than usual. I'd propose to call it 1.6.5, and then make
15 -the one after that 1.7.0, which means that during the 1.6.5 cycle, 'next'
16 -will have the two incompatible "push" (actually, receive-pack) changes
17 -hitherto kept on hold in 'pu'.
14 +In preparation for rewinding 'next' after a major release, one topic was
15 +reverted and kicked back to 'pu' to give it a fresh start.
16 +
17 +After the 1.6.5 cycle, the next release will be 1.7.0, and we will push
18 +out the planned "push safety" change. 1.7.0 would be a good time to
19 +introduce "justifiable" changes that are not strictly backward compatible.
20 +
21 +During 1.6.5 cycle, 'next' will hold topics meant for 1.6.5 and 1.7.0.
22 +I've already merged the "diff --exit-code --ignore-whitespace" change and
23 +"push safety" change.
24 +
25 +I'll rewind 'next' sometime this weekend.
26
27 ----------------------------------------------------------------
20 -[New Topics]
28 +[In 'next']
29
22 -* jk/show-tag (Sat Jul 18 06:14:37 2009 -0400) 2 commits
23 - + show: add space between multiple items
24 - + show: suppress extra newline when showing annotated tag
30 +* ne/futz-upload-pack (Wed Jun 10 01:50:18 2009 +0200) 1 commit
31 + + Shift object enumeration out of upload-pack
32 +
33 +* js/run-command-updates (Sat Jul 4 21:26:43 2009 +0200) 6 commits
34 + + receive-pack: remove unnecessary run_status report
35 + + run_command: report failure to execute the program, but optionally
36 + don't
37 + + run_command: encode deadly signal number in the return value
38 + + run_command: report system call errors instead of returning error
39 + codes
40 + + run_command: return exit code as positive value
41 + + MinGW: simplify waitpid() emulation macros
42 +
43 +* sb/maint-pull-rebase (Sun Jul 19 09:45:16 2009 +0200) 2 commits
44 + + pull: support rebased upstream + fetch + pull --rebase
45 + + t5520-pull: Test for rebased upstream + fetch + pull --rebase
46 +
47 +* jc/1.7.0-diff-whitespace-only-status (Sat May 23 01:15:35 2009 -0700) 2 commits
48 + + diff: Rename QUIET internal option to QUICK
49 + + diff: change semantics of "ignore whitespace" options
50 +
51 +This changes exit code from "git diff --ignore-whitespace" and friends
52 +when there is no actual output. It is a backward incompatible change, but
53 +we could argue that it is a bugfix.
54 +
55 +* jc/1.7.0-push-safety (Mon Feb 9 00:19:46 2009 -0800) 2 commits
56 + + Refuse deleting the current branch via push
57 + + Refuse updating the current branch in a non-bare repository via
58 + push
59
26 -Didn't look bad at all, but is not pressing either.
60 +This is old 'jc/deny-delete-current-1.7.0' and 'jc/1.7.0-push-safety'
61 +topics redone.
62 +
63 +* sb/read-tree (Thu Jun 25 22:14:10 2009 -0700) 2 commits
64 + + read-tree: migrate to parse-options
65 + + read-tree: convert unhelpful usage()'s to helpful die()'s
66
67 * sb/parse-options (Tue Jul 7 22:15:41 2009 -0700) 4 commits
68 + prune-packed: migrate to parse-options
@@ -31,248 +70,161 @@ Didn't look bad at all, but is not pressing either.
70 + verify-tag: migrate to parse-options
71 + write-tree: migrate to parse-options
72
73 +Parse-options migration; should be in 'master' soonish.
74 +
75 * mk/grep-max-depth (Wed Jul 22 19:52:15 2009 +0200) 1 commit
76 + grep: Add --max-depth option.
77
37 -* jn/gitweb-blame (Sat Jul 25 00:44:10 2009 +0200) 10 commits
38 - - gitweb: Create links leading to 'blame_incremental' using
39 - JavaScript
40 - - gitweb: Incremental blame (proof of concept)
41 - - gitweb: Add optional "time to generate page" info in footer
42 - - gitweb: Add -partial_query option to href() subroutine
43 - - gitweb: Use light/dark for class names also in 'blame' view
44 - - gitweb: Add author initials in 'blame' view, a la "git gui blame"
45 - - gitweb: Mark commits with no "previous" in 'blame' view
46 - - gitweb: Use "previous" header of git-blame -p in 'blame' view
47 - - gitweb: Mark boundary commits in 'blame' view
48 - - gitweb: Make .error style generic
78 +* cc/replace (Wed May 27 07:14:09 2009 +0200) 14 commits
79 + + t6050: check pushing something based on a replaced commit
80 + + Documentation: add documentation for "git replace"
81 + + Add git-replace to .gitignore
82 + + builtin-replace: use "usage_msg_opt" to give better error messages
83 + + parse-options: add new function "usage_msg_opt"
84 + + builtin-replace: teach "git replace" to actually replace
85 + + Add new "git replace" command
86 + + environment: add global variable to disable replacement
87 + + mktag: call "check_sha1_signature" with the replacement sha1
88 + + replace_object: add a test case
89 + + object: call "check_sha1_signature" with the replacement sha1
90 + + sha1_file: add a "read_sha1_file_repl" function
91 + + replace_object: add mechanism to replace objects found in
92 + "refs/replace/"
93 + + refs: add a "for_each_replace_ref" function
94
50 -Still in flux/rfc.
95 +Does not seem to hurt normal operation without "replace". The basic idea
96 +should be easier and safer to use than the graft mechanism. I haven't
97 +tried the replacement myself, though.
98
99 * ns/init-mkdir (Sat Jul 25 06:59:28 2009 +0900) 1 commit
100 + git init: optionally allow a directory argument
101
55 -Didn't look bad, but is not pressing either.
102 +Straightforward usability change. Should be in 'master' soonish.
103 +
104 +* mk/init-db-parse-options (Sun Jul 12 12:24:32 2009 +0200) 1 commit
105 + + init-db: migrate to parse-options
106 +
107 +* jk/maint-show-tag (Sat Jul 18 06:14:37 2009 -0400) 2 commits
108 + + show: add space between multiple items
109 + + show: suppress extra newline when showing annotated tag
110
111 * jc/apply-epoch-patch (Fri Jul 10 18:38:08 2009 -0700) 1 commit
112 + apply: notice creation/removal patches produced by GNU diff
113
60 -* sb/pull-rebase (Sun Jul 19 09:45:16 2009 +0200) 2 commits
61 - + pull: support rebased upstream + fetch + pull --rebase
62 - + t5520-pull: Test for rebased upstream + fetch + pull --rebase
114 +Better acceptance of some "GNU patch" output to create or remove files.
115
64 -* db/transport-shim (Sat Jul 25 13:51:40 2009 -0400) 3 commits
116 +----------------------------------------------------------------
117 +[In 'pu']
118 +
119 +* jp/symlink-dirs (Sun Jun 14 15:08:28 2009 +0200) 2 commits
120 + - lstat_cache: guard against full match of length of 'name'
121 + parameter
122 + - Demonstrate bugs when a directory is replaced with a symlink
123 +
124 +James's test scripts to expose corner case bugs in the merge and branch
125 +switching machinery.
126 +
127 +* jh/vcs-cvs (Mon Jul 27 03:04:17 2009 +0200) 15 commits
128 + - Introduce a 'marks <filename>' feature to the foreign transport
129 + code
130 + - Teach foreign transport code to perform the "capabilities" command
131 + - Preliminary clarifications to git-vcs documentation
132 + - fast-import: Add support for importing commit notes
133 + - Add a transport implementation using git-vcs-* helpers
134 + - Allow programs to not depend on remotes having urls
135 + - Use a function to determine whether a remote is valid
136 + - Add specification of git-vcs-* helper programs
137 + - Merge branch 'db/transport-shim' into jh/vcs-cvs
138 - git-http-fetch: not a builtin
139 - Use an external program to implement fetching with curl
140 - Add support for external programs for handling native fetches
141 + - Add option for using a foreign VCS
142 + - Document details of transport function APIs
143 + - Allow late reporting of fetched hashes
144
69 -Interesting as a concept. I saw its ls-remote segfault on me, though.
70 -Hopefully will mature by 1.6.5 final.
71 -
72 -* pb/tracking (Thu Jul 16 16:26:15 2009 -0500) 7 commits
73 - + branch.c: if remote is not config'd for branch, don't try delete
74 - push config
75 - + branch, checkout: introduce autosetuppush
76 - + move deletion of merge configuration to branch.c
77 - + remote: add per-remote autosetupmerge and autosetuprebase
78 - configuration
79 - + introduce a struct tracking_config
80 - + branch: install_branch_config and struct tracking refactoring
81 - + config: allow false and true values for branch.autosetuprebase
82 -
83 -After some discussion, I suspect we may want to rewind this out of 'next'
84 -and start over with a fresh design.
85 -
86 -* mk/init-db-parse-options (Sun Jul 12 12:24:32 2009 +0200) 1 commit
87 - + init-db: migrate to parse-options
88 -
89 -* tr/reset-checkout-patch (Sat Jul 25 23:29:34 2009 +0200) 5 commits
90 - - Implement 'git stash save --patch'
91 - - Implement 'git checkout --patch'
92 - - Implement 'git reset --patch'
93 - - builtin-add: refactor the meat of interactive_add()
94 - - git-apply--interactive: Refactor patch mode code
95 -
96 -Still in flux/rfc.
97 -
98 -----------------------------------------------------------------
99 -[Stalled and may need help and prodding to go forward]
100 -
101 -* gp/maint-rebase-p-onto (Wed Jul 22 12:38:58 2009 -0400) 1 commit
102 - . Fix rebase -p --onto
145 +With its 6th patch replaced to keep the pathname syntax of the fast-import
146 +language, but without the commits near the tip of the old series.
147
104 -I'd say we should take this even if it means Dscho needs his rebase -p
105 -rewrite. It is not very pressing, so perhaps do so immediately after
106 -1.6.4 final.
148 +* db/transport-shim (Tue Jul 28 02:08:53 2009 -0400) 3 commits
149 + - git-http-fetch: not a builtin
150 + - Use an external program to implement fetching with curl
151 + - Add support for external programs for handling native fetches
152
108 -* jh/notes (Sat May 16 13:44:17 2009 +0200) 5 commits
153 +* jh/notes (Wed Jul 29 04:25:26 2009 +0200) 8 commits
154 + - t3302-notes-index-expensive: Speed up create_repo()
155 + - fast-import: Add support for importing commit notes
156 + - First draft of notes tree parser with support for fanout subtrees
157 - Teach "-m <msg>" and "-F <file>" to "git notes edit"
158 - Add an expensive test for git-notes
159 - Speed up git notes lookup
160 - Add a script to edit/inspect notes
161 - Introduce commit notes
162
115 -Dscho asked about the performance implications of this; I do not think I
116 -saw any progress on that yet...
117 -
118 -Will drop after 1.6.4 unless any further progress is seen.
119 -
120 -* ar/maint-1.6.2-merge-recursive-d-f (Mon May 11 21:25:36 2009 +0200) 2 commits
121 - - Fix for a merge where a branch has an F->D transition
122 - - Add a reminder test case for a merge with F/D transition
123 -
124 -Although the reported breakage is covered with the patch, Alex feels the
125 -solution unsatisfactory. Cleaning up D/F conflict handling in merge-recursive
126 -may be long overdue but seems to be a hard problem.
127 -
128 -* ps/blame (Thu Mar 12 21:30:03 2009 +1100) 1 commit
129 - - blame.c: start libifying the blame infrastructure
130 -
131 -A few minor point remains in this initial one.
132 -
133 -Will drop after 1.6.4 unless any further progress is seen.
134 -
135 -* jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit
136 - - Allow --date=local --date=other-format to work as expected
137 -
138 -The one I posted had a few corner-case bugs that was caught with the test
139 -suite; this one has them fixed. People did not like the UI so it is kept
140 -out of 'next'
141 -
142 -Will drop after 1.6.4 unless any further progress is seen.
143 -
144 -* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
145 - - git-merge-file: allow converting the results for the work tree
146 -
147 -This is a feature waiting for a user.
148 -
149 -We did not give scripted Porcelains a way to say "this temporary file I am
150 -using for merging is for this path, so use the core.autocrlf and attributes
151 -rules for that final path". Instead, merge-file simply wrote out the
152 -data in the canonical repository representation.
153 -
154 -rerere has the same issue, but it is a lot worse. It reads the three
155 -files (preimage, postimage and thisimage) from the work tree in the work
156 -tree representation, merges them without converting them to the canonical
157 -representation first but inserts the conflict markers with the canonical
158 -representation and writes the resulting mess out. It needs to be fixed to
159 -read with convert_to_git(), merge them while they are still in the
160 -canonical representation and possibly add conflict markers, and then write
161 -the results out after convert_to_working_tree(). It also needs to write
162 -in binary mode as well.
163 -
164 -Will drop after 1.6.4 unless any further progress is seen.
163 +jh/vcs-cvs topic needs to be rebuilt, merging this instead of having its
164 +own copy of "fast-import: Add support for importing commit notes".
165
166 * db/foreign-scm (Tue Mar 24 23:04:12 2009 -0400) 3 commits
167 - Add option for using a foreign VCS
168 - Document details of transport function APIs
169 - Allow late reporting of fetched hashes
170
171 -I have a feeling that the recent transport-shim series from the same
172 -author could supersede this one.
173 -
174 -* hv/cvsps-tests (Sun Apr 5 01:40:50 2009 -0700) 8 commits
175 - - t/t9600: remove exit after test_done
176 - - cvsimport: extend testcase about patchset order to contain
177 - branches
178 - - cvsimport: add test illustrating a bug in cvsps
179 - - Add a test of "git cvsimport"'s handling of tags and branches
180 - - Add some tests of git-cvsimport's handling of vendor branches
181 - - Test contents of entire cvsimported "master" tree contents
182 - - Use CVS's -f option if available (ignore user's ~/.cvsrc file)
183 - - Start a library for cvsimport-related tests
184 -
185 -----------------------------------------------------------------
186 -[Not actively cooking]
187 -
188 -* js/run-command-updates (Sat Jul 4 21:26:43 2009 +0200) 6 commits
189 - + receive-pack: remove unnecessary run_status report
190 - + run_command: report failure to execute the program, but optionally
191 - don't
192 - + run_command: encode deadly signal number in the return value
193 - + run_command: report system call errors instead of returning error
194 - codes
195 - + run_command: return exit code as positive value
196 - + MinGW: simplify waitpid() emulation macros
197 -
198 -Will merge after 1.6.4
199 -
171 * cc/sequencer-rebase-i (Fri Jun 26 23:08:46 2009 +0200) 4 commits
172 - rebase -i: use "git sequencer--helper --make-patch"
173 - sequencer: free memory used in "make_patch" function
174 - sequencer: add "make_patch" function to save a patch
175 - sequencer: add "builtin-sequencer--helper.c"
176
206 -* en/fast-export (Thu Jun 25 22:48:33 2009 -0600) 7 commits
207 - + fast-export: Document the fact that git-rev-list arguments are
208 - accepted
209 - + Add new fast-export testcases
210 - + fast-export: Add a --tag-of-filtered-object option for newly
211 - dangling tags
212 - + fast-export: Do parent rewriting to avoid dropping relevant
213 - commits
214 - + fast-export: Make sure we show actual ref names instead of
215 - "(null)"
216 - + fast-export: Omit tags that tag trees
217 - + fast-export: Set revs.topo_order before calling setup_revisions
218 -
219 -Shawn? Dscho?
220 -
221 -* jc/diff-whitespace-only-status (Sat May 23 01:15:35 2009 -0700) 2 commits
222 - + diff: Rename QUIET internal option to QUICK
223 - + diff: change semantics of "ignore whitespace" options
224 -
225 -Possibly merge during 1.6.5, or 1.7.0 since this is a semantics change.
226 -
227 -* sb/read-tree (Thu Jun 25 22:14:10 2009 -0700) 2 commits
228 - + read-tree: migrate to parse-options
229 - + read-tree: convert unhelpful usage()'s to helpful die()'s
177 +I do not know how this will interact with what Dscho has been doing.
178
231 -Will merge after 1.6.4
179 +* jc/mailinfo-remove-brackets (Wed Jul 15 15:31:12 2009 -0700) 1 commit
180 + - mailinfo: -b option keeps [bracketed] strings that is not a
181 + [PATCH] marker
182
233 -* ne/futz-upload-pack (Wed Jun 10 01:50:18 2009 +0200) 1 commit
234 - + Shift object enumeration out of upload-pack
183 +* jn/gitweb-blame (Sat Jul 25 00:44:10 2009 +0200) 10 commits
184 + - gitweb: Create links leading to 'blame_incremental' using
185 + JavaScript
186 + - gitweb: Incremental blame (proof of concept)
187 + - gitweb: Add optional "time to generate page" info in footer
188 + - gitweb: Add -partial_query option to href() subroutine
189 + - gitweb: Use light/dark for class names also in 'blame' view
190 + - gitweb: Add author initials in 'blame' view, a la "git gui blame"
191 + - gitweb: Mark commits with no "previous" in 'blame' view
192 + - gitweb: Use "previous" header of git-blame -p in 'blame' view
193 + - gitweb: Mark boundary commits in 'blame' view
194 + - gitweb: Make .error style generic
195
236 -Will merge after 1.6.4
196 +There may have been updates during 1.6.4-rc period that I missed.
197
238 -* cc/replace (Wed May 27 07:14:09 2009 +0200) 14 commits
239 - + t6050: check pushing something based on a replaced commit
240 - + Documentation: add documentation for "git replace"
241 - + Add git-replace to .gitignore
242 - + builtin-replace: use "usage_msg_opt" to give better error messages
243 - + parse-options: add new function "usage_msg_opt"
244 - + builtin-replace: teach "git replace" to actually replace
245 - + Add new "git replace" command
246 - + environment: add global variable to disable replacement
247 - + mktag: call "check_sha1_signature" with the replacement sha1
248 - + replace_object: add a test case
249 - + object: call "check_sha1_signature" with the replacement sha1
250 - + sha1_file: add a "read_sha1_file_repl" function
251 - + replace_object: add mechanism to replace objects found in
252 - "refs/replace/"
253 - + refs: add a "for_each_replace_ref" function
198 +* tr/reset-checkout-patch (Tue Jul 28 23:20:11 2009 +0200) 5 commits
199 + - Implement 'git stash save --patch'
200 + - Implement 'git checkout --patch'
201 + - Implement 'git reset --patch'
202 + - builtin-add: refactor the meat of interactive_add()
203 + - git-apply--interactive: Refactor patch mode code
204
255 -* jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit
256 - - receive-pack: default receive.denyDeleteCurrent to refuse
205 +* jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit
206 + - Allow --date=local --date=other-format to work as expected
207
258 -* jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit
259 - - Refuse updating the current branch in a non-bare repository via
260 - push
208 +* pb/tracking (Thu Jul 16 16:26:15 2009 -0500) 7 commits
209 + - branch.c: if remote is not config'd for branch, don't try delete
210 + push config
211 + - branch, checkout: introduce autosetuppush
212 + - move deletion of merge configuration to branch.c
213 + - remote: add per-remote autosetupmerge and autosetuprebase
214 + configuration
215 + - introduce a struct tracking_config
216 + - branch: install_branch_config and struct tracking refactoring
217 + - config: allow false and true values for branch.autosetuprebase
218
262 -These are for 1.7.0, but the messages when they trigger together may need
263 -to be rethought. Will be kept in 'next' during 1.6.5 cycle.
219 +This has been reverted from 'next' for now to give it a fresh start.
220
221 ----------------------------------------------------------------
222 [Dropped]
223
268 -* ae/maint-mailinfo-rm-only-one-patch-marker (Mon Jun 29 11:55:51 2009 +0200) 1 commit
269 - - mailinfo: Remove only one set of square brackets
224 +* ar/maint-1.6.2-merge-recursive-d-f (Mon May 11 21:25:36 2009 +0200) 2 commits
225 + . Fix for a merge where a branch has an F->D transition
226 + . Add a reminder test case for a merge with F/D transition
227
271 -* lt/read-directory (Fri May 15 12:01:29 2009 -0700) 3 commits
272 - . Add initial support for pathname conversion to UTF-8
273 - . read_directory(): infrastructure for pathname character set
274 - conversion
275 - . Add 'fill_directory()' helper function for directory traversal
228 +The fix the author hinted iffy is dropped for now, but the test case is
229 +already in 'master' to remind us.
230
277 -It appears that we may want to settle with a MacOS X specific conversion,
278 -if somebody really cares enough.