What's cooking (2015/02 #04)
Junio C Hamano committed
Feb 17, 2015 at 14:51 UTC
6221c0f00fe64a0ded6585acd419dc0ba412a78a
1 file changed
+419
-379
whats-cooking.txt
+419
-379
@@ -1,19 +1,19 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Feb 2015, #03; Wed, 11)
4
-X-master-at: 18d0fec24027ac226dc2c4df2b955eef2a16462a
5
-X-next-at: f4dfab7ad497860623d9e20dfd5586a410cf6ec6
3
+Subject: What's cooking in git.git (Feb 2015, #04; Tue, 17)
4
+X-master-at: 3188ab3af60df6ace996d3985e8f1ca1ed3cbda5
5
+X-next-at: 7185a7e9c0f380b366991f3563e613dcf68b776f
6
7
-What's cooking in git.git (Feb 2015, #03; Wed, 11)
7
+What's cooking in git.git (Feb 2015, #04; Tue, 17)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
11
'-' are only in 'pu' (proposed updates) while commits prefixed with
12
'+' are in 'next'.
13
14
-Git 2.3 is out, and the first batch of topics that have been cooking
15
-in the 'next' branch are now in the 'master' branch. The 'next'
16
-branch will be rewound shortly but not yet.
14
+The second batch of topics have been merged to 'master'. I am
15
+tempted to start discarding topics in the Stalled category that
16
+haven't seen much reviews and discussions on for a long time.
17
18
You can find the changes described here in the integration branches
19
of the repositories listed at
@@ -23,257 +23,303 @@ of the repositories listed at
23
--------------------------------------------------
24
[Graduated to "master"]
25
26
-* ah/usage-strings (2015-01-14) 1 commit
27
- (merged to 'next' on 2015-01-22 at bfa5bab)
28
- + standardize usage info string format
26
+* ak/add-i-empty-candidates (2015-01-22) 1 commit
27
+ (merged to 'next' on 2015-02-12 at 0d3cc64)
28
+ + add -i: return from list_and_choose if there is no candidate
29
30
+ The interactive "show a list and let the user choose from it"
31
+ interface "add -i" used showed and prompted to the user even when
32
+ the candidate list was empty, against which the only "choice" the
33
+ user could have made was to choose nothing.
34
31
-* ak/typofixes (2015-01-21) 2 commits
32
- (merged to 'next' on 2015-01-22 at e36f25a)
33
- + t/lib-terminal.sh: fix typo
34
- + pack-bitmap: fix typo
35
36
+* jc/apply-ws-fix-expands (2015-01-22) 3 commits
37
+ (merged to 'next' on 2015-02-12 at 9a45b66)
38
+ + apply: count the size of postimage correctly
39
+ + apply: make update_pre_post_images() sanity check the given postlen
40
+ + apply.c: typofix
41
+ (this branch is used by jc/apply-ws-fix-expands-report.)
42
37
-* bc/http-fallback-to-password-after-krb-fails (2015-01-07) 1 commit
38
- (merged to 'next' on 2015-01-12 at 4c67038)
39
- + remote-curl: fall back to Basic auth if Negotiate fails
43
+ "git apply --whitespace=fix" used to under-allocate the memory
44
+ when the fix resulted in a longer text than the original patch.
45
41
- After attempting and failing a password-less authentication
42
- (e.g. kerberos), libcURL refuses to fall back to password based
43
- Basic authentication without a bit of help/encouragement.
46
47
+* jc/diff-format-doc (2015-01-28) 1 commit
48
+ (merged to 'next' on 2015-02-12 at 72a018a)
49
+ + diff-format doc: a score can follow M for rewrite
50
46
-* cj/log-invert-grep (2015-01-13) 1 commit
47
- (merged to 'next' on 2015-01-13 at c908e99)
48
- + log: teach --invert-grep option
51
+ The documentation incorrectly said that C(opy) and R(ename) are the
52
+ only ones that can be followed by the score number in the output in
53
+ the --raw format.
54
55
51
-* dk/format-patch-ignore-diff-submodule (2015-01-07) 2 commits
52
- (merged to 'next' on 2015-01-12 at 6b4605b)
53
- + format-patch: ignore diff.submodule setting
54
- + t4255: test am submodule with diff.submodule
56
+* jc/doc-log-rev-list-options (2015-01-23) 1 commit
57
+ (merged to 'next' on 2015-02-12 at 614331f)
58
+ + Documentation: what does "git log --indexed-objects" even mean?
59
56
- Setting diff.submodule to 'log' made "git format-patch" produce
57
- broken patches.
60
+ "git log --help" used to show rev-list options that are irrelevant
61
+ to the "log" command.
62
63
60
-* jc/coding-guidelines (2015-01-15) 1 commit
61
- (merged to 'next' on 2015-01-22 at 3c96639)
62
- + CodingGuidelines: clarify C #include rules
64
+* jc/t4122-use-test-write-lines (2015-01-28) 1 commit
65
+ (merged to 'next' on 2015-02-12 at 3ceaae3)
66
+ + t4122: use test_write_lines from test-lib-functions
67
68
65
-* jc/pretty-format-doc (2015-01-15) 1 commit
66
- (merged to 'next' on 2015-01-22 at 2a81ecc)
67
- + "log --pretty" documentation: do not forget "tformat:"
69
+* jk/dumb-http-idx-fetch-fix (2015-01-27) 1 commit
70
+ (merged to 'next' on 2015-02-12 at 6338345)
71
+ + dumb-http: do not pass NULL path to parse_pack_index
72
73
+ A broken pack .idx file in the receiving repository prevented the
74
+ dumb http transport from fetching a good copy of it from the other
75
+ side.
76
70
-* jc/push-to-checkout (2015-01-08) 2 commits
71
- (merged to 'next' on 2015-01-12 at e64df63)
72
- + receive-pack: support push-to-checkout hook
73
- + receive-pack: refactor updateInstead codepath
77
75
- Extending the js/push-to-deploy topic, the behaviour of "git push"
76
- when updating the working tree and the index with an update to the
77
- branch that is checked out can be tweaked by push-to-checkout hook.
78
+* jk/remote-curl-an-array-in-struct-cannot-be-null (2015-01-28) 1 commit
79
+ (merged to 'next' on 2015-02-12 at 669040d)
80
+ + do not check truth value of flex arrays
81
82
+ Fix a misspelled conditional that is always true.
83
80
-* jc/unused-symbols (2015-01-15) 8 commits
81
- (merged to 'next' on 2015-01-22 at 77fd5f0)
82
- + shallow.c: make check_shallow_file_for_update() static
83
- + remote.c: make clear_cas_option() static
84
- + urlmatch.c: make match_urls() static
85
- + revision.c: make save_parents() and free_saved_parents() static
86
- + line-log.c: make line_log_data_init() static
87
- + pack-bitmap.c: make pack_bitmap_filename() static
88
- + prompt.c: remove git_getpass() nobody uses
89
- + http.c: make finish_active_slot() and handle_curl_result() static
84
91
- Mark file-local symbols as "static", and drop functions that nobody
92
- uses.
85
+* jk/status-read-branch-name-fix (2015-01-28) 1 commit
86
+ (merged to 'next' on 2015-02-12 at 1af96a9)
87
+ + read_and_strip_branch: fix typo'd address-of operator
88
89
+ Code to read branch name from various files in .git/ directory
90
+ would have misbehaved if the code to write them left an empty file.
91
95
-* jk/blame-commit-label (2015-01-13) 5 commits
96
- (merged to 'next' on 2015-01-15 at 1b32e21)
97
- + blame.c: fix garbled error message
98
- + use xstrdup_or_null to replace ternary conditionals
99
- + builtin/commit.c: use xstrdup_or_null instead of envdup
100
- + builtin/apply.c: use xstrdup_or_null instead of null_strdup
101
- + git-compat-util: add xstrdup_or_null helper
92
93
+* ks/rebase-i-abbrev (2015-01-22) 1 commit
94
+ (merged to 'next' on 2015-02-12 at 35c3739)
95
+ + rebase -i: use full object name internally throughout the script
96
104
-* jn/rerere-fail-on-auto-update-failure (2015-01-08) 1 commit
105
- (merged to 'next' on 2015-01-12 at 313c449)
106
- + rerere: error out on autoupdate failure
97
+ The insn sheet "git rebase -i" creates did not fully honor
98
+ core.abbrev settings.
99
108
- "git rerere" (invoked internally from many mergy operations) did
109
- not correctly signal errors when told to update the working tree
110
- files and failed to do so for whatever reason.
100
101
+* mg/commit-author-no-match-malformed-message (2015-01-26) 1 commit
102
+ (merged to 'next' on 2015-02-12 at 200cd9c)
103
+ + commit: reword --author error message
104
113
-* km/gettext-n (2015-01-12) 1 commit
114
- (merged to 'next' on 2015-01-12 at 0cbbf4a)
115
- + gettext.h: add parentheses around N_ expansion if supported
105
+ The error message from "git commit", when a non-existing author
106
+ name was given as value to the "--author=" parameter, has been
107
+ reworded to avoid misunderstanding.
108
109
118
-* ld/p4-exclude-in-sync (2015-01-28) 1 commit
119
- (merged to 'next' on 2015-02-05 at ab410a1)
120
- + git-p4: support excluding paths on sync
110
+* mg/push-repo-option-doc (2015-01-28) 1 commit
111
+ (merged to 'next' on 2015-02-12 at 021ec32)
112
+ + git-push.txt: document the behavior of --repo
113
114
+ The "git push" documentation made the "--repo=<there>" option
115
+ easily misunderstood.
116
123
-* ld/p4-submit-hint (2015-01-23) 1 commit
124
- (merged to 'next' on 2015-01-23 at ed972d3)
125
- + git-p4: correct --prepare-p4-only instructions
117
118
+* mh/deref-symref-over-helper-transport (2015-01-21) 1 commit
119
+ (merged to 'next' on 2015-02-12 at de36191)
120
+ + transport-helper: do not request symbolic refs to remote helpers
121
128
-* mh/reflog-expire (2014-12-22) 24 commits
129
- (merged to 'next' on 2015-01-12 at 12a7dff)
130
- + refs.c: let fprintf handle the formatting
131
- + refs.c: don't expose the internal struct ref_lock in the header file
132
- + lock_any_ref_for_update(): inline function
133
- + refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
134
- + reflog_expire(): new function in the reference API
135
- + expire_reflog(): treat the policy callback data as opaque
136
- + Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
137
- + expire_reflog(): move rewrite to flags argument
138
- + expire_reflog(): move verbose to flags argument
139
- + expire_reflog(): pass flags through to expire_reflog_ent()
140
- + struct expire_reflog_cb: a new callback data type
141
- + Rename expire_reflog_cb to expire_reflog_policy_cb
142
- + expire_reflog(): move updateref to flags argument
143
- + expire_reflog(): move dry_run to flags argument
144
- + expire_reflog(): add a "flags" argument
145
- + expire_reflog(): extract two policy-related functions
146
- + Extract function should_expire_reflog_ent()
147
- + expire_reflog(): use a lock_file for rewriting the reflog file
148
- + expire_reflog(): return early if the reference has no reflog
149
- + expire_reflog(): rename "ref" parameter to "refname"
150
- + expire_reflog(): it's not an each_ref_fn anymore
151
- + refs.c: add a function to append a reflog entry to a fd
152
- + refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
153
- + refs.c: make ref_transaction_create a wrapper for ref_transaction_update
154
- (this branch is used by sb/atomic-push and sb/atomic-push-fix.)
155
-
156
- Restructure "reflog expire" to fit the reflogs better with the
157
- recently updated ref API.
158
-
159
-
160
-* sb/atomic-push (2015-01-14) 11 commits
161
- (merged to 'next' on 2015-01-14 at 12c4e28)
162
- + Document receive.advertiseatomic
163
- (merged to 'next' on 2015-01-12 at 411c6a6)
164
- + t5543-atomic-push.sh: add basic tests for atomic pushes
165
- + push.c: add an --atomic argument
166
- + send-pack.c: add --atomic command line argument
167
- + send-pack: rename ref_update_to_be_sent to check_to_send_update
168
- + receive-pack.c: negotiate atomic push support
169
- + receive-pack.c: add execute_commands_atomic function
170
- + receive-pack.c: move transaction handling in a central place
171
- + receive-pack.c: move iterating over all commands outside execute_commands
172
- + receive-pack.c: die instead of error in case of possible future bug
173
- + receive-pack.c: shorten the execute_commands loop over all commands
174
- (this branch is used by sb/atomic-push-fix; uses mh/reflog-expire.)
175
-
176
- "git push" has been taught a "--atomic" option that makes push to
177
- update more than one ref an "all-or-none" affair.
122
+ "git fetch" over a remote-helper that cannot respond to "list"
123
+ command could not fetch from a symbolic reference e.g. HEAD.
124
125
--------------------------------------------------
126
[New Topics]
127
182
-* ab/merge-file-prefix (2015-02-11) 1 commit
183
- - merge-file: correctly open files when in a subdir
128
+* jc/push-cert (2015-02-12) 1 commit
129
+ (merged to 'next' on 2015-02-16 at f40b3c5)
130
+ + transport-helper: fix typo in error message when --signed is not supported
131
+
132
+ "git push --signed" gave an incorrectly worded error message when
133
+ the other side did not support the capability.
134
+
135
+ Will merge to 'master'.
136
185
- "git merge-file" did not work correctly in a subdirectory.
137
+
138
+* dp/remove-duplicated-header-inclusion (2015-02-13) 1 commit
139
+ - do not include the same header twice
140
+
141
+ Code clean-up.
142
143
Will merge to 'next'.
144
145
190
-* es/blame-commit-info-fix (2015-02-10) 1 commit
191
- - builtin/blame: destroy initialized commit_info only
146
+* jc/diff-test-updates (2015-02-15) 6 commits
147
+ - t4008: modernise style
148
+ - t/diff-lib: check exact object names in compare_diff_raw
149
+ - tests: do not borrow from COPYING and README from the real source
150
+ - t4010: correct expected object names
151
+ - t9300: correct expected object names
152
+ - t4008: correct stale comments
153
+ (this branch is used by jc/diff-b-m.)
154
193
- "git blame" died, trying to free an uninitialized piece of memory.
155
+ Test clean-up.
156
157
Will merge to 'next'.
158
159
198
-* es/squelch-openssl-warnings-on-macosx (2015-02-09) 1 commit
199
- - git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED
160
+* jc/send-email-sensible-encoding (2015-02-13) 1 commit
161
+ - send-email: ask confirmation if given encoding name is very short
162
+
163
+ "git send-email" used to accept a mistaken "y" (or "yes") as an
164
+ answer to "What encoding do you want to use [UTF-8]? " without
165
+ questioning. Now it asks for confirmation when the answer looks
166
+ too short to be a valid encoding name.
167
168
Will merge to 'next'.
169
170
204
-* jc/max-io-size-and-ssize-max (2015-02-11) 1 commit
205
- - xread/xwrite: clip MAX_IO_SIZE to SSIZE_MAX
171
+* jk/push-config (2015-02-17) 4 commits
172
+ - [NEEDSACK] push: allow --follow-tags to be set by config push.followTags
173
+ - cmd_push: pass "flags" pointer to config callback
174
+ - cmd_push: set "atomic" bit directly
175
+ - git_push_config: drop cargo-culted wt_status pointer
176
+
177
+ Waiting for Ack and/or update for the tip one from Dave Olszewski
178
+ ($gmane/263880, $gmane/263991).
179
+
180
+
181
+* km/send-email-getopt-long-workarounds (2015-02-16) 1 commit
182
+ - git-send-email.perl: support no- prefix with older GetOptions
183
+
184
+ Even though we officially haven't dropped Perl 5.8 support, the
185
+ Getopt::Long package that came with it does not support "--no-"
186
+ prefix to negate a boolean option; manually add support to help
187
+ people with older Getopt::Long package.
188
189
Will merge to 'next'.
190
191
210
-* jk/fast-import-die-nicely-fix (2015-02-10) 1 commit
211
- - fast-import: avoid running end_packfile recursively
192
+* mh/transport-capabilities (2015-02-13) 2 commits
193
+ - transport-helper: ask the helper to set the same options for import as for fetch
194
+ - transport-helper: ask the helper to set progress and verbosity options after asking for its capabilities
195
213
- "git fast-import" used to crash when it could not close and
214
- conclude the resulting packfile cleanly.
196
+ Will merge to 'next'.
197
+
198
+
199
+* sb/hex-object-name-is-at-most-41-bytes-long (2015-02-13) 1 commit
200
+ - hex.c: reduce memory footprint of sha1_to_hex static buffers
201
202
Will merge to 'next'.
203
204
219
-* mh/expire-updateref-fixes (2015-02-09) 10 commits
220
- - reflog_expire(): lock symbolic refs themselves, not their referent
221
- - reflog_expire(): never update a reference to null_sha1
222
- - reflog_expire(): ignore --updateref for symbolic references
223
- - reflog: rearrange the manpage
224
- - reflog: fix documentation
225
- - lock_ref_sha1_basic(): do not set force_write for missing references
226
- - write_ref_sha1(): Move write elision test to callers
227
- - write_ref_sha1(): remove check for lock == NULL
228
- - Merge branch 'sb/atomic-push' into mh/ref-trans-value-check
229
- - Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check
230
- (this branch is tangled with mh/refs-have-new.)
205
+* jk/daemon-interpolate (2015-02-17) 3 commits
206
+ - daemon: sanitize incoming virtual hostname
207
+ - t5570: test git-daemon's --interpolated-path option
208
+ - git_connect: let user override virtual-host we send to daemon
209
210
+ The "interpolated-path" option of "git daemon" inserted any string
211
+ client declared on the "host=" capability request without checking.
212
+ Sanitize and limit %H and %CH to a saner and a valid DNS name.
213
233
-* mh/refs-have-new (2015-02-09) 13 commits
234
- - update_ref(): improve documentation
235
- - ref_transaction_verify(): new function to check a reference's value
236
- - ref_transaction_delete(): check that old_sha1 is not null_sha1
237
- - ref_transaction_create(): check that new_sha1 is valid
238
- - commit: avoid race when creating orphan commits
239
- - commit: add tests of commit races
240
- - ref_transaction_delete(): remove "have_old" parameter
241
- - ref_transaction_update(): remove "have_old" parameter
242
- - struct ref_update: move "have_old" into "flags"
243
- - refs: remove the gap in the REF_* constant values
244
- - refs: move REF_DELETING to refs.c
245
- - Merge branch 'sb/atomic-push' into mh/ref-trans-value-check
246
- - Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check
247
- (this branch is tangled with mh/expire-updateref-fixes.)
214
+ Will merge to 'next'.
215
216
250
-* nd/slim-index-pack-memory-usage (2015-02-10) 3 commits
251
- - index-pack: kill union delta_base to save memory
252
- - FIXUP
253
- - index-pack: reduce memory footprint a bit
217
+* rs/daemon-interpolate (2015-02-17) 2 commits
218
+ - daemon: use callback to build interpolated path
219
+ - daemon: look up client-supplied hostname lazily
220
+
221
+ "git daemon" looked up the hostname even when "%CH" and "%IP"
222
+ interpolations are not requested, which was unnecessary.
223
+
224
+ Will merge to 'next'.
225
+
226
+
227
+* sb/plug-leak-in-make-cache-entry (2015-02-17) 1 commit
228
+ - read-cache.c: free cache entry when refreshing fails
229
+
230
+ "update-index --refresh" used to leak when an entry cannot be
231
+ refreshed for whatever reason.
232
+
233
+ Will merge to 'next'.
234
235
--------------------------------------------------
236
[Stalled]
237
258
-* jk/sanity (2015-01-27) 3 commits
259
- - test-lib.sh: set prerequisite SANITY by testing what we really need
260
- - tests: correct misuses of POSIXPERM
261
- - t/lib-httpd: switch SANITY check for NOT_ROOT
238
+* nd/list-files (2015-02-09) 21 commits
239
+ . t3080: tests for git-list-files
240
+ . list-files: -M aka diff-cached
241
+ . list-files -F: show submodules with the new indicator '&'
242
+ . list-files: add -F/--classify
243
+ . list-files: show directories as well as files
244
+ . list-files: do not show duplicate cached entries
245
+ . list-files: sort output and remove duplicates
246
+ . list-files: add -t back
247
+ . list-files: add -1 short for --no-column
248
+ . list-files: add -R/--recursive short for --max-depth=-1
249
+ . list-files: -u does not imply showing stages
250
+ . list-files: make alias 'ls' default to 'list-files'
251
+ . list-files: a user friendly version of ls-files and more
252
+ . ls-files: support --max-depth
253
+ . ls-files: add --column
254
+ . ls-files: add --color to highlight file names
255
+ . ls-files: buffer full item in strbuf before printing
256
+ . ls_colors.c: highlight submodules like directories
257
+ . ls_colors.c: add a function to color a file name
258
+ . ls_colors.c: parse color.ls.* from config file
259
+ . ls_colors.c: add $LS_COLORS parsing code
260
263
- Waiting for ack or counter-proposal from Torsten.
264
- Otherwise looking good.
261
+ A new "git list-files" Porcelain command, "ls-files" with bells and
262
+ whistles.
263
264
+ No comments? No reviews? No interests?
265
267
-* tc/t9001-noxmailer (2015-01-30) 1 commit
268
- - t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
266
270
- Kyle's update to explicitly support --no-option with older
271
- Getopt::Long ($gmane/263203) might be a better alternative
272
- if we have to support them in the longer term.
267
+* nd/untracked-cache (2015-02-09) 24 commits
268
+ - git-status.txt: advertisement for untracked cache
269
+ - untracked cache: guard and disable on system changes
270
+ - mingw32: add uname()
271
+ - t7063: tests for untracked cache
272
+ - update-index: test the system before enabling untracked cache
273
+ - update-index: manually enable or disable untracked cache
274
+ - status: enable untracked cache
275
+ - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
276
+ - untracked cache: mark index dirty if untracked cache is updated
277
+ - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
278
+ - untracked cache: avoid racy timestamps
279
+ - read-cache.c: split racy stat test to a separate function
280
+ - untracked cache: invalidate at index addition or removal
281
+ - untracked cache: load from UNTR index extension
282
+ - untracked cache: save to an index extension
283
+ - ewah: add convenient wrapper ewah_serialize_strbuf()
284
+ - untracked cache: don't open non-existent .gitignore
285
+ - untracked cache: mark what dirs should be recursed/saved
286
+ - untracked cache: record/validate dir mtime and reuse cached output
287
+ - untracked cache: make a wrapper around {open,read,close}dir()
288
+ - untracked cache: invalidate dirs recursively if .gitignore changes
289
+ - untracked cache: initial untracked cache validation
290
+ - untracked cache: record .gitignore information and dir hierarchy
291
+ - dir.c: optionally compute sha-1 of a .gitignore file
292
+
293
+ Need extra sets of eyes to review this.
294
+
295
+
296
+* tb/connect-ipv6-parse-fix (2015-01-22) 3 commits
297
+ - t5500: show user name and host in diag-url
298
+ - t5601: add more test cases for IPV6
299
+ - connect.c: improve parsing of literal IPV6 addresses
300
301
+ Need extra sets of eyes to review this.
302
275
-* jc/diff-b-m (2015-02-01) 1 commit
276
- - diff: do not use creation-half of -B as a rename target candidate
303
+
304
+* ak/stash-store-create-help (2015-01-13) 1 commit
305
+ - stash: show "create" and "store" subcommands in usage-help
306
+
307
+ Will discard.
308
+
309
+
310
+* bp/diff-relative-config (2015-01-07) 2 commits
311
+ - diff: teach diff.relative to give default to --relative=<value>
312
+ - diff: teach --no-relative to override earlier --relative
313
+
314
+ No comments? No interests?
315
+
316
+
317
+* jc/diff-b-m (2015-02-17) 4 commits
318
+ . WIP: diff-b-m
319
+ - diffcore-rename: allow easier debugging
320
+ - diffcore-rename.c: add locate_rename_src()
321
+ - diffcore-break: allow debugging
322
+ (this branch uses jc/diff-test-updates.)
323
324
"git diff -B -M" produced incorrect patch when the postimage of a
325
completely rewritten file is similar to the preimage of a removed
@@ -283,11 +329,12 @@ of the repositories listed at
329
The fix in this patch is broken, unfortunately.
330
331
286
-* jn/doc-api-errors (2014-12-04) 1 commit
287
- - doc: document error handling functions and conventions
332
+* nd/slim-index-pack-memory-usage (2015-02-10) 3 commits
333
+ - index-pack: kill union delta_base to save memory
334
+ - FIXUP
335
+ - index-pack: reduce memory footprint a bit
336
289
- For discussion.
290
- What's the status of this one????
337
+ Experimental?
338
339
340
* pw/remote-set-url-fetch (2014-11-26) 1 commit
@@ -312,7 +359,8 @@ of the repositories listed at
359
"-C$n" option to customize this behaviour. The top patch
360
optionally flips the default to "--exact".
361
315
- Tired of waiting for an Ack; will discard.
362
+ Tired of waiting for an Ack
363
+ Will discard.
364
365
366
* tr/remerge-diff (2014-11-10) 9 commits
@@ -417,64 +465,159 @@ of the repositories listed at
465
--------------------------------------------------
466
[Cooking]
467
420
-* jc/diff-files-ita (2015-02-04) 1 commit
421
- - run_diff_files(): clarify computation of sha1 validity
468
+* jn/doc-api-errors (2014-12-04) 1 commit
469
+ - doc: document error handling functions and conventions
470
471
Will merge to 'next'.
472
473
426
-* jk/config-no-ungetc-eof (2015-02-05) 2 commits
427
- - config_buf_ungetc: warn when pushing back a random character
428
- - config: do not ungetc EOF
474
+* jk/sanity (2015-02-15) 3 commits
475
+ - test-lib.sh: set prerequisite SANITY by testing what we really need
476
+ - tests: correct misuses of POSIXPERM
477
+ - t/lib-httpd: switch SANITY check for NOT_ROOT
478
+
479
+ The tests that wanted to see that file becomes unreadable after
480
+ running "chmod a-r file", and the tests that wanted to make sure it
481
+ is not run as root, we used "can we write into the / directory?" as
482
+ a cheap substitute, but on some platforms that is not a good
483
+ heuristics. The tests and their prerequisites have been updated to
484
+ check what they really require.
485
486
Will merge to 'next'.
487
488
433
-* jk/decimal-width-for-uintmax (2015-02-05) 1 commit
434
- - decimal_width: avoid integer overflow
489
+* ab/merge-file-prefix (2015-02-11) 1 commit
490
+ (merged to 'next' on 2015-02-16 at 89e0252)
491
+ + merge-file: correctly open files when in a subdir
492
436
- Will merge to 'next'.
493
+ "git merge-file" did not work correctly in a subdirectory.
494
495
+ Will merge to 'master'.
496
439
-* ss/check-builtins-on-windows (2015-02-05) 1 commit
440
- - check-builtins: strip executable suffix $X when enumerating builtins
497
442
- Will merge to 'next'.
498
+* es/blame-commit-info-fix (2015-02-10) 1 commit
499
+ (merged to 'next' on 2015-02-16 at f76ff44)
500
+ + builtin/blame: destroy initialized commit_info only
501
502
+ "git blame" died, trying to free an uninitialized piece of memory.
503
445
-* jc/diff-format-doc (2015-01-28) 1 commit
446
- - diff-format doc: a score can follow M for rewrite
504
+ Will merge to 'master'.
505
448
- The documentation incorrectly said that C(opy) and R(ename) are the
449
- only ones that can be followed by the score number in the output in
450
- the --raw format.
506
452
- Will merge to 'next'.
507
+* es/squelch-openssl-warnings-on-macosx (2015-02-09) 1 commit
508
+ (merged to 'next' on 2015-02-16 at bbe2880)
509
+ + git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED
510
511
+ An earlier workaround to squelch unhelpful deprecation warnings
512
+ from the complier on Mac OSX unnecessarily set minimum required
513
+ version of the OS, which the user might want to raise (or lower)
514
+ for other reasons.
515
455
-* jk/remote-curl-an-array-in-struct-cannot-be-null (2015-01-28) 1 commit
456
- - do not check truth value of flex arrays
516
+ Will merge to 'master'.
517
+
518
+
519
+* jc/max-io-size-and-ssize-max (2015-02-12) 1 commit
520
+ - xread/xwrite: clip MAX_IO_SIZE to SSIZE_MAX
521
+
522
+ Our default I/O size (8 MiB) for large files was too large for some
523
+ platforms with smaller SSIZE_MAX, leading to read(2)/write(2)
524
+ failures.
525
526
Will merge to 'next'.
527
528
461
-* jk/status-read-branch-name-fix (2015-01-28) 1 commit
462
- - read_and_strip_branch: fix typo'd address-of operator
529
+* jk/fast-import-die-nicely-fix (2015-02-10) 1 commit
530
+ - fast-import: avoid running end_packfile recursively
531
464
- Code to read branch name from various files in .git/ directory
465
- would have misbehaved if the code to write them left an empty file.
532
+ "git fast-import" used to crash when it could not close and
533
+ conclude the resulting packfile cleanly.
534
535
Will merge to 'next'.
536
537
538
+* mh/expire-updateref-fixes (2015-02-09) 10 commits
539
+ - reflog_expire(): lock symbolic refs themselves, not their referent
540
+ - reflog_expire(): never update a reference to null_sha1
541
+ - reflog_expire(): ignore --updateref for symbolic references
542
+ - reflog: rearrange the manpage
543
+ - reflog: fix documentation
544
+ - lock_ref_sha1_basic(): do not set force_write for missing references
545
+ - write_ref_sha1(): Move write elision test to callers
546
+ - write_ref_sha1(): remove check for lock == NULL
547
+ - Merge branch 'sb/atomic-push' into mh/ref-trans-value-check
548
+ - Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check
549
+
550
+ Under discussion ($gmane/263552)
551
+
552
+
553
+* mh/refs-have-new (2015-02-17) 13 commits
554
+ - refs.h: remove duplication in function docstrings
555
+ - update_ref(): improve documentation
556
+ - ref_transaction_verify(): new function to check a reference's value
557
+ - ref_transaction_delete(): check that old_sha1 is not null_sha1
558
+ - ref_transaction_create(): check that new_sha1 is valid
559
+ - commit: avoid race when creating orphan commits
560
+ - commit: add tests of commit races
561
+ - ref_transaction_delete(): remove "have_old" parameter
562
+ - ref_transaction_update(): remove "have_old" parameter
563
+ - struct ref_update: move "have_old" into "flags"
564
+ - refs.c: change some "flags" to "unsigned int"
565
+ - refs: remove the gap in the REF_* constant values
566
+ - refs: move REF_DELETING to refs.c
567
+
568
+ Simplify the ref transaction API around how "the ref should be
569
+ pointing at this object" is specified.
570
+
571
+ Looked sensible.
572
+ Will merge to 'next', unless there is an objection.
573
+
574
+
575
+* jc/diff-files-ita (2015-02-04) 1 commit
576
+ (merged to 'next' on 2015-02-16 at d7867a3)
577
+ + run_diff_files(): clarify computation of sha1 validity
578
+
579
+ Code cleanup.
580
+
581
+ Will merge to 'master'.
582
+
583
+
584
+* jk/config-no-ungetc-eof (2015-02-05) 2 commits
585
+ (merged to 'next' on 2015-02-16 at b7fc890)
586
+ + config_buf_ungetc: warn when pushing back a random character
587
+ + config: do not ungetc EOF
588
+
589
+ Reading configuration from a blob object, when it ends with a lone
590
+ CR, use to confuse the configuration parser.
591
+
592
+ Will merge to 'master'.
593
+
594
+
595
+* jk/decimal-width-for-uintmax (2015-02-05) 1 commit
596
+ (merged to 'next' on 2015-02-16 at e608239)
597
+ + decimal_width: avoid integer overflow
598
+
599
+ We didn't format an integer that wouldn't fit in "int" but in
600
+ "uintmax_t" correctly.
601
+
602
+ Will merge to 'master'.
603
+
604
+
605
+* ss/check-builtins-on-windows (2015-02-05) 1 commit
606
+ (merged to 'next' on 2015-02-16 at 2c10cc1)
607
+ + check-builtins: strip executable suffix $X when enumerating builtins
608
+
609
+ Will merge to 'master'.
610
+
611
+
612
* ch/new-gpg-drops-rfc-1991 (2015-01-29) 2 commits
471
- - t/lib-gpg: sanity-check that we can actually sign
472
- - t/lib-gpg: include separate public keys in keyring.gpg
613
+ (merged to 'next' on 2015-02-16 at e2daf10)
614
+ + t/lib-gpg: sanity-check that we can actually sign
615
+ + t/lib-gpg: include separate public keys in keyring.gpg
616
474
- Older GnuPG implementation may not correctly import the keyring
617
+ Older GnuPG implementations may not correctly import the keyring
618
material we prepare for the tests to use.
619
477
- Will merge to 'next'.
620
+ Will merge to 'master'.
621
622
623
* jc/apply-beyond-symlink (2015-02-10) 4 commits
@@ -492,61 +635,67 @@ of the repositories listed at
635
636
637
* jc/remote-set-url-doc (2015-01-29) 1 commit
495
- - Documentation/git-remote.txt: stress that set-url is not for triangular
638
+ (merged to 'next' on 2015-02-16 at 1f9c342)
639
+ + Documentation/git-remote.txt: stress that set-url is not for triangular
640
641
Clarify in the documentation that "remote.<nick>.pushURL" and
642
"remote.<nick>.URL" are there to name the same repository accessed
643
via different transports, not two separate repositories.
644
501
- Will merge to 'next'.
502
-
503
-
504
-* jc/t4122-use-test-write-lines (2015-01-28) 1 commit
505
- - t4122: use test_write_lines from test-lib-functions
506
-
507
- Will merge to 'next'.
645
+ Will merge to 'master'.
646
647
648
* jk/pack-bitmap (2015-02-04) 1 commit
511
- - ewah: fix building with gcc < 3.4.0
649
+ (merged to 'next' on 2015-02-16 at 2e30424)
650
+ + ewah: fix building with gcc < 3.4.0
651
513
- Will merge to 'next'.
652
+ The pack bitmap support did not build with older versions of GCC.
653
+
654
+ Will merge to 'master'.
655
656
657
* jk/prune-mtime (2015-02-09) 2 commits
517
- - sha1_file: fix iterating loose alternate objects
518
- - for_each_loose_file_in_objdir: take an optional strbuf path
658
+ (merged to 'next' on 2015-02-16 at 3d46eae)
659
+ + sha1_file: fix iterating loose alternate objects
660
+ + for_each_loose_file_in_objdir: take an optional strbuf path
661
662
In v2.2.0, we broke "git prune" that runs in a repository that
663
borrows from an alternate object store.
664
523
- Will merge to 'next'.
665
+ Will merge to 'master'.
666
667
668
* ps/submodule-sanitize-path-upon-add (2015-02-02) 1 commit
527
- - git-submodule.sh: fix '/././' path normalization
669
+ (merged to 'next' on 2015-02-16 at 8253132)
670
+ + git-submodule.sh: fix '/././' path normalization
671
529
- Will merge to 'next'.
672
+ "git submodule add" failed to squash "path/to/././submodule" to
673
+ "path/to/submodule".
674
+
675
+ Will merge to 'master'.
676
677
678
* tc/curl-vernum-output-broken-in-7.11 (2015-02-03) 1 commit
533
- - Makefile: handle broken curl version number in version check
679
+ (merged to 'next' on 2015-02-16 at de90f95)
680
+ + Makefile: handle broken curl version number in version check
681
535
- Cope with irregular output of "curl-config --vernum" given by
536
- certain older vintages of cURL.
682
+ Certain older vintages of cURL give irregular output from
683
+ "curl-config --vernum", which confused our build system.
684
538
- Will merge to 'next'.
685
+ Will merge to 'master'.
686
687
688
* tc/missing-http-proxyauth (2015-02-03) 1 commit
689
- http: support curl < 7.10.7
690
691
+ We did not check the curl library version before using
692
+ CURLOPT_PROXYAUTH feature that may not exist.
693
+
694
Will merge to 'next'.
695
696
697
* jc/apply-ws-fix-expands-report (2015-01-22) 1 commit
698
- apply: detect and mark whitespace errors in context lines when fixing
549
- (this branch uses jc/apply-ws-fix-expands.)
699
700
"git apply --whitespace=fix" fixed whitespace errors in the common
701
context lines but did so without reporting.
@@ -554,92 +703,36 @@ of the repositories listed at
703
Will merge to 'next'.
704
705
557
-* ks/rebase-i-abbrev (2015-01-22) 1 commit
558
- - rebase -i: use full object name internally throughout the script
559
-
560
- The insn sheet "git rebase -i" creates did not fully honor
561
- core.abbrev settings.
562
-
563
- Will merge to 'next'.
564
-
565
-
566
-* mh/deref-symref-over-helper-transport (2015-01-21) 1 commit
567
- - transport-helper: do not request symbolic refs to remote helpers
568
-
569
- "git fetch" over a remote-helper that cannot respond to "list"
570
- command could not fetch from a symbolic reference e.g. HEAD.
571
-
572
- Will merge to 'next'.
573
-
574
-
575
-* ak/add-i-empty-candidates (2015-01-22) 1 commit
576
- - add -i: return from list_and_choose if there is no candidate
577
-
578
- The interactive "show a list and let the user choose from it"
579
- interface "add -i" used showed and prompted to the user even when
580
- the candidate list was empty, against which the only "choice" the
581
- user could have made was to choose nothing.
582
-
583
- Will merge to 'next'.
584
-
585
-
706
* av/wincred-with-at-in-username-fix (2015-01-25) 1 commit
587
- - wincred: fix get credential if username has "@"
588
-
589
- Will merge to 'next'.
707
+ (merged to 'next' on 2015-02-16 at 69dd76d)
708
+ + wincred: fix get credential if username has "@"
709
710
+ The credential helper for Windows (in contrib/) used to mishandle
711
+ a user name with an at-sign in it.
712
592
-* jc/conf-var-doc (2015-02-02) 3 commits
593
- - CodingGuidelines: describe naming rules for configuration variables
594
- - config.txt: mark deprecated variables more prominently
595
- - config.txt: clarify that add.ignore-errors is deprecated
596
-
597
- Will merge to 'next'.
713
+ Will merge to 'master'.
714
715
600
-* jc/doc-log-rev-list-options (2015-01-23) 1 commit
601
- - Documentation: what does "git log --indexed-objects" even mean?
602
-
603
- Will merge to 'next'.
604
-
605
-
606
-* jk/dumb-http-idx-fetch-fix (2015-01-27) 1 commit
607
- - dumb-http: do not pass NULL path to parse_pack_index
608
-
609
- Will merge to 'next'.
610
-
611
-
612
-* mg/commit-author-no-match-malformed-message (2015-01-26) 1 commit
613
- - commit: reword --author error message
614
-
615
- Will merge to 'next'.
716
+* jc/conf-var-doc (2015-02-02) 3 commits
717
+ (merged to 'next' on 2015-02-16 at 97512a3)
718
+ + CodingGuidelines: describe naming rules for configuration variables
719
+ + config.txt: mark deprecated variables more prominently
720
+ + config.txt: clarify that add.ignore-errors is deprecated
721
722
+ Longstanding configuration variable naming rules has been added to
723
+ the documentation.
724
618
-* mg/push-repo-option-doc (2015-01-28) 1 commit
619
- - git-push.txt: document the behavior of --repo
620
-
621
- Will merge to 'next'.
725
+ Will merge to 'master'.
726
727
728
* ye/http-accept-language (2015-01-28) 1 commit
625
- - http: add Accept-Language header if possible
729
+ (merged to 'next' on 2015-02-16 at 10ed819)
730
+ + http: add Accept-Language header if possible
731
732
Using environment variable LANGUAGE and friends on the client side,
628
- send Accept-Language when making HTTP requests.
629
-
630
- Will merge to 'next'.
631
-
632
-
633
-* jc/apply-ws-fix-expands (2015-01-22) 3 commits
634
- - apply: count the size of postimage correctly
635
- - apply: make update_pre_post_images() sanity check the given postlen
636
- - apply.c: typofix
637
- (this branch is used by jc/apply-ws-fix-expands-report.)
638
-
639
- "git apply --whitespace=fix" used to under-allocate the memory
640
- when the fix resulted in a longer text than the original patch.
733
+ HTTP-based transports now send Accept-Language when making requests.
734
642
- Will merge to 'next'.
735
+ Will merge to 'master'.
736
737
738
* js/fsck-opt (2015-01-21) 19 commits
@@ -663,15 +756,10 @@ of the repositories listed at
756
- fsck: introduce identifiers for fsck messages
757
- fsck: introduce fsck options
758
666
- Need extra set of eyes to review this.
667
-
759
+ "fsck.warnings = <list of error tokens>" I suggested turned out to
760
+ be an unpopular choice (sorry Dscho).
761
669
-* tb/connect-ipv6-parse-fix (2015-01-22) 3 commits
670
- - t5500: show user name and host in diag-url
671
- - t5601: add more test cases for IPV6
672
- - connect.c: improve parsing of literal IPV6 addresses
673
-
674
- Need extra set of eyes to review this.
762
+ Expecting a reroll.
763
764
765
* jk/strbuf-doc-to-header (2015-01-16) 7 commits
@@ -688,48 +776,17 @@ of the repositories listed at
776
Will merge to 'next'.
777
778
691
-* ak/stash-store-create-help (2015-01-13) 1 commit
692
- - stash: show "create" and "store" subcommands in usage-help
693
-
694
- Undecided.
695
-
696
-
697
-* bp/diff-relative-config (2015-01-07) 2 commits
698
- - diff: teach diff.relative to give default to --relative=<value>
699
- - diff: teach --no-relative to override earlier --relative
700
-
701
-
779
* nd/attr-optim (2014-12-29) 3 commits
780
- attr: avoid heavy work when we know the specified attr is not defined
781
- attr: do not attempt to expand when we know it's not a macro
782
- attr.c: rename arg name attr_nr to avoid shadowing the global one
783
784
+ Optimize attribute look-up, mostly useful in "git grep" on a
785
+ project that does not use many attributes, by avoiding it when we
786
+ (should) know that the attributes are not defined in the first
787
+ place.
788
708
-* nd/list-files (2015-02-09) 21 commits
709
- . t3080: tests for git-list-files
710
- . list-files: -M aka diff-cached
711
- . list-files -F: show submodules with the new indicator '&'
712
- . list-files: add -F/--classify
713
- . list-files: show directories as well as files
714
- . list-files: do not show duplicate cached entries
715
- . list-files: sort output and remove duplicates
716
- . list-files: add -t back
717
- . list-files: add -1 short for --no-column
718
- . list-files: add -R/--recursive short for --max-depth=-1
719
- . list-files: -u does not imply showing stages
720
- . list-files: make alias 'ls' default to 'list-files'
721
- . list-files: a user friendly version of ls-files and more
722
- . ls-files: support --max-depth
723
- . ls-files: add --column
724
- . ls-files: add --color to highlight file names
725
- . ls-files: buffer full item in strbuf before printing
726
- . ls_colors.c: highlight submodules like directories
727
- . ls_colors.c: add a function to color a file name
728
- . ls_colors.c: parse color.ls.* from config file
729
- . ls_colors.c: add $LS_COLORS parsing code
730
-
731
- A new "git list-files" Porcelain command, "ls-files" with bells and
732
- whistles.
789
+ Will merge to 'next'.
790
791
792
* nd/multiple-work-trees (2015-01-27) 38 commits
@@ -776,31 +833,14 @@ of the repositories listed at
833
rely on symbolic links and make sharing of objects and refs safer
834
by making the borrowee and borrowers aware of each other.
835
836
+ Will merge to 'next'.
837
780
-* nd/untracked-cache (2015-02-09) 24 commits
781
- - git-status.txt: advertisement for untracked cache
782
- - untracked cache: guard and disable on system changes
783
- - mingw32: add uname()
784
- - t7063: tests for untracked cache
785
- - update-index: test the system before enabling untracked cache
786
- - update-index: manually enable or disable untracked cache
787
- - status: enable untracked cache
788
- - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
789
- - untracked cache: mark index dirty if untracked cache is updated
790
- - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
791
- - untracked cache: avoid racy timestamps
792
- - read-cache.c: split racy stat test to a separate function
793
- - untracked cache: invalidate at index addition or removal
794
- - untracked cache: load from UNTR index extension
795
- - untracked cache: save to an index extension
796
- - ewah: add convenient wrapper ewah_serialize_strbuf()
797
- - untracked cache: don't open non-existent .gitignore
798
- - untracked cache: mark what dirs should be recursed/saved
799
- - untracked cache: record/validate dir mtime and reuse cached output
800
- - untracked cache: make a wrapper around {open,read,close}dir()
801
- - untracked cache: invalidate dirs recursively if .gitignore changes
802
- - untracked cache: initial untracked cache validation
803
- - untracked cache: record .gitignore information and dir hierarchy
804
- - dir.c: optionally compute sha-1 of a .gitignore file
838
806
- Need extra set of eyes to review this.
839
+--------------------------------------------------
840
+[Discarded]
841
+
842
+* tc/t9001-noxmailer (2015-01-30) 1 commit
843
+ . t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
844
+
845
+ Kyle's update to explicitly support --no-option with older
846
+ Getopt::Long ($gmane/263203) makes this unnecessary.