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