What's cooking (2008/06 #04)
Junio C Hamano committed
Aug 5, 2008 at 21:44 UTC
df6be057e79137380979546f51caa94c4bc4110d
1 file changed
+183
-139
whats-cooking.txt
+183
-139
@@ -1,93 +1,209 @@
1
-Subject: What's cooking in git.git (Jun 2008, issue #03; Wed, 25)
1
+Subject: What's cooking in git.git (Jun 2008, issue #04; Mon, 30)
2
3
-What's cooking in git.git (Jun 2008, issue #03; Wed, 25)
3
+What's cooking in git.git (Jun 2008, issue #04; Mon, 30)
4
--------------------------------------------------------
5
6
Here are the topics that have been cooking. Commits prefixed
7
with '-' are only in 'pu' while commits prefixed with '+' are
8
in 'next'.
9
10
-The topics list the commits in reverse chronological order.
10
+The topics list the commits in reverse chronological order. The topics
11
+meant to be applied to the maintenance series have "maint-" in their
12
+names.
13
14
It already is beginning to become clear what 1.6.0 will look like. What's
15
already in 'next' all are well intentioned (I do not guarantee they are
16
already bug-free --- that is what cooking them in 'next' is for) and are
15
-good set of feature enhancements. But bigger changes will be:
17
+good set of feature enhancements. Bigger changes will be:
18
19
* MinGW will be in.
20
19
- * /usr/bin/git-cat-file is no more. The bulk of the git commands will
20
- move to /usr/libexec/git-core/ or somesuch.
21
+ * With the default Makefile settings, most of the programs will be
22
+ installed outside your $PATH, except for "git", "gitk", "git-gui" and
23
+ some server side programs that need to be accessible for technical
24
+ reasons. Invoking a git subcommand as "git-xyzzy" from the command
25
+ line has been deprecated since early 2006 (and officially announced in
26
+ 1.5.4 release notes); use of them from your scripts after adding
27
+ output from "git --exec-path" to the $PATH will still be supported in
28
+ 1.6.0, but users are again strongly encouraged to adjust their
29
+ scripts to use "git xyzzy" form, as we will stop installing
30
+ "git-xyzzy" hardlinks for built-in commands in later releases.
31
32
* git-merge will be rewritten in C.
33
34
* default pack and idx versions will be updated as scheduled for some
35
time ago.
36
27
-----------------------------------------------------------------
28
-[New Topics]
29
-
30
-* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
31
- - Migrate git-blame to parse-option partially.
32
- - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
33
- - parse-opt: fake short strings for callers to believe in.
34
- - parse-opt: do not pring errors on unknown options, return -2
35
- intead.
36
- - parse-opt: create parse_options_step.
37
- - parse-opt: Export a non NORETURN usage dumper.
38
- - parse-opt: have parse_options_{start,end}.
39
-
37
----------------------------------------------------------------
38
[Will merge to master soon]
39
43
-* lw/gitweb (Thu Jun 19 22:03:21 2008 +0200) 1 commit
44
- + gitweb: standarize HTTP status codes
45
-
46
-* lt/config-fsync (Wed Jun 18 15:18:44 2008 -0700) 4 commits
47
- + Add config option to enable 'fsync()' of object files
48
- + Split up default "i18n" and "branch" config parsing into helper
49
- routines
50
- + Split up default "user" config parsing into helper routine
51
- + Split up default "core" config parsing into helper routine
52
-
40
* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
41
+ Keep some git-* programs in $(bindir)
42
+ Move all dashed-form commands to libexecdir
43
57
-Scheduled for 1.6.0. We'll leave server-side programs in $(bindir)
58
-so that ssh clients can ask for "git-program" and find them on the $PATH.
44
+Scheduled for 1.6.0. We'll leave server-side programs in $(bindir) so
45
+that ssh clients can ask for "git-program" and find them on the $PATH.
46
+Next major release after 1.6.0 would most likely remove the hardlinks to
47
+built-in commands, but not yet.
48
49
* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
50
+ merge: remove deprecated summary and diffstat options and config
51
variables
52
64
-* sr/tests (Sun Jun 8 16:04:35 2008 +0200) 3 commits
65
- + Hook up the result aggregation in the test makefile.
66
- + A simple script to parse the results from the testcases
67
- + Modify test-lib.sh to output stats to t/test-results/*
53
+* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 4 commits
54
+ + Revert "Make clients ask for "git program" over ssh and local
55
+ transport"
56
+ + Make clients ask for "git program" over ssh and local transport
57
+ + Prepare execv_git_cmd() for removal of builtins from the
58
+ filesystem
59
+ + git-shell: accept "git foo" form
60
69
-* jh/clone-packed-refs (Sun Jun 15 16:06:16 2008 +0200) 4 commits
70
- + Teach "git clone" to pack refs
71
- + Prepare testsuite for a "git clone" that packs refs
72
- + Move pack_refs() and friends into libgit
73
- + Incorporate fetched packs in future object traversal
61
+----------------------------------------------------------------
62
+[Actively Cooking]
63
75
-This is useful when cloning from a repository with insanely large number
76
-of refs.
64
+* jk/maint-fetch-ref-hier (Fri Jun 27 00:01:41 2008 -0400) 2 commits
65
+ + fetch: give a hint to the user when local refs fail to update
66
+ + fetch: report local storage errors in status table
67
78
-* lw/perlish (Thu Jun 19 22:32:49 2008 +0200) 2 commits
79
- + Git.pm: add test suite
80
- + t/test-lib.sh: add test_external and test_external_without_stderr
68
+When the remote used to have "foo" branch but now has "foo/bar", fetch
69
+refuses to delete the existing remote tracking branch "foo" to create a
70
+new remote tracking branch "foo/bar", but the error message was
71
+confusing.
72
82
-Beginning of regression tests for Perl part of the system.
73
+* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit
74
+ + Allow "git-reset path" when unambiguous
75
84
-----------------------------------------------------------------
85
-[Actively Cooking]
76
+We used to require "git-reset -- path" even when there is no ambiguity
77
+(i.e. path cannot be mistaken as a valid tree-ish and it is a filename in
78
+the work tree).
79
+
80
+* js/maint-clone-insteadof (Fri Jun 27 13:55:23 2008 +0100) 2 commits
81
+ + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
82
+ + clone: respect url.insteadOf setting in global configs
83
87
-* mv/merge-in-c (Sat Jun 21 19:15:35 2008 +0200) 12 commits
84
+"git clone" did not honor "url.InsteadOf" in $HOME/.gitconfig. I think
85
+Daniel's "Let's get rid of internal use of GIT_CONFIG" makes sense (even
86
+though it feels very scary), and it would make the solution much simpler,
87
+but it came late and it is already past my bedtime, so...
88
+
89
+* tr/send-email-ssl (Thu Jun 26 23:03:21 2008 +0200) 2 commits
90
+ + git-send-email: prevent undefined variable warnings if no
91
+ encryption is set
92
+ + git-send-email: add support for TLS via Net::SMTP::SSL
93
+
94
+* kb/send-email-fifo (Wed Jun 25 15:44:40 2008 -0700) 1 commit
95
+ + git-send-email: Accept fifos as well as files
96
+
97
+Two minor send-email feature enhancements for 1.6.0.
98
+
99
+* jc/checkdiff (Sun Jun 29 16:49:06 2008 -0400) 7 commits
100
+ + Fix t4017-diff-retval for white-space from wc
101
+ + Update sample pre-commit hook to use "diff --check"
102
+ + diff --check: detect leftover conflict markers
103
+ + Teach "diff --check" about new blank lines at end
104
+ + checkdiff: pass diff_options to the callback
105
+ + check_and_emit_line(): rename and refactor
106
+ + diff --check: explain why we do not care whether old side is
107
+ binary
108
+
109
+Allows us to replace the sample pre-commit hook that was not aware of the
110
+line termination convention per path nor newer whitespace breakage rules.
111
+
112
+* np/pack-default (Wed Jun 25 00:25:53 2008 -0400) 2 commits
113
+ + pack.indexversion config option now defaults to 2
114
+ + repack.usedeltabaseoffset config option now defaults to "true"
115
+
116
+Updates the default value for pack.indexversion to 2 and use delta-base
117
+offset encoding of the packfiles by default.
118
+
119
+* js/apply-recount (Fri Jun 27 18:43:09 2008 +0100) 1 commit
120
+ + Allow git-apply to recount the lines in a hunk (AKA recountdiff)
121
+
122
+A good ingredient for implementing "apply --edit".
123
+
124
+* dz/apply-again (Fri Jun 27 14:39:12 2008 -0400) 1 commit
125
+ + git-apply: handle a patch that touches the same path more than
126
+ once better
127
+
128
+Allows us to feed a patch that touches the same path more than once.
129
+
130
+* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
131
+ - Make default expiration period of reflog used for stash infinite
132
+ - Per-ref reflog expiry configuration
133
+
134
+As 1.6.0 will be a good time to make backward incompatible changes, the
135
+tip commit makes the default expiry period of stash 'never', unless you
136
+configure them to expire explicitly using gc.refs/stash.* variables.
137
+Needs consensus, but I am guessing that enough people would want stash
138
+that does not expire.
139
+
140
+* jc/merge-theirs (Sat Jun 28 17:28:22 2008 -0700) 3 commits
141
+ + Teach git-merge to pass -X<option> to the backend strategy module
142
+ + git-merge-recursive-{ours,theirs}
143
+ + git-merge-file --ours, --theirs
144
+
145
+Punting a merge by discarding your own work in conflicting parts but still
146
+salvaging the parts that are cleanly automerged. It is likely that this
147
+will result in nonsense mishmash, but somehow often people want this, so
148
+here they are. The interface to the backends is updated so that you can
149
+say "git merge -Xours -s recursive other" now.
150
+
151
+* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
152
+ + compat/pread.c: Add a forward declaration to fix a warning
153
+ + Windows: Fix ntohl() related warnings about printf formatting
154
+ + Windows: TMP and TEMP environment variables specify a temporary
155
+ directory.
156
+ + Windows: Make 'git help -a' work.
157
+ + Windows: Work around an oddity when a pipe with no reader is
158
+ written to.
159
+ + Windows: Make the pager work.
160
+ + When installing, be prepared that template_dir may be relative.
161
+ + Windows: Use a relative default template_dir and ETC_GITCONFIG
162
+ + Windows: Compute the fallback for exec_path from the program
163
+ invocation.
164
+ + Turn builtin_exec_path into a function.
165
+ + Windows: Use a customized struct stat that also has the st_blocks
166
+ member.
167
+ + Windows: Add a custom implementation for utime().
168
+ + Windows: Add a new lstat and fstat implementation based on Win32
169
+ API.
170
+ + Windows: Implement a custom spawnve().
171
+ + Windows: Implement wrappers for gethostbyname(), socket(), and
172
+ connect().
173
+ + Windows: Work around incompatible sort and find.
174
+ + Windows: Implement asynchronous functions as threads.
175
+ + Windows: Disambiguate DOS style paths from SSH URLs.
176
+ + Windows: A rudimentary poll() emulation.
177
+ + Windows: Implement start_command().
178
+ + Windows: A pipe() replacement whose ends are not inherited to
179
+ children.
180
+ + Windows: Wrap execve so that shell scripts can be invoked.
181
+ + Windows: Implement setitimer() and sigaction().
182
+ + Windows: Fix PRIuMAX definition.
183
+ + Windows: Implement gettimeofday().
184
+ + Make my_mktime() public and rename it to tm_to_time_t()
185
+ + Windows: Work around misbehaved rename().
186
+ + Windows: always chmod(, 0666) before unlink().
187
+ + Windows: A minimal implemention of getpwuid().
188
+ + Windows: Implement a wrapper of the open() function.
189
+ + Windows: Strip ".exe" from the program name.
190
+ + Windows: Handle absolute paths in
191
+ safe_create_leading_directories().
192
+ + Windows: Treat Windows style path names.
193
+ + setup.c: Prepare for Windows directory separators.
194
+ + Windows: Use the Windows style PATH separator ';'.
195
+ + Add target architecture MinGW.
196
+ + Compile some programs only conditionally.
197
+ + Add compat/regex.[ch] and compat/fnmatch.[ch].
198
+
199
+No explanation necessary ;-)
200
+
201
+* mv/merge-in-c (Mon Jun 30 03:39:58 2008 +0200) 13 commits
202
+ - Build in merge
203
+ - Add new test case to ensure git-merge prepends the custom merge
204
+ message
205
- Add new test case to ensure git-merge reduces octopus parents when
206
possible
90
- - Build in merge
207
- Introduce reduce_heads()
208
- Introduce get_merge_bases_many()
209
- Add new test to ensure git-merge handles more than 25 refs.
@@ -100,15 +216,7 @@ Beginning of regression tests for Perl part of the system.
216
- Move commit_list_count() to commit.c
217
- Move split_cmdline() to alias.c
218
103
-I dropped the change to parseopt in this series and fixed up the caller.
104
-
105
-* jc/dashless (Sat Dec 1 22:09:22 2007 -0800) 2 commits
106
- + Prepare execv_git_cmd() for removal of builtins from the
107
- filesystem
108
- + git-shell: accept "git foo" form
109
-
110
-We do not plan to remove git-foo form completely from the filesystem at
111
-this point, but git-shell may need to be updated.
219
+The last one is still in flux.
220
221
* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
222
+ Eliminate an unnecessary chdir("..")
@@ -117,23 +225,28 @@ this point, but git-shell may need to be updated.
225
+ Implement normalize_absolute_path
226
227
* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
120
- - rerere.autoupdate
121
- - t4200: fix rerere test
122
- - rerere: remove dubious "tail_optimization"
123
- - git-rerere: detect unparsable conflicts
124
- - rerere: rerere_created_at() and has_resolution() abstraction
228
+ + rerere.autoupdate
229
+ + t4200: fix rerere test
230
+ + rerere: remove dubious "tail_optimization"
231
+ + git-rerere: detect unparsable conflicts
232
+ + rerere: rerere_created_at() and has_resolution() abstraction
233
126
-* sb/rebase (Sun Jun 22 01:55:50 2008 +0200) 2 commits
127
- + t3404: stricter tests for git-rebase--interactive
128
- + api-builtin.txt: update and fix typo
234
+A new configuration will allow paths that have been resolved cleanly by
235
+rerere to be updated in the index automatically.
236
130
-* sb/maint-rebase (Sun Jun 22 16:07:02 2008 +0200) 1 commit
131
- + git-rebase.sh: Add check if rebase is in progress
237
+* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
238
+ - Migrate git-blame to parse-option partially.
239
+ - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
240
+ - parse-opt: fake short strings for callers to believe in.
241
+ - parse-opt: do not pring errors on unknown options, return -2
242
+ intead.
243
+ - parse-opt: create parse_options_step.
244
+ - parse-opt: Export a non NORETURN usage dumper.
245
+ - parse-opt: have parse_options_{start,end}.
246
247
----------------------------------------------------------------
248
[Graduated to "master"]
249
136
-
250
----------------------------------------------------------------
251
[On Hold]
252
@@ -142,59 +255,6 @@ this point, but git-shell may need to be updated.
255
256
Waiting for success reports from people who use various backends.
257
145
-* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 39 commits
146
- - compat/pread.c: Add a forward declaration to fix a warning
147
- - Windows: Fix ntohl() related warnings about printf formatting
148
- - Windows: TMP and TEMP environment variables specify a temporary
149
- directory.
150
- - Windows: Make 'git help -a' work.
151
- - Windows: Work around an oddity when a pipe with no reader is
152
- written to.
153
- - Windows: Make the pager work.
154
- - When installing, be prepared that template_dir may be relative.
155
- - Windows: Use a relative default template_dir and ETC_GITCONFIG
156
- - Windows: Compute the fallback for exec_path from the program
157
- invocation.
158
- - Turn builtin_exec_path into a function.
159
- - Windows: Use a customized struct stat that also has the st_blocks
160
- member.
161
- - Windows: Add a custom implementation for utime().
162
- - Windows: Add a new lstat and fstat implementation based on Win32
163
- API.
164
- - Windows: Implement a custom spawnve().
165
- - Windows: Implement wrappers for gethostbyname(), socket(), and
166
- connect().
167
- - Windows: Work around incompatible sort and find.
168
- - Windows: Implement asynchronous functions as threads.
169
- - Windows: Disambiguate DOS style paths from SSH URLs.
170
- - Windows: A rudimentary poll() emulation.
171
- - Windows: Change the name of hook scripts to make them not
172
- executable.
173
- - Windows: Implement start_command().
174
- - Windows: A pipe() replacement whose ends are not inherited to
175
- children.
176
- - Windows: Wrap execve so that shell scripts can be invoked.
177
- - Windows: Implement setitimer() and sigaction().
178
- - Windows: Fix PRIuMAX definition.
179
- - Windows: Implement gettimeofday().
180
- - Make my_mktime() public and rename it to tm_to_time_t()
181
- - Windows: Work around misbehaved rename().
182
- - Windows: always chmod(, 0666) before unlink().
183
- - Windows: A minimal implemention of getpwuid().
184
- - Windows: Implement a wrapper of the open() function.
185
- - Windows: Strip ".exe" from the program name.
186
- - Windows: Handle absolute paths in
187
- safe_create_leading_directories().
188
- - Windows: Treat Windows style path names.
189
- - setup.c: Prepare for Windows directory separators.
190
- - Windows: Use the Windows style PATH separator ';'.
191
- - Add target architecture MinGW.
192
- - Compile some programs only conditionally.
193
- - Add compat/regex.[ch] and compat/fnmatch.[ch].
194
-
195
-No explanation is necessary ;-). The series is probably 'next' worthy
196
-as-is, except that template renaming hack won't be needed anymore.
197
-
258
* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
259
- diff: enable "too large a rename" warning when -M/-C is explicitly
260
asked for
@@ -205,22 +265,6 @@ hit due to tcl/tk's limitation, so I am holding this back for now.
265
----------------------------------------------------------------
266
[Stalled/Needs more work]
267
208
-* jc/reflog-expire (Sun Jun 15 23:48:46 2008 -0700) 1 commit
209
- - Per-ref reflog expiry configuration
210
-
211
-Perhaps a good foundation for optionally unexpirable stash. As 1.6.0 will
212
-be a good time to make backward incompatible changes, we might make expiry
213
-period of stash 'never' in new repositories. Needs a concensus.
214
-
215
-* jc/merge-theirs (Fri Jun 20 00:17:59 2008 -0700) 2 commits
216
- - git-merge-recursive-{ours,theirs}
217
- - git-merge-file --ours, --theirs
218
-
219
-Punting a merge by discarding your own work in conflicting parts but still
220
-salvaging the parts that are cleanly automerged. It is likely that this
221
-will result in nonsense mishmash, but somehow often people want this, so
222
-here they are. The interface to the backends may need to change, though.
223
-
268
* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
269
- blame: show "previous" information in --porcelain/--incremental
270
format