What's cooking (2013/04 #02)
Junio C Hamano committed
Apr 5, 2013 at 15:26 UTC
3fb4ca910bd5b59bb50b7cbbc398062dcb6b2f4b
1 file changed
+431
-387
whats-cooking.txt
+431
-387
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Apr 2013, #01; Mon, 1)
4
-X-master-at: cc3e4eba723570bf77902c017611ee02bb86c8b3
5
-X-next-at: 5a7d8b8c6ff8c59f4ad782e539b1d511ca6f2e63
3
+Subject: What's cooking in git.git (Apr 2013, #02; Fri, 5)
4
+X-master-at: 21ccebec0dd1d7e624ea2f22af6ac93686daf34f
5
+X-next-at: 2c8b7bf47c81acd2a76c1f9c3be2a1f102b76d31
6
7
-What's cooking in git.git (Apr 2013, #01; Mon, 1)
7
+What's cooking in git.git (Apr 2013, #02; Fri, 5)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -24,177 +24,127 @@ of the repositories listed at
24
--------------------------------------------------
25
[Graduated to "master"]
26
27
-* bc/append-signed-off-by (2013-02-23) 13 commits
28
- (merged to 'next' on 2013-03-26 at 0e3c79b)
29
- + git-commit: populate the edit buffer with 2 blank lines before s-o-b
30
- + Unify appending signoff in format-patch, commit and sequencer
31
- + format-patch: update append_signoff prototype
32
- + t4014: more tests about appending s-o-b lines
33
- + sequencer.c: teach append_signoff to avoid adding a duplicate newline
34
- + sequencer.c: teach append_signoff how to detect duplicate s-o-b
35
- + sequencer.c: always separate "(cherry picked from" from commit body
36
- + sequencer.c: require a conforming footer to be preceded by a blank line
37
- + sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
38
- + t/t3511: add some tests of 'cherry-pick -s' functionality
39
- + t/test-lib-functions.sh: allow to specify the tag name to test_commit
40
- + commit, cherry-pick -s: remove broken support for multiline rfc2822 fields
41
- + sequencer.c: rework search for start of footer to improve clarity
42
-
43
- Consolidates codepaths that inspect log-message-to-be and decide to
44
- add a new Signed-off-by line in various commands. I think there is
45
- no negative behaviour change in this series, but please report any
46
- iffy behaviour change immediately if you notice one.
47
-
48
-
49
-* jc/nobody-sets-src-peer-ref (2013-03-04) 1 commit
50
- (merged to 'next' on 2013-03-26 at 9d13c02)
51
- + match_push_refs(): nobody sets src->peer_ref anymore
52
-
53
- Dead code removal.
54
-
55
- Even though I think this change is correct, please report
56
- immediately if you find any unintended side effect.
57
-
58
-
59
-* jc/remove-export-from-config-mak-in (2013-03-05) 3 commits
60
- (merged to 'next' on 2013-03-26 at a789220)
61
- + Fix `make install` when configured with autoconf
62
- + Makefile: do not export mandir/htmldir/infodir
63
- + config.mak.in: remove unused definitions
64
-
65
- config.mak.in template had an "export" line to cause a few
66
- common makefile variables to be exported; if they need to be
67
- expoted for autoconf/configure users, they should also be exported
68
- for people who write config.mak the same way. Move the "export" to
69
- the main Makefile. Also, stop exporting mandir that used to be
70
- exported (only) when config.mak.autogen was used. It would have
71
- broken installation of manpages (but not other documentation
72
- formats).
73
-
74
- Even though I think this change is correct, please report
75
- immediately if you find any unintended side effect.
76
-
27
+* bk/document-commit-tree-S (2013-03-25) 1 commit
28
+ (merged to 'next' on 2013-03-26 at 8ee205f)
29
+ + commit-tree: document -S option consistently
30
78
-* jk/common-make-variables-export-safety (2013-02-25) 1 commit
79
- (merged to 'next' on 2013-03-26 at 8b7bb16)
80
- + Makefile: make mandir, htmldir and infodir absolute
31
82
- Make the three variables safer to be exported to submakes by
83
- ensuring that they are full paths so that they can be used as
84
- installation location.
32
+* jc/apply-ws-fix-tab-in-indent (2013-03-29) 2 commits
33
+ (merged to 'next' on 2013-03-29 at 26eb6e9)
34
+ + test: resurrect q_to_tab
35
+ (merged to 'next' on 2013-03-26 at 46c6bda)
36
+ + apply --whitespace=fix: avoid running over the postimage buffer
37
86
- Even though I think this change is correct, please report
87
- immediately if you find any unintended side effect.
38
+ "git apply --whitespace=fix" was not prepared to see a line getting
39
+ longer after fixing whitespaces (e.g. tab-in-indent aka Python).
40
41
90
-* jk/index-pack-correct-depth-fix (2013-03-20) 1 commit
91
- (merged to 'next' on 2013-03-26 at c56e839)
92
- + index-pack: always zero-initialize object_entry list
42
+* jc/directory-attrs-regression-fix (2013-03-28) 6 commits
43
+ (merged to 'next' on 2013-03-29 at a3dce2b)
44
+ + t: check that a pattern without trailing slash matches a directory
45
+ + dir.c::match_pathname(): pay attention to the length of string parameters
46
+ + dir.c::match_pathname(): adjust patternlen when shifting pattern
47
+ + dir.c::match_basename(): pay attention to the length of string parameters
48
+ + attr.c::path_matches(): special case paths that end with a slash
49
+ + attr.c::path_matches(): the basename is part of the pathname
50
94
- "index-pack --fix-thin" used uninitialize value to compute delta
95
- depths of objects it appends to the resulting pack.
51
+ Fix 1.8.1.x regression that stopped matching "dir" (without
52
+ trailing slash) to a directory "dir".
53
54
98
-* jk/pkt-line-cleanup (2013-03-21) 20 commits
99
- (merged to 'next' on 2013-03-26 at 2bb3b75)
100
- + do not use GIT_TRACE_PACKET=3 in tests
101
- + remote-curl: always parse incoming refs
102
- + remote-curl: move ref-parsing code up in file
103
- + remote-curl: pass buffer straight to get_remote_heads
104
- + teach get_remote_heads to read from a memory buffer
105
- + pkt-line: share buffer/descriptor reading implementation
106
- + pkt-line: provide a LARGE_PACKET_MAX static buffer
107
- + pkt-line: move LARGE_PACKET_MAX definition from sideband
108
- + pkt-line: teach packet_read_line to chomp newlines
109
- + pkt-line: provide a generic reading function with options
110
- + pkt-line: drop safe_write function
111
- + pkt-line: move a misplaced comment
112
- + write_or_die: raise SIGPIPE when we get EPIPE
113
- + upload-archive: use argv_array to store client arguments
114
- + upload-archive: do not copy repo name
115
- + send-pack: prefer prefixcmp over memcmp in receive_status
116
- + fetch-pack: fix out-of-bounds buffer offset in get_ack
117
- + upload-pack: remove packet debugging harness
118
- + upload-pack: do not add duplicate objects to shallow list
119
- + upload-pack: use get_sha1_hex to parse "shallow" lines
55
+* jc/merge-tag-object (2013-04-01) 3 commits
56
+ (merged to 'next' on 2013-04-03 at 94b5c7d)
57
+ + t6200: test message for merging of an annotated tag
58
+ + t6200: use test_config/test_unconfig
59
+ (merged to 'next' on 2013-03-29 at aeec39c)
60
+ + merge: a random object may not necssarily be a commit
61
121
- Cleans up pkt-line API, implementation and its callers to make them
122
- more robust. Even though I think this change is correct, please
123
- report immediately if you find any unintended side effect.
62
+ "git merge $(git rev-parse v1.8.2)" behaved quite differently from
63
+ "git merge v1.8.2" as if v1.8.2 were written as v1.8.2^0 and did
64
+ not pay much attention to the annotated tag payload.
65
66
+ This makes the code notice the type of the tag object, in addition
67
+ to the dwim_ref() based classification the current code uses
68
+ (i.e. the name appears in refs/tags/) to decide when to special
69
+ case merging of tags.
70
126
-* jn/push-tests (2013-03-19) 3 commits
127
- (merged to 'next' on 2013-03-26 at da891db)
128
- + push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi'
129
- + push test: simplify check of push result
130
- + push test: use test_config when appropriate
71
132
- Update t5516 with style fixes.
72
+* jc/sha1-name-object-peeler (2013-03-31) 2 commits
73
+ (merged to 'next' on 2013-04-01 at cdb4a18)
74
+ + peel_onion(): teach $foo^{object} peeler
75
+ + peel_onion: disambiguate to favor tree-ish when we know we want a tree-ish
76
+ (this branch is used by mh/rev-parse-verify-doc.)
77
78
+ There was no good way to ask "I have a random string that came from
79
+ outside world. I want to turn it into a 40-hex object name while
80
+ making sure such an object exists". A new peeling suffix ^{object}
81
+ can be used for that purpose, together with "rev-parse --verify".
82
135
-* kb/name-hash (2013-02-27) 1 commit
136
- (merged to 'next' on 2013-03-26 at 750490a)
137
- + name-hash.c: fix endless loop with core.ignorecase=true
83
139
- The code to keep track of what directory names are known to Git on
140
- platforms with case insensitive filesystems can get confused upon
141
- a hash collision between these pathnames and looped forever.
84
+* jc/t5516-pushInsteadOf-vs-pushURL (2013-03-28) 1 commit
85
+ (merged to 'next' on 2013-04-01 at bed2879)
86
+ + t5516: test interaction between pushURL and pushInsteadOf correctly
87
143
- Even though I think this change is correct, please report
144
- immediately if you find any unintended side effect.
88
+ Update a test to match the documented interaction between pushURL
89
+ and pushInsteadOf.
90
91
147
-* nd/branch-show-rebase-bisect-state (2013-03-23) 7 commits
148
- (merged to 'next' on 2013-03-26 at cd666f6)
149
- + status, branch: fix the misleading "bisecting" message
150
- + branch: show more information when HEAD is detached
151
- + status: show more info than "currently not on any branch"
152
- + wt-status: move wt_status_get_state() out to wt_status_print()
153
- + wt-status: split wt_status_state parsing function out
154
- + wt-status: move strbuf into read_and_strip_branch()
155
- + Merge branch 'jc/reflog-reverse-walk' into nd/branch-show-rebase-bisect-state
92
+* jk/check-corrupt-objects-carefully (2013-03-29) 10 commits
93
+ (merged to 'next' on 2013-03-29 at b6a04a7)
94
+ + clone: leave repo in place after checkout errors
95
+ + clone: run check_everything_connected
96
+ + clone: die on errors from unpack_trees
97
+ + add tests for cloning corrupted repositories
98
+ + streaming_write_entry: propagate streaming errors
99
+ + add test for streaming corrupt blobs
100
+ + avoid infinite loop in read_istream_loose
101
+ + read_istream_filtered: propagate read error from upstream
102
+ + check_sha1_signature: check return value from read_istream
103
+ + stream_blob_to_fd: detect errors reading from stream
104
157
- "git status" shows a bit more info during a bisect/rebase session.
105
+ Have the streaming interface and other codepaths more carefully
106
+ examine for corrupt objects.
107
108
160
-* nd/index-pack-threaded-fixes (2013-03-19) 2 commits
161
- (merged to 'next' on 2013-03-26 at e508c77)
162
- + index-pack: guard nr_resolved_deltas reads by lock
163
- + index-pack: protect deepest_delta in multithread code
109
+* jk/config-with-empty-section (2013-03-29) 1 commit
110
+ (merged to 'next' on 2013-04-01 at 7972aa9)
111
+ + t1300: document some aesthetic failures of the config editor
112
165
- "index-pack --verify-stat" used a few counters outside protection
166
- of mutex, possibly showing incorrect numbers.
113
+ Document that "git config --unset" does not remove an empty section
114
+ head after removing the last variable in a section, and adding a
115
+ new variable does not try to reuse a leftover empty section head.
116
117
169
-* rr/test-3200-style (2013-03-20) 1 commit
170
- (merged to 'next' on 2013-03-26 at 1214287)
171
- + t3200 (branch): modernize style
118
+* jk/difftool-no-overwrite-on-copyback (2013-03-29) 5 commits
119
+ (merged to 'next' on 2013-03-29 at 9f42d34)
120
+ + t7800: run --dir-diff tests with and without symlinks
121
+ + t7800: fix tests when difftool uses --no-symlinks
122
+ + t7800: don't hide grep output
123
+ + difftool: don't overwrite modified files
124
+ + t7800: move '--symlinks' specific test to the end
125
173
- Churns.
126
+ Try to be careful when difftool backend allows the user to write
127
+ into the temporary files being shown *and* the user makes changes
128
+ to the working tree at the same time. One of the changes has to be
129
+ lost in such a case, but at least tell the user what he did.
130
131
176
-* sr/am-show-final-message-in-applying-indicator (2013-03-21) 1 commit
177
- (merged to 'next' on 2013-03-26 at 9ecb143)
178
- + git-am: show the final log message on "Applying:" indicator
132
+* jk/no-more-self-assignment (2013-03-25) 2 commits
133
+ (merged to 'next' on 2013-03-26 at 31ec9ac)
134
+ + match-trees: simplify score_trees() using tree_entry()
135
+ + submodule: clarify logic in show_submodule_summary
136
180
- In addition to the case where the user edits the log message with
181
- the "e)dit" option of "am -i", replace the "Applying: this patch"
182
- message with the final log message contents after applymsg hook
183
- munges it.
137
+ This started as a topic to reduce "type var = var" self assignment
138
+ tricks that were used to squelch "variable used uninitialized perhaps?"
139
+ warning from some compilers, but resulted in rewriting logic with
140
+ a version that is simpler and easier to understand for humans.
141
185
---------------------------------------------------
186
-[New Topics]
142
188
-* jc/sha1-name-object-peeler (2013-03-31) 2 commits
189
- (merged to 'next' on 2013-04-01 at cdb4a18)
190
- + peel_onion(): teach $foo^{object} peeler
191
- + peel_onion: disambiguate to favor tree-ish when we know we want a tree-ish
192
- (this branch is used by mh/rev-parse-verify-doc.)
143
+* jl/submodule-deinit (2013-04-01) 1 commit
144
+ (merged to 'next' on 2013-04-03 at 2ef485c)
145
+ + submodule deinit: clarify work tree removal message
146
194
- There was no good way to ask "I have a random string that came from
195
- outside world. I want to turn it into a 40-hex object name while
196
- making sure such an object exists". A new peeling suffix ^{object}
197
- can be used for that purpose, together with "rev-parse --verify".
147
+ A finishing touch to the new topic in 1.8.3.
148
149
150
* jm/branch-rename-nothing-error (2013-03-31) 1 commit
@@ -204,7 +154,38 @@ of the repositories listed at
154
"git branch -m" without any argument noticed an error, but with an
155
incorrect error message.
156
207
- Will merge to 'master'.
157
+
158
+* js/iterm-is-on-osx (2013-03-29) 1 commit
159
+ (merged to 'next' on 2013-04-01 at 201fed2)
160
+ + git-web--browse: recognize any TERM_PROGRAM as a GUI terminal on OS X
161
+
162
+ Add more logic to detect graphic environment of OS X by simply
163
+ checking TERM_PROGRAM has some value, not Apple_Terminal, to detect
164
+ iTerm.app and any other.
165
+
166
+
167
+* js/log-gpg (2013-03-27) 1 commit
168
+ (merged to 'next' on 2013-03-29 at 9a1b2d3)
169
+ + log: read gpg settings for signed commit verification
170
+
171
+ Teach "show/log" honor gpg.program configuration just like other
172
+ parts of the code that use GnuPG.
173
+
174
+
175
+* mh/rev-parse-verify-doc (2013-04-02) 1 commit
176
+ (merged to 'next' on 2013-04-03 at a09c332)
177
+ + rev-parse: clarify documentation for the --verify option
178
+
179
+ "rev-parse --verify" was documented in a misleading way.
180
+
181
+
182
+* nd/checkout-paths-reduce-match-pathspec-calls (2013-03-27) 1 commit
183
+ (merged to 'next' on 2013-03-29 at fbcc004)
184
+ + checkout: avoid unnecessary match_pathspec calls
185
+
186
+ Consolidate repeated pathspec matches on the same paths, while
187
+ fixing a bug in "git checkout dir/" code started from an unmerged
188
+ index.
189
190
191
* rr/prompt-revert-head (2013-03-31) 1 commit
@@ -214,18 +195,59 @@ of the repositories listed at
195
The prompt string generator did not notice when we are in a middle
196
of a "git revert" session.
197
217
- Will merge to 'master'.
218
-
198
199
* rr/send-email-perl-critique (2013-03-31) 3 commits
221
- - send-email: use the three-arg form of open in recipients_cmd
222
- - send-email: drop misleading function prototype
223
- - send-email: use "return;" not "return undef;" on error codepaths
200
+ (merged to 'next' on 2013-04-03 at d552868)
201
+ + send-email: use the three-arg form of open in recipients_cmd
202
+ + send-email: drop misleading function prototype
203
+ + send-email: use "return;" not "return undef;" on error codepaths
204
205
Broken down from an earlier discussion to pick up reasonable bits
206
with explanation, to demonstrate how it should be done.
207
228
- Will merge to 'next'.
208
+
209
+* rs/submodule-summary-limit (2013-04-01) 1 commit
210
+ (merged to 'next' on 2013-04-01 at 3c18cfe)
211
+ + submodule summary: support --summary-limit=<n>
212
+
213
+ "submodule summary --summary-limit" option did not support
214
+ "--option=value" form.
215
+
216
+
217
+* sg/gpg-sig (2013-03-31) 5 commits
218
+ (merged to 'next' on 2013-04-03 at 9c13a17)
219
+ + pretty printing: extend %G? to include 'N' and 'U'
220
+ + merge/pull Check for untrusted good GPG signatures
221
+ + merge/pull: verify GPG signatures of commits being merged
222
+ + commit.c/GPG signature verification: Also look at the first GPG status line
223
+ + Move commit GPG signature verification to commit.c
224
+
225
+ Teach "merge/pull" to optionally verify and reject commits that are
226
+ not signed properly.
227
+
228
+
229
+* sw/safe-create-leading-dir-race (2013-03-26) 1 commit
230
+ (merged to 'next' on 2013-03-26 at 744bb50)
231
+ + safe_create_leading_directories: fix race that could give a false negative
232
+
233
+
234
+* tb/cygwin-shared-repository (2013-03-25) 1 commit
235
+ (merged to 'next' on 2013-03-29 at dbeb068)
236
+ + Make core.sharedRepository work under cygwin 1.7
237
+ (this branch is used by tb/shared-perm.)
238
+
239
+ Cygwin port has a faster-but-lying lstat(2) emulation whose
240
+ incorrectness does not matter in practice except for a few
241
+ codepaths, and setting permission bits to directories is a codepath
242
+ that needs to use a more correct one.
243
+
244
+
245
+* tr/log-tree-optim (2013-03-28) 1 commit
246
+ (merged to 'next' on 2013-03-29 at 5a6795d)
247
+ + Avoid loading commits twice in log with diffs
248
+
249
+ Optimize "log" that shows the difference between the parent and the
250
+ child.
251
252
253
* tr/valgrind (2013-04-01) 4 commits
@@ -237,293 +259,305 @@ of the repositories listed at
259
260
Let us use not just memgrind but other *grind debuggers.
261
262
+--------------------------------------------------
263
+[New Topics]
264
+
265
+* cn/commit-amend-doc (2013-04-05) 1 commit
266
+ (merged to 'next' on 2013-04-05 at 4c42e59)
267
+ + Documentation/git-commit: reword the --amend explanation
268
+ (this branch is used by jc/detached-head-doc.)
269
+
270
Will merge to 'master'.
271
272
243
-* mh/rev-parse-verify-doc (2013-04-01) 2 commits
244
- - SQUASH???
245
- - rev-parse: clarify documentation for the --verify option
246
- (this branch uses jc/sha1-name-object-peeler.)
273
+* fc/remote-helpers-test-updates (2013-04-04) 4 commits
274
+ (merged to 'next' on 2013-04-04 at 0612744)
275
+ + remote-hg: fix hg-git test-case
276
+ + remote-bzr: remove stale check code for tests
277
+ + remote-helpers: fix the run of all tests
278
+ + remote-bzr: avoid echo -n
279
+ (this branch is used by fc/transport-helper-waitpid.)
280
248
- "rev-parse --verify" was documented in a misleading way.
281
+ Will merge to 'master'.
282
283
251
-* rs/submodule-summary-limit (2013-04-01) 1 commit
252
- (merged to 'next' on 2013-04-01 at 3c18cfe)
253
- + submodule summary: support --summary-limit=<n>
284
+* fc/remote-hg (2013-04-04) 13 commits
285
+ - remote-hg: push to the appropriate branch
286
+ - remote-hg: update tags globally
287
+ - remote-hg: force remote push
288
+ - remote-hg: update remote bookmarks
289
+ - remote-hg: refactor export
290
+ - remote-hg: split bookmark handling
291
+ - remote-hg: redirect buggy mercurial output
292
+ - remote-hg: trivial test cleanups
293
+ - remote-hg: make sure fake bookmarks are updated
294
+ - remote-hg: fix for files with spaces
295
+ - remote-hg: properly report errors on bookmark pushes
296
+ - remote-hg: add missing config variable in doc
297
+ - remote-hg: trivial cleanups
298
+
299
+ The "forced push" may need to become optional behaviour.
300
+ Also the tip one was found faulty.
301
255
- "submodule summary --summary-limit" option did not support
256
- "--option=value" form.
302
+ Expecting a reroll.
303
258
- Will merge to 'master'.
304
305
+* fc/transport-helper-waitpid (2013-04-04) 2 commits
306
+ - transport-helper: check if remote helper is alive
307
+ - run-command: add new check_command helper
308
+ (this branch uses fc/remote-helpers-test-updates.)
309
261
-* tb/shared-perm (2013-04-01) 2 commits
262
- - path.c: optimize adjust_shared_perm()
263
- - optimize set_shared_perm() in path.c:
264
- (this branch uses tb/cygwin-shared-repository.)
310
+ Seems to be solving a real problem at a wrong level.
311
266
- Simplifies adjust_shared_perm() implementation.
312
313
+* jk/bisect-prn-unsigned (2013-04-03) 1 commit
314
+ (merged to 'next' on 2013-04-04 at 2c4df36)
315
+ + bisect: avoid signed integer overflow
316
269
-* nd/pretty-formats (2013-04-01) 12 commits
270
- - pretty: support %>> that steal trailing spaces
271
- - pretty: support truncating in %>, %< and %><
272
- - pretty: support padding placeholders, %< %> and %><
273
- - pretty: add %C(auto) for auto-coloring on the next placeholder
274
- - pretty: two phase conversion for non utf-8 commits
275
- - utf8: keep NULs in reencode_string()
276
- - pretty: get the correct encoding for --pretty:format=%e
277
- - pretty: save commit encoding from logmsg_reencode if the caller needs it
278
- - utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences
279
- - utf8.c: move display_mode_esc_sequence_len() for use by other functions
280
- - pretty: share code between format_decoration and show_decorations
281
- - pretty-formats.txt: wrap long lines
317
+ Will merge to 'master'.
318
283
- A mixed bag of a bugfix and two fun enhancements on pretty formats
284
- placeholder.
319
320
+* jk/diffcore-break-divzero (2013-04-03) 1 commit
321
+ (merged to 'next' on 2013-04-04 at b7632e0)
322
+ + diffcore-break: don't divide by zero
323
287
-* jl/submodule-deinit (2013-04-01) 1 commit
288
- - submodule deinit: clarify work tree removal message
324
+ Will merge to 'master'.
325
290
- A finishing touch to the new topic in 1.8.3.
326
292
- Will merge to 'next'.
327
+* jk/filter-branch-come-back-to-original (2013-04-02) 1 commit
328
+ (merged to 'next' on 2013-04-04 at 621684a)
329
+ + filter-branch: return to original dir after filtering
330
294
---------------------------------------------------
295
-[Stalled]
331
+ Will merge to 'master'.
332
297
-* jc/format-patch (2013-02-21) 2 commits
298
- - format-patch: --inline-single
299
- - format-patch: rename "no_inline" field
333
301
- A new option to send a single patch to the standard output to be
302
- appended at the bottom of a message. I personally have no need for
303
- this, but it was easy enough to cobble together. Tests, docs and
304
- stripping out more MIMEy stuff are left as exercises to interested
305
- parties.
334
+* jk/set-upstream-error-cases (2013-04-02) 5 commits
335
+ (merged to 'next' on 2013-04-04 at b58c26b)
336
+ + branch: give advice when tracking start-point is missing
337
+ + branch: mention start_name in set-upstream error messages
338
+ + branch: improve error message for missing --set-upstream-to ref
339
+ + branch: factor out "upstream is not a branch" error messages
340
+ + t3200: test --set-upstream-to with bogus refs
341
307
- Not ready for inclusion.
342
+ Will merge to 'master'.
343
309
---------------------------------------------------
310
-[Cooking]
344
312
-* js/log-gpg (2013-03-27) 1 commit
313
- (merged to 'next' on 2013-03-29 at 9a1b2d3)
314
- + log: read gpg settings for signed commit verification
345
+* js/rerere-forget-protect-against-NUL (2013-04-04) 2 commits
346
+ (merged to 'next' on 2013-04-05 at 426d4e2)
347
+ + rerere forget: do not segfault if not all stages are present
348
+ + rerere forget: grok files containing NUL
349
316
- Teach "show/log" honor gpg.program configuration just like other
317
- parts of the code that use GnuPG.
350
+ A few bugfixes to "git rerere" working on corner case merge
351
+ conflicts.
352
353
Will merge to 'master'.
354
355
322
-* jc/t5516-pushInsteadOf-vs-pushURL (2013-03-28) 1 commit
323
- (merged to 'next' on 2013-04-01 at bed2879)
324
- + t5516: test interaction between pushURL and pushInsteadOf correctly
356
+* mc/count-objects-kibibytes (2013-04-03) 1 commit
357
+ (merged to 'next' on 2013-04-05 at f4e50e8)
358
+ + count-objects: output "KiB" instead of "kilobytes"
359
326
- Update a test to match the documented interaction between pushURL
327
- and pushInsteadOf.
360
+ The command reports the total diskspace used to store loose objects
361
+ in kibibytes, but it was labelled as "kilobytes". The number now
362
+ is shown with "KiB", e.g. "6750 objects, 50928 KiB".
363
364
+ If you have scripts that decide when to run "git repack" by parsing
365
+ the output from "git count-objects", this release may break them.
366
+ Sorry about that. One of the scripts shipped by git-core itself
367
+ also had to be adjusted. You may want to consider updating such
368
+ scripts to always call "git gc --auto" to let it decide when to
369
+ repack for you.
370
330
-* jk/merge-tree-added-identically (2013-03-27) 1 commit
331
- - merge-tree: fix "same file added in subdir"
371
+ Will merge to 'master'.
372
333
- We would most likely want to change things the other way around.
373
374
+* mm/status-during-revert (2013-04-02) 2 commits
375
+ (merged to 'next' on 2013-04-04 at 1282528)
376
+ + status: show commit sha1 in "You are currently reverting" message
377
+ + status: show 'revert' state and status hint
378
336
-* rr/triangle (2013-03-28) 6 commits
337
- - remote.c: introduce branch.<name>.pushremote
338
- - remote.c: introduce remote.pushdefault
339
- - remote.c: introduce a way to have different remotes for fetch/push
340
- - t5516 (fetch-push): drop implicit arguments from helper functions
341
- - t5516 (fetch-push): update test description
342
- - remote.c: simplify a bit of code using git_config_string()
379
+ Will merge to 'master'.
380
344
- Support "pull from one place, push to another place" workflow
345
- better by introducing remote.pushdefault (overrides the "origin"
346
- thing) and branch.*.pushremote (overrides the branch.*.remote).
381
348
- Expecting a reroll.
382
+* po/help-guides (2013-04-03) 5 commits
383
+ (merged to 'next' on 2013-04-04 at 3d99b28)
384
+ + doc: include --guide option description for "git help"
385
+ + help: mention -a and -g option, and 'git help <concept>' usage.
386
+ + builtin/help.c: add list_common_guides_help() function
387
+ + builtin/help.c: add --guide option
388
+ + builtin/help.c: split "-a" processing into two
389
390
+ "git help" learned "-g" option to show the list of guides just like
391
+ list of commands are given with "-a".
392
351
-* sg/gpg-sig (2013-03-31) 5 commits
352
- - pretty printing: extend %G? to include 'N' and 'U'
353
- - merge/pull Check for untrusted good GPG signatures
354
- - merge/pull: verify GPG signatures of commits being merged
355
- - commit.c/GPG signature verification: Also look at the first GPG status line
356
- - Move commit GPG signature verification to commit.c
393
+ Will merge to 'master'.
394
358
- Teach "merge/pull" to optionally verify and reject commits that are
359
- not signed properly.
395
396
+* jk/http-dumb-namespaces (2013-04-04) 1 commit
397
+ - http-backend: respect GIT_NAMESPACE with dumb clients
398
362
-* tr/log-tree-optim (2013-03-28) 1 commit
363
- (merged to 'next' on 2013-03-29 at 5a6795d)
364
- + Avoid loading commits twice in log with diffs
399
+ Allow smart-capable HTTP servers to be restricted via the
400
+ GIT_NAMESPACE mechanism when talking with commit-walker clients
401
+ (they already do so when talking with smart HTTP clients).
402
366
- Optimize "log" that shows the difference between the parent and the
367
- child.
403
+
404
+* jk/rm-removed-paths (2013-04-04) 3 commits
405
+ (merged to 'next' on 2013-04-05 at ce9a926)
406
+ + t3600: document failure of rm across symbolic links
407
+ + t3600: test behavior of reverse-d/f conflict
408
+ + rm: do not complain about d/f conflicts during deletion
409
+
410
+ A handful of test cases and a corner case bugfix for "git rm".
411
412
Will merge to 'master'.
413
414
372
-* jk/config-with-empty-section (2013-03-29) 1 commit
373
- (merged to 'next' on 2013-04-01 at 7972aa9)
374
- + t1300: document some aesthetic failures of the config editor
415
+* jl/submodule-mv (2013-04-03) 3 commits
416
+ - Teach mv to update the path entry in .gitmodules for moved submodules
417
+ - Teach mv to move submodules using a gitfile
418
+ - Teach mv to move submodules together with their work trees
419
376
- Document that "git config --unset" does not remove an empty section
377
- head after removing the last variable in a section, and adding a
378
- new variable does not try to reuse a leftover empty section head.
420
+ "git mv A B" when moving a submodule A does "the right thing",
421
+ inclusing relocating its working tree and adjusting the paths in
422
+ the .gitmodules file.
423
380
- Will merge to 'master'.
424
+ Seems to break tests in 'pu' but it may be a mismerge with
425
+ nd/magic-pathspecs topic.
426
427
383
-* jk/difftool-no-overwrite-on-copyback (2013-03-29) 5 commits
384
- (merged to 'next' on 2013-03-29 at 9f42d34)
385
- + t7800: run --dir-diff tests with and without symlinks
386
- + t7800: fix tests when difftool uses --no-symlinks
387
- + t7800: don't hide grep output
388
- + difftool: don't overwrite modified files
389
- + t7800: move '--symlinks' specific test to the end
428
+* mg/texinfo-5 (2013-04-03) 1 commit
429
+ (merged to 'next' on 2013-04-04 at bd84440)
430
+ + Documentation: Strip texinfo anchors to avoid duplicates
431
391
- Try to be careful when difftool backend allows the user to write
392
- into the temporary files being shown *and* the user makes changes
393
- to the working tree at the same time. One of the changes has to be
394
- lost in such a case, but at least tell the user what he did.
432
+ Strip @anchor elements in the texinfo output of the documentation,
433
+ as a single document created by concatenating our entire manual set
434
+ will produce many duplicates that makes newer texinfo unhappy.
435
436
Will merge to 'master'.
437
438
399
-* jc/apply-ws-fix-tab-in-indent (2013-03-29) 2 commits
400
- (merged to 'next' on 2013-03-29 at 26eb6e9)
401
- + test: resurrect q_to_tab
402
- (merged to 'next' on 2013-03-26 at 46c6bda)
403
- + apply --whitespace=fix: avoid running over the postimage buffer
439
+* sr/log-SG-no-textconv (2013-04-05) 6 commits
440
+ (merged to 'next' on 2013-04-05 at 7f06945)
441
+ + diffcore-pickaxe: unify code for log -S/-G
442
+ + diffcore-pickaxe: fix leaks in "log -S<block>" and "log -G<pattern>"
443
+ + diffcore-pickaxe: port optimization from has_changes() to diff_grep()
444
+ + diffcore-pickaxe: respect --no-textconv
445
+ + diffcore-pickaxe: remove fill_one()
446
+ + diffcore-pickaxe: remove unnecessary call to get_textconv()
447
405
- "git apply --whitespace=fix" was not prepared to see a line getting
406
- longer after fixing whitespaces (e.g. tab-in-indent aka Python).
448
+ "git log -S/-G" started paying attention to textconv filter, but
449
+ there was no way to disable this. Make it honor --no-textconv
450
+ option.
451
452
Will merge to 'master'.
453
454
411
-* jk/no-more-self-assignment (2013-03-25) 2 commits
412
- (merged to 'next' on 2013-03-26 at 31ec9ac)
413
- + match-trees: simplify score_trees() using tree_entry()
414
- + submodule: clarify logic in show_submodule_summary
455
+* tr/perl-keep-stderr-open (2013-04-04) 2 commits
456
+ - t9700: do not close STDERR
457
+ - perl: redirect stderr to /dev/null instead of closing
458
416
- This started as a topic to reduce "type var = var" self assignment
417
- tricks that were used to squelch "variable used uninitialized perhaps?"
418
- warning from some compilers, but resulted in rewriting logic with
419
- a version that is simpler and easier to understand for humans.
420
-
421
- Will merge to 'master'.
459
+ Closing (not redirecting to /dev/null) the standard error stream is
460
+ not a very smart thing to do. Later open may return file
461
+ descriptor #2 for unrelated purpose, and error reporting code may
462
+ write into them.
463
464
+ Will merge to 'next'.
465
424
-* ap/combine-diff-coalesce-lost (2013-03-25) 1 commit
425
- (merged to 'next' on 2013-03-29 at f6a05ca)
426
- + combine-diff: coalesce lost lines optimally
466
428
- Attempts to minimize "diff -c/--cc" output by coalescing the same
429
- lines removed from the parents better, but with an O(n^2)
430
- complexity.
467
+* jc/detached-head-doc (2013-04-05) 1 commit
468
+ - glossary: extend "detached HEAD" description
469
+ (this branch uses cn/commit-amend-doc.)
470
432
- Will cook in 'next' to see if people with real-world usage scream.
471
472
+* jk/diff-algo-finishing-touches (2013-04-05) 2 commits
473
+ - diff: allow unstuck arguments with --diff-algorithm
474
+ - git-merge(1): document diff-algorithm option to merge-recursive
475
435
-* bk/document-commit-tree-S (2013-03-25) 1 commit
436
- (merged to 'next' on 2013-03-26 at 8ee205f)
437
- + commit-tree: document -S option consistently
476
439
- Will merge to 'master'.
477
+* jk/diff-graph-submodule-summary (2013-04-05) 1 commit
478
+ - submodule: print graph output next to submodule log
479
480
+--------------------------------------------------
481
+[Stalled]
482
442
-* jk/check-corrupt-objects-carefully (2013-03-29) 10 commits
443
- (merged to 'next' on 2013-03-29 at b6a04a7)
444
- + clone: leave repo in place after checkout errors
445
- + clone: run check_everything_connected
446
- + clone: die on errors from unpack_trees
447
- + add tests for cloning corrupted repositories
448
- + streaming_write_entry: propagate streaming errors
449
- + add test for streaming corrupt blobs
450
- + avoid infinite loop in read_istream_loose
451
- + read_istream_filtered: propagate read error from upstream
452
- + check_sha1_signature: check return value from read_istream
453
- + stream_blob_to_fd: detect errors reading from stream
483
+* jc/format-patch (2013-02-21) 2 commits
484
+ - format-patch: --inline-single
485
+ - format-patch: rename "no_inline" field
486
455
- Have the streaming interface and other codepaths more carefully
456
- examine for corrupt objects.
487
+ A new option to send a single patch to the standard output to be
488
+ appended at the bottom of a message. I personally have no need for
489
+ this, but it was easy enough to cobble together. Tests, docs and
490
+ stripping out more MIMEy stuff are left as exercises to interested
491
+ parties.
492
458
- Will merge to 'master'.
493
+ Not ready for inclusion.
494
495
+--------------------------------------------------
496
+[Cooking]
497
461
-* js/iterm-is-on-osx (2013-03-29) 1 commit
462
- (merged to 'next' on 2013-04-01 at 201fed2)
463
- + git-web--browse: recognize any TERM_PROGRAM as a GUI terminal on OS X
498
+* tb/shared-perm (2013-04-05) 2 commits
499
+ (merged to 'next' on 2013-04-05 at 2481155)
500
+ + path.c: optimize adjust_shared_perm()
501
+ + path.c: simplify adjust_shared_perm()
502
465
- Add more logic to detect graphic environment of OS X by simply
466
- checking TERM_PROGRAM has some value, not Apple_Terminal, to detect
467
- iTerm.app and any other.
503
+ Simplifies adjust_shared_perm() implementation.
504
505
Will merge to 'master'.
506
507
472
-* tb/cygwin-shared-repository (2013-03-25) 1 commit
473
- (merged to 'next' on 2013-03-29 at dbeb068)
474
- + Make core.sharedRepository work under cygwin 1.7
475
- (this branch is used by tb/shared-perm.)
508
+* nd/pretty-formats (2013-04-01) 12 commits
509
+ - pretty: support %>> that steal trailing spaces
510
+ - pretty: support truncating in %>, %< and %><
511
+ - pretty: support padding placeholders, %< %> and %><
512
+ - pretty: add %C(auto) for auto-coloring on the next placeholder
513
+ - pretty: two phase conversion for non utf-8 commits
514
+ - utf8: keep NULs in reencode_string()
515
+ - pretty: get the correct encoding for --pretty:format=%e
516
+ - pretty: save commit encoding from logmsg_reencode if the caller needs it
517
+ - utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences
518
+ - utf8.c: move display_mode_esc_sequence_len() for use by other functions
519
+ - pretty: share code between format_decoration and show_decorations
520
+ - pretty-formats.txt: wrap long lines
521
477
- Cygwin port has a faster-but-lying lstat(2) emulation whose
478
- incorrectness does not matter in practice except for a few
479
- codepaths, and setting permission bits to directories is a codepath
480
- that needs to use a more correct one.
522
+ A mixed bag of a bugfix and two fun enhancements on pretty formats
523
+ placeholder.
524
482
- Will merge to 'master'.
525
+ Expecting a reroll.
526
527
485
-* jc/directory-attrs-regression-fix (2013-03-28) 6 commits
486
- (merged to 'next' on 2013-03-29 at a3dce2b)
487
- + t: check that a pattern without trailing slash matches a directory
488
- + dir.c::match_pathname(): pay attention to the length of string parameters
489
- + dir.c::match_pathname(): adjust patternlen when shifting pattern
490
- + dir.c::match_basename(): pay attention to the length of string parameters
491
- + attr.c::path_matches(): special case paths that end with a slash
492
- + attr.c::path_matches(): the basename is part of the pathname
528
+* jk/merge-tree-added-identically (2013-03-27) 1 commit
529
+ - merge-tree: fix "same file added in subdir"
530
494
- Fix 1.8.1.x regression that stopped matching "dir" (without
495
- trailing slash) to a directory "dir".
531
+ We would most likely want to change things the other way around.
532
497
- Will merge to 'master'.
533
+ Expecting a reroll.
534
535
500
-* nd/checkout-paths-reduce-match-pathspec-calls (2013-03-27) 1 commit
501
- (merged to 'next' on 2013-03-29 at fbcc004)
502
- + checkout: avoid unnecessary match_pathspec calls
536
+* rr/triangle (2013-04-02) 6 commits
537
+ (merged to 'next' on 2013-04-04 at 2d2c8ee)
538
+ + remote.c: introduce branch.<name>.pushremote
539
+ + remote.c: introduce remote.pushdefault
540
+ + remote.c: introduce a way to have different remotes for fetch/push
541
+ + t5516 (fetch-push): drop implicit arguments from helper functions
542
+ + t5516 (fetch-push): update test description
543
+ + remote.c: simplify a bit of code using git_config_string()
544
504
- Consolidate repeated pathspec matches on the same paths, while
505
- fixing a bug in "git checkout dir/" code started from an unmerged
506
- index.
545
+ Support "pull from one place, push to another place" workflow
546
+ better by introducing remote.pushdefault (overrides the "origin"
547
+ thing) and branch.*.pushremote (overrides the branch.*.remote).
548
549
Will merge to 'master'.
550
551
511
-* jc/merge-tag-object (2013-04-01) 3 commits
512
- - t6200: test message for merging of an annotated tag
513
- - t6200: use test_config/test_unconfig
514
- (merged to 'next' on 2013-03-29 at aeec39c)
515
- + merge: a random object may not necssarily be a commit
516
-
517
- "git merge $(git rev-parse v1.8.2)" behaved quite differently from
518
- "git merge v1.8.2" as if v1.8.2 were written as v1.8.2^0 and did
519
- not pay much attention to the annotated tag payload.
552
+* ap/combine-diff-coalesce-lost (2013-03-25) 1 commit
553
+ (merged to 'next' on 2013-03-29 at f6a05ca)
554
+ + combine-diff: coalesce lost lines optimally
555
521
- This makes the code notice the type of the tag object, in addition
522
- to the dwim_ref() based classification the current code uses
523
- (i.e. the name appears in refs/tags/) to decide when to special
524
- case merging of tags.
556
+ Attempts to minimize "diff -c/--cc" output by coalescing the same
557
+ lines removed from the parents better, but with an O(n^2)
558
+ complexity.
559
526
- Will merge to 'next'.
560
+ Will cook in 'next' to see if people with real-world usage scream.
561
562
563
* kb/status-ignored-optim (2013-03-19) 8 commits
@@ -549,19 +583,23 @@ of the repositories listed at
583
very much appreciated.
584
585
552
-* jn/add-2.0-u-A-sans-pathspec (2013-04-01) 5 commits
586
+* jn/add-2.0-u-A-sans-pathspec (2013-04-03) 6 commits
587
- git add: -u/-A now affects the entire working tree
554
- - add -A: only show pathless 'add -A' warning when changes exist outside cwd
555
- - add -u: only show pathless 'add -u' warning when changes exist outside cwd
556
- - add: make warn_pathless_add() a no-op after first call
557
- - add: make pathless 'add [-u|-A]' warning a file-global function
558
-
559
- Replaces jc/add-2.0-u-A-sans-pathspec topic by not warning against
560
- "add -u/-A" that is ran without pathspec when there is no change
561
- outside the current directory.
588
+ (merged to 'next' on 2013-04-05 at eae93ef)
589
+ + add -A: only show pathless 'add -A' warning when changes exist outside cwd
590
+ + add -u: only show pathless 'add -u' warning when changes exist outside cwd
591
+ + add: make warn_pathless_add() a no-op after first call
592
+ + add: add a blank line at the end of pathless 'add [-u|-A]' warning
593
+ + add: make pathless 'add [-u|-A]' warning a file-global function
594
+
595
+ "git add -u/-A" without any pathspec traditionally limited its
596
+ operation to the current directory when run from a subdirectory,
597
+ but in Git 2.0, they will affect the entire working tree. Start
598
+ training users to explicitly say "." or ":/" to smooth out the
599
+ transition hump with the earlier parts of this series, and flip the
600
+ default as the final step.
601
563
- Expecting a reroll and then merge the bottom bits to 'next'.
564
- $gmane/219342
602
+ Will cook in 'next' until Git 2.0.
603
604
605
* tr/packed-object-info-wo-recursion (2013-03-27) 3 commits
@@ -628,30 +666,33 @@ of the repositories listed at
666
Will merge to 'next' after all the dust settles.
667
668
631
-* sw/safe-create-leading-dir-race (2013-03-26) 1 commit
632
- (merged to 'next' on 2013-03-26 at 744bb50)
633
- + safe_create_leading_directories: fix race that could give a false negative
634
-
635
- Will merge to 'master'.
636
-
637
-
669
* jc/add-2.0-delete-default (2013-03-08) 3 commits
670
- git add <pathspec>... defaults to "-A"
640
- - git add: start preparing for "git add <pathspec>..." to default to "-A"
641
- - builtin/add.c: simplify boolean variables
671
+ (merged to 'next' on 2013-04-05 at 199442e)
672
+ + git add: start preparing for "git add <pathspec>..." to default to "-A"
673
+ + builtin/add.c: simplify boolean variables
674
+
675
+ In Git 2.0, "git add pathspec" will mean "git add -A pathspec". If
676
+ you did this in a working tree that tracks dir/lost and dir/another:
677
+
678
+ $ rm dir/lost
679
+ $ edit dir/another
680
+ $ git add dir
681
643
- "git add dir/" updated modified files and added new files, but does
644
- not notice removed files, which may be "Huh?" to some users. They
645
- can of course use "git add -A dir/", but why should they?
682
+ The last step will not only notices and records updated
683
+ dir/another, but also notices and records the removal of dir/lost
684
+ in the index.
685
647
- There seemed to be some interest in this topic, so resurrected and
648
- rebased on top of recent documentation updates to propose a
649
- possible transition plan.
686
+ Start training the users for this change to say --no-all when they
687
+ want to ignore the removal to smooth the transition hump.
688
689
Will cook in 'next' until Git 2.0.
690
691
654
-* tr/line-log (2013-03-28) 5 commits
692
+* tr/line-log (2013-04-05) 7 commits
693
+ (merged to 'next' on 2013-04-05 at 5afb00c)
694
+ + log -L: fix overlapping input ranges
695
+ + log -L: check range set invariants when we look it up
696
(merged to 'next' on 2013-04-01 at 5be920c)
697
+ Speed up log -L... -M
698
+ log -L: :pattern:file syntax to find by funcname
@@ -659,25 +700,28 @@ of the repositories listed at
700
+ Export rewrite_parents() for 'log -L'
701
+ Refactor parse_loc
702
662
- Will merge down to 'master' with warts and all, hoping they get
663
- fixed eventually in-tree.
703
+ Will merge down to 'master'
704
+ with warts and all, hoping they get fixed eventually in-tree.
705
706
666
-* jc/push-2.0-default-to-simple (2013-03-18) 15 commits
667
- - advice: Remove unused advice_push_non_ff_default
668
- - t5570: do not assume the "matching" push is the default
669
- - t5551: do not assume the "matching" push is the default
670
- - t5550: do not assume the "matching" push is the default
671
- - doc: push.default is no longer "matching"
707
+* jc/push-2.0-default-to-simple (2013-04-03) 13 commits
708
- push: switch default from "matching" to "simple"
673
- - t9401: do not assume the "matching" push is the default
674
- - t9400: do not assume the "matching" push is the default
675
- - t7406: do not assume the "matching" push is the default
676
- - t5531: do not assume the "matching" push is the default
677
- - t5519: do not assume the "matching" push is the default
678
- - t5517: do not assume the "matching" push is the default
679
- - t5516: do not assume the "matching" push is the default
680
- - t5505: do not assume the "matching" push is the default
681
- - t5404: do not assume the "matching" push is the default
709
+ (merged to 'next' on 2013-04-05 at 1b42c19)
710
+ + t5570: do not assume the "matching" push is the default
711
+ + t5551: do not assume the "matching" push is the default
712
+ + t5550: do not assume the "matching" push is the default
713
+ + t9401: do not assume the "matching" push is the default
714
+ + t9400: do not assume the "matching" push is the default
715
+ + t7406: do not assume the "matching" push is the default
716
+ + t5531: do not assume the "matching" push is the default
717
+ + t5519: do not assume the "matching" push is the default
718
+ + t5517: do not assume the "matching" push is the default
719
+ + t5516: do not assume the "matching" push is the default
720
+ + t5505: do not assume the "matching" push is the default
721
+ + t5404: do not assume the "matching" push is the default
722
+
723
+ Update the test suite that still assumed the push.default will
724
+ forever be 'matching'. In Git 2.0, that will no longer be the
725
+ case.
726
727
Will cook in 'next' until Git 2.0.