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.