What's cooking (2014/03 #01)

Junio C Hamano committed Mar 4, 2014 at 16:10 UTC 728b9ce4a44811fcbb2e6c7c7d142065be19eddf
1 file changed +815 -680
whats-cooking.txt
+815 -680
@@ -1,122 +1,513 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2014, #07; Tue, 25)
4 -X-master-at: 5f95c9f850b19b368c43ae399cc831b17a26a5ac
5 -X-next-at: 473e14350eeb6a6a233c48229514a6c604e92ae2
3 +Subject: What's cooking in git.git (Mar 2014, #01; Tue, 4)
4 +X-master-at: 2de34784dfcbb4fe0febe9ab98e0b99138040109
5 +X-next-at: d464cb7a99e56a69dc347cdeb1620023efc8669a
6
7 -What's cooking in git.git (Feb 2014, #07; Tue, 25)
7 +What's cooking in git.git (Mar 2014, #01; Tue, 4)
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 -The tip of 'next' has been rewound. There are healthy number of
15 -topics in there that have been well-cooked during the 1.9.0
16 -development cycle that can graduate to 'master' (see the announce in
17 -http://article.gmane.org/gmane.comp.version-control.git/242658).
18 -After they are merged to 'master', I'm planning to go back to the
19 -list archive to pick up patches I may have missed in the meantime.
14 +A handful of "GSoC warm-up microprojects" have been queued on 'pu'.
15 +Thanks for reviewing them.
16
17 You can find the changes described here in the integration branches
18 of the repositories listed at
19
20 http://git-blame.blogspot.com/p/git-public-repositories.html
21
22 +--------------------------------------------------
23 +[Graduated to "master"]
24 +
25 +* al/docs (2014-02-11) 4 commits
26 + (merged to 'next' on 2014-02-25 at 0c1a734)
27 + + docs/git-blame: explain more clearly the example pickaxe use
28 + + docs/git-clone: clarify use of --no-hardlinks option
29 + + docs/git-remote: capitalize first word of initial blurb
30 + + docs/merge-strategies: remove hyphen from mis-merges
31 +
32 + Originally merged to 'next' on 2014-02-13
33 +
34 + A handful of documentation updates, all trivially harmless.
35 +
36 +
37 +* bc/gpg-sign-everywhere (2014-02-11) 9 commits
38 + (merged to 'next' on 2014-02-25 at 7db014c)
39 + + pull: add the --gpg-sign option.
40 + + rebase: add the --gpg-sign option
41 + + rebase: parse options in stuck-long mode
42 + + rebase: don't try to match -M option
43 + + rebase: remove useless arguments check
44 + + am: add the --gpg-sign option
45 + + am: parse options in stuck-long mode
46 + + git-sh-setup.sh: add variable to use the stuck-long mode
47 + + cherry-pick, revert: add the --gpg-sign option
48 +
49 + Originally merged to 'next' on 2014-02-13
50 +
51 + Teach "--gpg-sign" option to many commands that create commits.
52 +
53 +
54 +* bk/refresh-missing-ok-in-merge-recursive (2014-02-24) 4 commits
55 + (merged to 'next' on 2014-02-25 at 2651cb0)
56 + + merge-recursive.c: tolerate missing files while refreshing index
57 + + read-cache.c: extend make_cache_entry refresh flag with options
58 + + read-cache.c: refactor --ignore-missing implementation
59 + + t3030-merge-recursive: test known breakage with empty work tree
60 +
61 + Originally merged to 'next' on 2014-01-29
62 +
63 + Allow "merge-recursive" to work in an empty (temporary) working
64 + tree again when there are renames involved, correcting an old
65 + regression in 1.7.7 era.
66 +
67 +
68 +* bs/stdio-undef-before-redef (2014-01-31) 1 commit
69 + (merged to 'next' on 2014-02-25 at 77c4b5f)
70 + + git-compat-util.h: #undef (v)snprintf before #define them
71 +
72 + Originally merged to 'next' on 2014-01-31
73 +
74 + When we replace broken macros from stdio.h in git-compat-util.h,
75 + #undef them to avoid re-definition warnings from the C
76 + preprocessor.
77 +
78 +
79 +* da/pull-ff-configuration (2014-01-15) 2 commits
80 + (merged to 'next' on 2014-02-25 at b9e4f61)
81 + + pull: add --ff-only to the help text
82 + + pull: add pull.ff configuration
83 +
84 + Originally merged to 'next' on 2014-01-22
85 +
86 + "git pull" learned to pay attention to pull.ff configuration
87 + variable.
88 +
89 +
90 +* dk/blame-janitorial (2014-02-25) 5 commits
91 + (merged to 'next' on 2014-02-25 at d5faeb2)
92 + + builtin/blame.c::find_copy_in_blob: no need to scan for region end
93 + + blame.c: prepare_lines should not call xrealloc for every line
94 + + builtin/blame.c::prepare_lines: fix allocation size of sb->lineno
95 + + builtin/blame.c: eliminate same_suspect()
96 + + builtin/blame.c: struct blame_entry does not need a prev link
97 +
98 + Originally merged to 'next' on 2014-02-13
99 +
100 + Code clean-up.
101 +
102 +
103 +* ds/rev-parse-required-args (2014-01-28) 1 commit
104 + (merged to 'next' on 2014-02-25 at bba6e79)
105 + + rev-parse: check i before using argv[i] against argc
106 +
107 + Originally merged to 'next' on 2014-01-31
108 +
109 + "git rev-parse --default" without the required option argument did
110 + not diagnose it as an error.
111 +
112 +
113 +* ep/varscope (2014-01-31) 7 commits
114 + (merged to 'next' on 2014-02-25 at e967c7e)
115 + + builtin/gc.c: reduce scope of variables
116 + + builtin/fetch.c: reduce scope of variable
117 + + builtin/commit.c: reduce scope of variables
118 + + builtin/clean.c: reduce scope of variable
119 + + builtin/blame.c: reduce scope of variables
120 + + builtin/apply.c: reduce scope of variables
121 + + bisect.c: reduce scope of variable
122 +
123 + Originally merged to 'next' on 2014-01-31
124 +
125 + Shrink lifetime of variables by moving their definitions to an
126 + inner scope where appropriate.
127 +
128 +
129 +* jk/config-path-include-fix (2014-01-28) 2 commits
130 + (merged to 'next' on 2014-02-25 at 3604f75)
131 + + handle_path_include: don't look at NULL value
132 + + expand_user_path: do not look at NULL path
133 +
134 + Originally merged to 'next' on 2014-01-31
135 +
136 + include.path variable (or any variable that expects a path that can
137 + use ~username expansion) in the configuration file is not a
138 + boolean, but the code failed to check it.
139 +
140 +
141 +* jk/pack-bitmap (2014-02-12) 26 commits
142 + (merged to 'next' on 2014-02-25 at 5f65d26)
143 + + ewah: unconditionally ntohll ewah data
144 + + ewah: support platforms that require aligned reads
145 + + read-cache: use get_be32 instead of hand-rolled ntoh_l
146 + + block-sha1: factor out get_be and put_be wrappers
147 + + do not discard revindex when re-preparing packfiles
148 + + pack-bitmap: implement optional name_hash cache
149 + + t/perf: add tests for pack bitmaps
150 + + t: add basic bitmap functionality tests
151 + + count-objects: recognize .bitmap in garbage-checking
152 + + repack: consider bitmaps when performing repacks
153 + + repack: handle optional files created by pack-objects
154 + + repack: turn exts array into array-of-struct
155 + + repack: stop using magic number for ARRAY_SIZE(exts)
156 + + pack-objects: implement bitmap writing
157 + + rev-list: add bitmap mode to speed up object lists
158 + + pack-objects: use bitmaps when packing objects
159 + + pack-objects: split add_object_entry
160 + + pack-bitmap: add support for bitmap indexes
161 + + documentation: add documentation for the bitmap format
162 + + ewah: compressed bitmap implementation
163 + + compat: add endianness helpers
164 + + sha1_file: export `git_open_noatime`
165 + + revision: allow setting custom limiter function
166 + + pack-objects: factor out name_hash
167 + + pack-objects: refactor the packing list
168 + + revindex: export new APIs
169 + (this branch is used by jk/repack-pack-keep-objects.)
170 +
171 + Originally merged to 'next' on 2014-02-13
172 +
173 + Borrow the bitmap index into packfiles from JGit to speed up
174 + enumeration of objects involved in a commit range without having to
175 + fully traverse the history.
176 +
177 +
178 +* jk/test-ports (2014-02-10) 2 commits
179 + (merged to 'next' on 2014-02-25 at 86ce2e4)
180 + + tests: auto-set git-daemon port
181 + + tests: auto-set LIB_HTTPD_PORT from test name
182 + (this branch is tangled with nd/http-fetch-shallow-fix.)
183 +
184 + Originally merged to 'next' on 2014-02-13
185 +
186 + Avoid having to assign port number to be used in tests manually.
187 +
188 +
189 +* kb/fast-hashmap (2014-02-24) 18 commits
190 + (merged to 'next' on 2014-02-25 at 88a98e6)
191 + + name-hash: retire unused index_name_exists()
192 + + hashmap.h: use 'unsigned int' for hash-codes everywhere
193 + + test-hashmap.c: drop unnecessary #includes
194 + + .gitignore: test-hashmap is a generated file
195 + + read-cache.c: fix memory leaks caused by removed cache entries
196 + + builtin/update-index.c: cleanup update_one
197 + + fix 'git update-index --verbose --again' output
198 + + remove old hash.[ch] implementation
199 + + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
200 + + name-hash.c: use new hash map implementation for cache entries
201 + + name-hash.c: remove unreferenced directory entries
202 + + name-hash.c: use new hash map implementation for directories
203 + + diffcore-rename.c: use new hash map implementation
204 + + diffcore-rename.c: simplify finding exact renames
205 + + diffcore-rename.c: move code around to prepare for the next patch
206 + + buitin/describe.c: use new hash map implementation
207 + + add a hashtable implementation that supports O(1) removal
208 + + submodule: don't access the .gitmodules cache entry after removing it
209 + (this branch is used by kb/fast-hashmap-pack-struct.)
210 +
211 + Originally merged to 'next' on 2014-01-03
212 +
213 + Improvements to our hash table to get it to meet the needs of the
214 + msysgit fscache project, with some nice performance improvements.
215 +
216 +
217 +* ks/tree-diff-walk (2014-02-24) 5 commits
218 + (merged to 'next' on 2014-02-25 at 17e594f)
219 + + tree-walk: finally switch over tree descriptors to contain a pre-parsed entry
220 + + revision: convert to using diff_tree_sha1()
221 + + line-log: convert to using diff_tree_sha1()
222 + + tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL
223 + + tree-diff: allow diff_tree_sha1 to accept NULL sha1
224 + (this branch is used by ks/combine-diff, ks/tree-diff-more and ks/tree-diff-nway.)
225 +
226 + Originally merged to 'next' on 2014-02-06
227 +
228 +
229 +* mw/symlinks (2014-02-04) 6 commits
230 + (merged to 'next' on 2014-02-25 at 15dc036)
231 + + setup: don't dereference in-tree symlinks for absolute paths
232 + + setup: add abspath_part_inside_repo() function
233 + + t0060: add tests for prefix_path when path begins with work tree
234 + + t0060: add test for prefix_path when path == work tree
235 + + t0060: add test for prefix_path on symlinks via absolute paths
236 + + t3004: add test for ls-files on symlinks via absolute paths
237 +
238 + Originally merged to 'next' on 2014-02-06
239 +
240 + All subcommands that take pathspecs mishandled an in-tree symbolic
241 + link when given it as a full path from the root (which arguably is
242 + a sick way to use pathspecs). "git ls-files -s $(pwd)/RelNotes" in
243 + our tree is an easy reproduction recipe.
244 +
245 +
246 +* nd/diff-quiet-stat-dirty (2014-02-24) 2 commits
247 + (merged to 'next' on 2014-02-25 at 7cad1d3)
248 + + diff: do not quit early on stat-dirty files
249 + + diff.c: move diffcore_skip_stat_unmatch core logic out for reuse later
250 +
251 + Originally merged to 'next' on 2014-01-31
252 +
253 + "git diff --quiet -- pathspec1 pathspec2" sometimes did not return
254 + correct status value.
255 +
256 +
257 +* nd/http-fetch-shallow-fix (2014-02-13) 7 commits
258 + (merged to 'next' on 2014-02-25 at ad4e9c9)
259 + + t5537: move http tests out to t5539
260 + + fetch-pack: fix deepen shallow over smart http with no-done cap
261 + + protocol-capabilities.txt: document no-done
262 + + protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt
263 + + pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done'
264 + + test: rename http fetch and push test files
265 + + tests: auto-set LIB_HTTPD_PORT from test name
266 + (this branch is tangled with jk/test-ports.)
267 +
268 + Originally merged to 'next' on 2014-02-13
269 +
270 + Attempting to deepen a shallow repository by fetching over smart
271 + HTTP transport failed in the protocol exchange, when no-done
272 + extension was used. The fetching side waited for the list of
273 + shallow boundary commits after the sending end stopped talking to
274 + it.
275 +
276 +
277 +* nd/reset-intent-to-add (2014-02-05) 1 commit
278 + (merged to 'next' on 2014-02-25 at 0c48245)
279 + + reset: support "--mixed --intent-to-add" mode
280 +
281 + Originally merged to 'next' on 2014-02-07
282 +
283 +
284 +* nd/submodule-pathspec-ending-with-slash (2014-02-24) 8 commits
285 + (merged to 'next' on 2014-02-25 at 954b7a2)
286 + + clean: use cache_name_is_other()
287 + + clean: replace match_pathspec() with dir_path_match()
288 + + pathspec: pass directory indicator to match_pathspec_item()
289 + + match_pathspec: match pathspec "foo/" against directory "foo"
290 + + dir.c: prepare match_pathspec_item for taking more flags
291 + + pathspec: rename match_pathspec_depth() to match_pathspec()
292 + + pathspec: convert some match_pathspec_depth() to dir_path_match()
293 + + pathspec: convert some match_pathspec_depth() to ce_path_match()
294 +
295 + Originally merged to 'next' on 2014-01-31
296 +
297 + Allow "git cmd path/", when the 'path' is where a submodule is
298 + bound to the top-level working tree, to match 'path', despite the
299 + extra and unnecessary trailing slash.
300 +
301 +
302 +* nd/test-rename-reset (2014-02-04) 1 commit
303 + (merged to 'next' on 2014-02-25 at 7b25711)
304 + + t7101, t7014: rename test files to indicate what that file is for
305 +
306 + Originally merged to 'next' on 2014-02-06
307 +
308 +
309 +* nv/commit-gpgsign-config (2014-02-24) 3 commits
310 + (merged to 'next' on 2014-02-25 at 0baefa2)
311 + + test the commit.gpgsign config option
312 + + commit-tree: add and document --no-gpg-sign
313 + + commit-tree: add the commit.gpgsign option to sign all commits
314 +
315 + Originally merged to 'next' on 2014-01-03
316 +
317 + Introduce commit.gpgsign configuration variable to force every
318 + commit to be GPG signed. The variable cannot be overriden from the
319 + command line of some of the commands that create commits except for
320 + "git commit" and "git commit-tree", but I am not convinced that it
321 + is a good idea to sprinkle support for --no-gpg-sign everywhere,
322 + which in turn means that this configuration variable may not be
323 + such a good idea.
324 +
325 +
326 +* wk/submodule-on-branch (2014-02-24) 4 commits
327 + (merged to 'next' on 2014-02-25 at c6d9fef)
328 + + Documentation: describe 'submodule update --remote' use case
329 + + submodule: explicit local branch creation in module_clone
330 + + submodule: document module_clone arguments in comments
331 + + submodule: make 'checkout' update_module mode more explicit
332 +
333 + Originally merged to 'next' on 2014-02-06
334 +
335 + Make sure 'submodule update' modes that do not detach HEADs can
336 + be used more pleasantly by checking out a concrete branch when
337 + cloning them to prime the well.
338 +
339 --------------------------------------------------
340 [New Topics]
341
29 -* ak/gitweb-fit-image (2014-02-20) 1 commit
30 - - gitweb: Avoid overflowing page body frame with large images
342 +* jc/stash-pop-not-popped (2014-02-26) 1 commit
343 + - stash pop: mention we did not drop the stash upon failing to apply
344
32 - Instead of allowing an <img> to be shown in whatever size, force
33 - scaling it to fit on the page with max-height/max-width css style
34 - attributes.
345 + "stash pop", upon failing to apply the stash, refrains from
346 + discarding the stash to avoid information loss. Be more explicit
347 + in the error message.
348 +
349 + The wording may want to get a bit more bikeshedding, but otherwise
350 + it should be OK for 'next'.
351 +
352 +
353 +* bg/install-branch-config-skip-prefix (2014-02-28) 2 commits
354 + - branch: use skip_prefix() in install_branch_config()
355 + - t3200-branch: test setting branch as own upstream
356 +
357 + The new test probably wants the longer-term effect of the rejected
358 + operation, not just the rejection warning message.
359 +
360 +
361 +* cn/fetch-prune-overlapping-destination (2014-02-28) 2 commits
362 + - fetch: handle overlaping refspecs on --prune
363 + - fetch: add a failing test for prunning with overlapping refspecs
364 +
365 + Protect refs in a hierarchy that can come from more than one remote
366 + hierarcies from incorrect removal by "git fetch --prune".
367 +
368 + Comments?
369 +
370 +
371 +* dd/find-graft-with-sha1-pos (2014-02-27) 1 commit
372 + - commit.c: use the generic "sha1_pos" function for lookup
373 +
374 + Replace a hand-rolled binary search with a call to our generic
375 + binary search helper function.
376 +
377 +
378 +* dd/use-alloc-grow (2014-03-03) 14 commits
379 + - sha1_file.c: use ALLOC_GROW() in pretend_sha1_file()
380 + - read-cache.c: use ALLOC_GROW() in add_index_entry()
381 + - builtin/mktree.c: use ALLOC_GROW() in append_to_tree()
382 + - attr.c: use ALLOC_GROW() in handle_attr_line()
383 + - dir.c: use ALLOC_GROW() in create_simplify()
384 + - reflog-walk.c: use ALLOC_GROW()
385 + - replace_object.c: use ALLOC_GROW() in register_replace_object()
386 + - patch-ids.c: use ALLOC_GROW() in add_commit()
387 + - diffcore-rename.c: use ALLOC_GROW()
388 + - diff.c: use ALLOC_GROW()
389 + - commit.c: use ALLOC_GROW() in register_commit_graft()
390 + - cache-tree.c: use ALLOC_GROW() in find_subtree()
391 + - bundle.c: use ALLOC_GROW() in add_to_ref_list()
392 + - builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path()
393 +
394 + Replace open-coded reallocation with ALLOC_GROW() macro.
395 +
396 +
397 +* dk/skip-prefix-scan-only-once (2014-03-03) 1 commit
398 + - skip_prefix(): scan prefix only once
399 +
400 + Updaste implementation of skip_prefix() to scan only once; given
401 + that most "prefix" arguments to the inline function are constant
402 + strings whose strlen() can be determined at the compile time, this
403 + might actually make things worse with a compiler with sufficient
404 + intelligence.
405 +
406 +
407 +* jk/doc-coding-guideline (2014-02-28) 1 commit
408 + - CodingGuidelines: mention C whitespace rules
409 +
410 + Elaborate on a style niggle that has been part of "mimic existing
411 + code".
412
413 Will merge to 'next'.
414
415
39 -* da/difftool-git-files (2014-02-24) 1 commit
40 - - difftool: support repositories with .git-files
416 +* jk/shallow-update-fix (2014-02-27) 2 commits
417 + - shallow: automatically clean up shallow tempfiles
418 + - shallow: use stat_validity to check for up-to-date file
419
42 - "git difftool" misbehaved when the repository is bound to the
43 - working tree with the ".git file" mechanism, where a textual
44 - file ".git" tells us where it is.
420 + Serving objects from a shallow repository needs to write a
421 + temporary file to be used, but the serving upload-pack may not have
422 + write access to the repository which is meant to be read-only.
423 +
424 +
425 +* jl/doc-submodule-update-checkout (2014-02-28) 1 commit
426 + - submodule update: consistently document the '--checkout' option
427 +
428 + Add missing documentation for "submodule update --checkout".
429
430 Will merge to 'next'.
431
432
49 -* jk/commit-dates-parsing-fix (2014-02-24) 5 commits
50 - - log: do not segfault on gmtime errors
51 - - log: handle integer overflow in timestamps
52 - - date: check date overflow against time_t
53 - - fsck: report integer overflow in author timestamps
54 - - t4212: test bogus timestamps with git-log
433 +* jn/bisect-coding-style (2014-03-03) 1 commit
434 + - git-bisect.sh: fix a few style issues
435
436 Will merge to 'next'.
437
438
59 -* jk/diff-filespec-cleanup (2014-02-24) 1 commit
60 - - diffcore.h: be explicit about the signedness of is_binary
439 +* jn/branch-lift-unnecessary-name-length-limit (2014-02-28) 1 commit
440 + - branch.c: delete size check of newly tracked branch names
441
62 - Will merge to 'next' and then to 'master' and 'maint'.
442
443 +* mh/simplify-cache-tree-find (2014-03-04) 2 commits
444 + - SQUASH??? use strchrnul
445 + - cache_tree_find(): remove redundant checks
446
65 -* jk/remote-pushremote-config-reading (2014-02-24) 1 commit
66 - - remote: handle pushremote config in any order
447 +
448 +* nd/strbuf-inline-styles (2014-03-03) 1 commit
449 + - strbuf: style fix -- top opening bracket on a separate line
450
451 Will merge to 'next'.
452
453
71 -* jk/repack-pack-keep-objects (2014-02-24) 1 commit
72 - - repack: add `repack.packKeepObjects` config var
73 - (this branch uses jk/pack-bitmap.)
454 +* nd/tag-version-sort (2014-02-27) 1 commit
455 + - tag: support --sort=<spec>
456
75 - Names?
457 + Allow v1.9.0 sorted before v1.10.0 in "git tag --list" output.
458
459
78 -* jm/stash-doc-k-for-keep (2014-02-24) 1 commit
79 - - stash doc: mention short form -k in save description
460 +* rt/help-pretty-prints-cmd-names (2014-02-28) 1 commit
461 + - help.c: rename function "pretty_print_string_list"
462
463 Will merge to 'next'.
464
465
84 -* jn/am-doc-hooks (2014-02-24) 1 commit
85 - - am doc: add a pointer to relevant hooks
466 +* sg/archive-restrict-remote (2014-02-28) 2 commits
467 + - add uploadarchive.allowUnreachable option
468 + - docs: clarify remote restrictions for git-upload-archive
469 +
470 + Allow loosening remote "git archive" invocation security check that
471 + refuses to serve tree-ish not at the tip of any ref.
472
473 Will merge to 'next'.
474
475
90 -* mh/object-code-cleanup (2014-02-24) 4 commits
91 - - sha1_file.c: document a bunch of functions defined in the file
92 - - sha1_file_name(): declare to return a const string
93 - - find_pack_entry(): document last_found_pack
94 - - replace_object: use struct members instead of an array
476
96 - Will merge to 'next'.
477 +* sh/finish-tmp-packfile (2014-03-03) 2 commits
478 + - finish_tmp_packfile():use strbuf for pathname construction
479 + - Merge branch 'sh/write-pack-file-warning-message-fix' into sh/finish-tmp-packfile
480 + (this branch uses sh/write-pack-file-warning-message-fix.)
481
482
99 -* nd/i18n-progress (2014-02-24) 1 commit
100 - - i18n: mark all progress lines for translation
483 +* sh/write-pack-file-warning-message-fix (2014-03-03) 1 commit
484 + - write_pack_file: use correct variable in diagnostic
485 + (this branch is used by sh/finish-tmp-packfile.)
486 +
487 + A warning from "git pack-objects" were generated by referring to an
488 + incorrect variable when forming the filename that we had trouble
489 + with.
490
491 Will merge to 'next'.
492
493
105 -* nd/sha1-file-delta-stack-leakage-fix (2014-02-24) 1 commit
106 - - sha1_file: fix delta_stack memory leak in unpack_entry
494 +* sr/add--interactive-term-readkey (2014-03-03) 2 commits
495 + - git-add--interactive: warn if module for interactive.singlekey is missing
496 + - git-config: document interactive.singlekey requires Term::ReadKey
497
108 - Will merge to 'next' and then to 'master' and 'maint'.
498 + Will merge to 'next'.
499
500
111 -* tc/commit-dry-run-exit-status-tests (2014-02-24) 1 commit
112 - - demonstrate git-commit --dry-run exit code behaviour
501 +* ta/parse-commit-with-skip-prefix (2014-03-04) 1 commit
502 + - commit.c: use skip_prefix() instead of starts_with()
503 +
504 + Will merge to 'next'.
505
506 --------------------------------------------------
507 [Stalled]
508
509 * kb/fast-hashmap-pack-struct (2014-02-24) 1 commit
510 - hashmap.h: make sure map entries are tightly packed
119 - (this branch uses kb/fast-hashmap.)
511
512 I am inclined to drop this; an alternative is to replace it with
513 the "more portable" one that uses #pragma, which I am willing to
@@ -267,694 +658,515 @@ of the repositories listed at
658 . graph.c: mark root commit differently
659
660 In a repository with multiple-roots, "log --graph", especially with
270 - "--oneline", does not give the reader enough visual cue to see
271 - where one line of history ended and a separate history began.
272 -
273 - This is the version that marks the roots 'x' when they would have
274 - been marked as '*'; Keshav Kini suggested an alternative of giving
275 - an extra blank line after every root, which I tend to think is a
276 - better approach to the problem.
277 -
278 - Will discard.
279 -
280 -
281 -* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
282 - - perf-lib: add test_perf_cleanup target
283 - - perf-lib: split starting the test from the execution
284 -
285 - Add test_perf_cleanup shell function to the perf suite, that allows
286 - the script writers to define a test with a clean-up action.
287 -
288 - Will hold.
289 -
290 -
291 -* yt/shortened-rename (2013-10-18) 2 commits
292 - - SQUASH??? style fixes and s/omit/shorten/ where appropriate
293 - - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
294 -
295 - Attempts to give more weight on the fact that a filepair represents
296 - a rename than showing substring of the actual path when diffstat
297 - lines are not wide enough.
298 -
299 - I am not sure if that is solving a right problem, though.
300 -
301 - Will discard.
302 -
303 -
304 -* rv/send-email-cache-generated-mid (2013-08-21) 2 commits
305 - - git-send-email: Cache generated message-ids, use them when prompting
306 - - git-send-email: add optional 'choices' parameter to the ask sub
307 -
308 - Will discard.
309 -
310 -
311 -* rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
312 - - ### DONTMERGE: needs better explanation on what config they need
313 - - pack-refs.c: Add missing call to git_config()
314 - - show-ref.c: Add missing call to git_config()
315 -
316 - The changes themselves are probably good, but it is unclear what
317 - basic setting needs to be read for which exact operation.
318 -
319 - Will discard, tired of waiting for clarification.
320 - $gmane/228294
321 -
322 -
323 -* jc/format-patch (2013-04-22) 2 commits
324 - - format-patch: --inline-single
325 - - format-patch: rename "no_inline" field
326 -
327 - A new option to send a single patch to the standard output to be
328 - appended at the bottom of a message. I personally have no need for
329 - this, but it was easy enough to cobble together. Tests, docs and
330 - stripping out more MIMEy stuff are left as exercises to interested
331 - parties.
332 -
333 -
334 -* jk/gitweb-utf8 (2013-04-08) 4 commits
335 - - gitweb: Fix broken blob action parameters on blob/commitdiff pages
336 - - gitweb: Don't append ';js=(0|1)' to external links
337 - - gitweb: Make feed title valid utf8
338 - - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
339 -
340 - Various fixes to gitweb.
341 -
342 - Drew Northup volunteered to take a look into this ($gmane/226216)
343 - but nothing seems to have happened since then.
344 -
345 - Will discard.
346 -
347 -
348 -* jc/show-branch (2013-06-07) 5 commits
349 - - show-branch: use commit slab to represent bitflags of arbitrary width
350 - - show-branch.c: remove "all_mask"
351 - - show-branch.c: abstract out "flags" operation
352 - - show-branch.c: lift all_mask/all_revs to a global static
353 - - show-branch.c: update comment style
354 -
355 - Waiting for the final step to lift the hard-limit before sending it out.
356 -
357 ---------------------------------------------------
358 -[Cooking]
359 -
360 -* fc/transport-helper-fixes (2014-02-24) 7 commits
361 - - remote-bzr: support the new 'force' option
362 - - test-hg.sh: tests are now expected to pass
363 - - transport-helper.c: do not overwrite forced bit
364 - - transport-helper: check for 'forced update' message
365 - - transport-helper: add 'force' to 'export' helpers
366 - - transport-helper: don't update refs in dry-run
367 - - transport-helper: mismerge fix
368 -
369 - Updates transport-helper, fast-import and fast-export to allow the
370 - ref mapping and ref deletion in a way similar to the natively
371 - supported transports.
372 -
373 - Will merge to 'next'.
374 -
375 -
376 -* kb/fast-hashmap (2014-02-24) 18 commits
377 - (merged to 'next' on 2014-02-25 at 88a98e6)
378 - + name-hash: retire unused index_name_exists()
379 - + hashmap.h: use 'unsigned int' for hash-codes everywhere
380 - + test-hashmap.c: drop unnecessary #includes
381 - + .gitignore: test-hashmap is a generated file
382 - + read-cache.c: fix memory leaks caused by removed cache entries
383 - + builtin/update-index.c: cleanup update_one
384 - + fix 'git update-index --verbose --again' output
385 - + remove old hash.[ch] implementation
386 - + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
387 - + name-hash.c: use new hash map implementation for cache entries
388 - + name-hash.c: remove unreferenced directory entries
389 - + name-hash.c: use new hash map implementation for directories
390 - + diffcore-rename.c: use new hash map implementation
391 - + diffcore-rename.c: simplify finding exact renames
392 - + diffcore-rename.c: move code around to prepare for the next patch
393 - + buitin/describe.c: use new hash map implementation
394 - + add a hashtable implementation that supports O(1) removal
395 - + submodule: don't access the .gitmodules cache entry after removing it
396 - (this branch is used by kb/fast-hashmap-pack-struct.)
397 -
398 - Originally merged to 'next' on 2014-01-03
399 -
400 - Improvements to our hash table to get it to meet the needs of the
401 - msysgit fscache project, with some nice performance improvements.
402 -
403 - Will merge to 'master'.
404 -
405 -
406 -* bc/blame-crlf-test (2014-02-18) 1 commit
407 - - blame: add a failing test for a CRLF issue.
408 -
409 - I have a feeling that a fix for this should be fairly isolated and
410 - trivial (it should be just the matter of paying attention to the
411 - crlf settings when synthesizing the fake commit)---perhaps somebody
412 - can squash in a fix to this?
413 -
414 -
415 -* jk/http-no-curl-easy (2014-02-18) 1 commit
416 - - http: never use curl_easy_perform
417 -
418 - Avoid use of the curl-easy family of functions, which interferes
419 - with connection reuse in a negative way.
420 -
421 - Will merge to 'next'.
422 -
423 -
424 -* jk/janitorial-fixes (2014-02-18) 5 commits
425 - - open_istream(): do not dereference NULL in the error case
426 - - builtin/mv: don't use memory after free
427 - - utf8: use correct type for values in interval table
428 - - utf8: fix iconv error detection
429 - - notes-utils: handle boolean notes.rewritemode correctly
430 -
431 - Will merge to 'next'.
432 -
433 -
434 -* ks/config-file-stdin (2014-02-18) 4 commits
435 - - config: teach "git config --file -" to read from the standard input
436 - - config: change git_config_with_options() interface
437 - - builtin/config.c: rename check_blob_write() -> check_write()
438 - - config: disallow relative include paths from blobs
439 -
440 - Will merge to 'next'.
441 -
442 -
443 -* lb/contrib-contacts-looser-diff-parsing (2014-02-18) 1 commit
444 - - git-contacts: do not fail parsing of good diffs
445 -
446 - Will merge to 'next'.
661 + "--oneline", does not give the reader enough visual cue to see
662 + where one line of history ended and a separate history began.
663
664 + This is the version that marks the roots 'x' when they would have
665 + been marked as '*'; Keshav Kini suggested an alternative of giving
666 + an extra blank line after every root, which I tend to think is a
667 + better approach to the problem.
668
449 -* mh/replace-refs-variable-rename (2014-02-20) 1 commit
450 - - rename read_replace_refs to check_replace_refs
669 + Will discard.
670
452 - Will merge to 'next'.
671
672 +* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
673 + - perf-lib: add test_perf_cleanup target
674 + - perf-lib: split starting the test from the execution
675
455 -* nd/commit-editor-cleanup (2014-02-25) 3 commits
456 - - commit: add --cleanup=scissors
457 - - wt-status.c: move cut-line print code out to wt_status_add_cut_line
458 - - wt-status.c: make cut_line[] const to shrink .data section a bit
676 + Add test_perf_cleanup shell function to the perf suite, that allows
677 + the script writers to define a test with a clean-up action.
678
460 - "git commit --cleanup=<mode>" learned a new mode, scissors.
679 + Will hold.
680
681
463 -* nd/no-more-fnmatch (2014-02-20) 4 commits
464 - - actually remove compat fnmatch source code
465 - - stop using fnmatch (either native or compat)
466 - - Revert "test-wildmatch: add "perf" command to compare wildmatch and fnmatch"
467 - - use wildmatch() directly without fnmatch() wrapper
682 +* yt/shortened-rename (2013-10-18) 2 commits
683 + - SQUASH??? style fixes and s/omit/shorten/ where appropriate
684 + - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
685
469 - We started using wildmatch() in place of fnmatch(3); complete the
470 - process and stop using fnmatch(3).
686 + Attempts to give more weight on the fact that a filepair represents
687 + a rename than showing substring of the actual path when diffstat
688 + lines are not wide enough.
689
472 - Will merge to 'next'.
690 + I am not sure if that is solving a right problem, though.
691
692 + Will discard.
693
475 -* nd/reset-setup-worktree (2014-02-18) 1 commit
476 - - reset: optionally setup worktree and refresh index on --mixed
694
478 - "git reset" needs to refresh the index when working in a working
479 - tree (it can also be used to match the index to the HEAD in an
480 - otherwise bare repository), but it failed to set up the working
481 - tree properly, causing GIT_WORK_TREE to be ignored.
695 +* rv/send-email-cache-generated-mid (2013-08-21) 2 commits
696 + - git-send-email: Cache generated message-ids, use them when prompting
697 + - git-send-email: add optional 'choices' parameter to the ask sub
698
483 - Will merge to 'next'.
699 + Will discard.
700
701
486 -* po/git-help-user-manual (2014-02-18) 1 commit
487 - - Provide a 'git help user-manual' route to the docbook
702 +* rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
703 + - ### DONTMERGE: needs better explanation on what config they need
704 + - pack-refs.c: Add missing call to git_config()
705 + - show-ref.c: Add missing call to git_config()
706
489 - I am not sure if this is even needed.
707 + The changes themselves are probably good, but it is unclear what
708 + basic setting needs to be read for which exact operation.
709
710 + Will discard, tired of waiting for clarification.
711 + $gmane/228294
712
492 -* rt/links-for-asciidoctor (2014-02-20) 1 commit
493 - - Documentation: fix documentation AsciiDoc links for external urls
713
495 - Will merge to 'next'.
714 +* jc/format-patch (2013-04-22) 2 commits
715 + - format-patch: --inline-single
716 + - format-patch: rename "no_inline" field
717
718 + A new option to send a single patch to the standard output to be
719 + appended at the bottom of a message. I personally have no need for
720 + this, but it was easy enough to cobble together. Tests, docs and
721 + stripping out more MIMEy stuff are left as exercises to interested
722 + parties.
723
498 -* tg/index-v4-format (2014-02-24) 3 commits
499 - - read-cache: add index.version config variable
500 - - test-lib: allow setting the index format version
501 - - introduce GIT_INDEX_VERSION environment variable
724
503 - Will merge to 'next'.
725 +* jk/gitweb-utf8 (2013-04-08) 4 commits
726 + - gitweb: Fix broken blob action parameters on blob/commitdiff pages
727 + - gitweb: Don't append ';js=(0|1)' to external links
728 + - gitweb: Make feed title valid utf8
729 + - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
730
731 + Various fixes to gitweb.
732
506 -* tr/diff-submodule-no-reuse-worktree (2014-02-18) 1 commit
507 - - diff: do not reuse_worktree_file for submodules
733 + Drew Northup volunteered to take a look into this ($gmane/226216)
734 + but nothing seems to have happened since then.
735
509 - "git diff --external-diff" incorrectly fed the submodule directory
510 - in the working tree to the external diff driver when it knew it is
511 - the same as one of the versions being compared.
736 + Will discard.
737
513 - Will merge to 'next'.
738
739 +* jc/show-branch (2013-06-07) 5 commits
740 + - show-branch: use commit slab to represent bitflags of arbitrary width
741 + - show-branch.c: remove "all_mask"
742 + - show-branch.c: abstract out "flags" operation
743 + - show-branch.c: lift all_mask/all_revs to a global static
744 + - show-branch.c: update comment style
745
516 -* nd/multiple-work-trees (2014-02-19) 26 commits
517 - - FIXUP???
518 - - gc: support prune --repos
519 - - prune: strategies for linked checkouts
520 - - checkout: detach if the branch is already checked out elsewhere
521 - - checkout: clean up half-prepared directories in --to mode
522 - - checkout: support checking out into a new working directory
523 - - use new wrapper write_file() for simple file writing
524 - - wrapper.c: wrapper to open a file, fprintf then close
525 - - setup.c: support multi-checkout repo setup
526 - - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
527 - - setup.c: convert check_repository_format_gently to use strbuf
528 - - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
529 - - setup.c: convert is_git_directory() to use strbuf
530 - - git-stash: avoid hardcoding $GIT_DIR/logs/....
531 - - *.sh: avoid hardcoding $GIT_DIR/hooks/...
532 - - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
533 - - Add new environment variable $GIT_COMMON_DIR
534 - - commit: use SEQ_DIR instead of hardcoding "sequencer"
535 - - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
536 - - reflog: avoid constructing .lock path with git_path
537 - - *.sh: respect $GIT_INDEX_FILE
538 - - Make git_path() aware of file relocation in $GIT_DIR
539 - - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
540 - - path.c: rename vsnpath() to do_git_path()
541 - - Convert git_snpath() to strbuf_git_path()
542 - - path.c: make get_pathname() return strbuf instead of static buffer
746 + Waiting for the final step to lift the hard-limit before sending it out.
747
544 - The tip commit needs to be dropped; the series needs a serious review.
748 +--------------------------------------------------
749 +[Cooking]
750
751 +* ak/gitweb-fit-image (2014-02-20) 1 commit
752 + - gitweb: Avoid overflowing page body frame with large images
753
547 -* ks/tree-diff-nway (2014-02-24) 2 commits
548 - - combine-diff: speed it up, by using multiparent diff
549 - - tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
550 - (this branch uses ks/combine-diff, ks/tree-diff-more and ks/tree-diff-walk.)
754 + Instead of allowing an <img> to be shown in whatever size, force
755 + scaling it to fit on the page with max-height/max-width css style
756 + attributes.
757
552 - Instead of running N pair-wise diff-trees when inspecting a
553 - N-parent merge, find the set of paths that were touched by walking
554 - N+1 trees in parallel. These set of paths can then be turned into
555 - N pair-wise diff-tree results to be processed through rename
556 - detections and such. And N=2 case nicely degenerates to the usual
557 - 2-way diff-tree, which is very nice.
758 + Will merge to 'next'.
759
559 - Promising, but unfortunately the implementation seems a bit too
560 - unportable for such a core part of the system.
760
562 - Reroll is there, but have run out of time to pick it up this round.
761 +* da/difftool-git-files (2014-02-25) 2 commits
762 + - WIP: test to protect the previous fix
763 + - difftool: support repositories with .git-files
764
765 + "git difftool" misbehaved when the repository is bound to the
766 + working tree with the ".git file" mechanism, where a textual
767 + file ".git" tells us where it is.
768
565 -* al/docs (2014-02-11) 4 commits
566 - (merged to 'next' on 2014-02-25 at 0c1a734)
567 - + docs/git-blame: explain more clearly the example pickaxe use
568 - + docs/git-clone: clarify use of --no-hardlinks option
569 - + docs/git-remote: capitalize first word of initial blurb
570 - + docs/merge-strategies: remove hyphen from mis-merges
769 + Will merge to 'next'.
770
572 - Originally merged to 'next' on 2014-02-13
771
574 - A handful of documentation updates, all trivially harmless.
772 +* jk/commit-dates-parsing-fix (2014-02-24) 5 commits
773 + - log: do not segfault on gmtime errors
774 + - log: handle integer overflow in timestamps
775 + - date: check date overflow against time_t
776 + - fsck: report integer overflow in author timestamps
777 + - t4212: test bogus timestamps with git-log
778
576 - Will merge to 'master'.
779 + Will merge to 'next'.
780
781
579 -* jk/test-ports (2014-02-10) 2 commits
580 - (merged to 'next' on 2014-02-25 at 86ce2e4)
581 - + tests: auto-set git-daemon port
582 - + tests: auto-set LIB_HTTPD_PORT from test name
583 - (this branch is tangled with nd/http-fetch-shallow-fix.)
782 +* jk/diff-filespec-cleanup (2014-02-24) 1 commit
783 + - diffcore.h: be explicit about the signedness of is_binary
784
585 - Originally merged to 'next' on 2014-02-13
785 + Will merge to 'next' and then to 'master' and 'maint'.
786
587 - Avoid having to assign port number to be used in tests manually.
787
589 - Will merge to 'master'.
788 +* jk/remote-pushremote-config-reading (2014-02-24) 1 commit
789 + - remote: handle pushremote config in any order
790
791 + Will merge to 'next'.
792
592 -* nd/daemonize-gc (2014-02-10) 2 commits
593 - (merged to 'next' on 2014-02-25 at f592335)
594 - + gc: config option for running --auto in background
595 - + daemon: move daemonize() to libgit.a
793
597 - Originally merged to 'next' on 2014-02-20
794 +* jk/repack-pack-keep-objects (2014-03-03) 1 commit
795 + - repack: add `repack.packKeptObjects` config var
796
599 - Allow running "gc --auto" in the background.
797
601 - Will merge to 'master'.
798 +* jm/stash-doc-k-for-keep (2014-02-24) 1 commit
799 + - stash doc: mention short form -k in save description
800
801 + Will merge to 'next'.
802
604 -* nd/gitignore-trailing-whitespace (2014-02-10) 2 commits
605 - - dir: ignore trailing spaces in exclude patterns
606 - - dir: warn about trailing spaces in exclude patterns
803
608 - Warn and then ignore trailing whitespaces in .gitignore files,
609 - unless they are quoted for fnmatch(3), e.g. "path\ ".
804 +* jn/am-doc-hooks (2014-02-24) 1 commit
805 + - am doc: add a pointer to relevant hooks
806
807 Will merge to 'next'.
808
809
614 -* nd/log-show-linear-break (2014-02-10) 1 commit
615 - - log: add --show-linear-break to help see non-linear history
616 -
617 - Attempts to show where a single-strand-of-pearls break in "git log"
618 - output.
810 +* mh/object-code-cleanup (2014-02-24) 4 commits
811 + - sha1_file.c: document a bunch of functions defined in the file
812 + - sha1_file_name(): declare to return a const string
813 + - find_pack_entry(): document last_found_pack
814 + - replace_object: use struct members instead of an array
815
620 - "git log --no-merges --show-linear-break" does not seem to work
621 - well (tried on range "pu~10..pu" or something like that).
816 + Will merge to 'next'.
817
818
624 -* ss/completion-rec-sub-fetch-push (2014-02-11) 1 commit
625 - - completion: teach --recurse-submodules to fetch, pull and push
819 +* nd/i18n-progress (2014-02-24) 1 commit
820 + - i18n: mark all progress lines for translation
821
822 Will merge to 'next'.
823
824
630 -* ks/tree-diff-more (2014-02-24) 15 commits
631 - - tree-diff: reuse base str(buf) memory on sub-tree recursion
632 - - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
633 - - tree-diff: rework diff_tree interface to be sha1 based
634 - - tree-diff: remove special-case diff-emitting code for empty-tree cases
635 - - tree-diff: simplify tree_entry_pathcmp
636 - - tree-diff: show_path prototype is not needed anymore
637 - - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
638 - - tree-diff: move all action-taking code out of compare_tree_entry()
639 - - tree-diff: don't assume compare_tree_entry() returns -1,0,1
640 - - tree-diff: consolidate code for emitting diffs and recursion in one place
641 - - tree-diff: show_tree() is not needed
642 - - tree-diff: no need to pass match to skip_uninteresting()
643 - - tree-diff: no need to manually verify that there is no mode change for a path
644 - - combine-diff: move changed-paths scanning logic into its own function
645 - - combine-diff: move show_log_first logic/action out of paths scanning
646 - (this branch is used by ks/tree-diff-nway; uses ks/combine-diff and ks/tree-diff-walk.)
825 +* nd/sha1-file-delta-stack-leakage-fix (2014-02-24) 1 commit
826 + - sha1_file: fix delta_stack memory leak in unpack_entry
827
648 - Code refactoring.
828 + Will merge to 'next' and then to 'master' and 'maint'.
829
650 - Will merge to 'next'.
830
831 +* tc/commit-dry-run-exit-status-tests (2014-02-24) 1 commit
832 + - demonstrate git-commit --dry-run exit code behaviour
833
653 -* jh/note-trees-record-blobs (2014-02-20) 1 commit
654 - - notes: disallow reusing non-blob as a note object
834
656 - "git notes -C <blob>" should not take an object that is not a blob.
835 +* fc/transport-helper-fixes (2014-02-24) 7 commits
836 + - remote-bzr: support the new 'force' option
837 + - test-hg.sh: tests are now expected to pass
838 + - transport-helper.c: do not overwrite forced bit
839 + - transport-helper: check for 'forced update' message
840 + - transport-helper: add 'force' to 'export' helpers
841 + - transport-helper: don't update refs in dry-run
842 + - transport-helper: mismerge fix
843 +
844 + Updates transport-helper, fast-import and fast-export to allow the
845 + ref mapping and ref deletion in a way similar to the natively
846 + supported transports.
847
848 Will merge to 'next'.
849
850
661 -* jk/run-network-tests-by-default (2014-02-14) 1 commit
662 - (merged to 'next' on 2014-02-25 at 62a8ad0)
663 - + tests: turn on network daemon tests by default
851 +* bc/blame-crlf-test (2014-02-18) 1 commit
852 + - blame: add a failing test for a CRLF issue.
853
665 - Originally merged to 'next' on 2014-02-20
854 + I have a feeling that a fix for this should be fairly isolated and
855 + trivial (it should be just the matter of paying attention to the
856 + crlf settings when synthesizing the fake commit)---perhaps somebody
857 + can squash in a fix to this?
858
667 - Teach "make test" to run networking tests when possible by default.
859
669 - Will merge to 'master'.
860 +* jk/http-no-curl-easy (2014-02-18) 1 commit
861 + - http: never use curl_easy_perform
862
863 + Avoid use of the curl-easy family of functions, which interferes
864 + with connection reuse in a negative way.
865
672 -* jc/check-attr-honor-working-tree (2014-02-06) 2 commits
673 - - check-attr: move to the top of working tree when in non-bare repository
674 - - t0003: do not chdir the whole test process
866 + Will merge to 'next'.
867
676 - "git check-attr" when (trying to) work on a repository with a
677 - working tree did not work well when the working tree was specified
678 - via --work-tree (and obviously with --git-dir).
868
680 - The command also works in a bare repository but it reads from the
681 - (possibly stale, irrelevant and/or nonexistent) index, which may
682 - need to be fixed to read from HEAD, but that is a completely
683 - separate issue. As a related tangentto this separate issue, we may
684 - want to also fix "check-ignore", which refuses to work in a bare
685 - repository, to also operate in a bare one.
869 +* jk/janitorial-fixes (2014-02-18) 5 commits
870 + - open_istream(): do not dereference NULL in the error case
871 + - builtin/mv: don't use memory after free
872 + - utf8: use correct type for values in interval table
873 + - utf8: fix iconv error detection
874 + - notes-utils: handle boolean notes.rewritemode correctly
875
876 Will merge to 'next'.
877
878
690 -* nd/http-fetch-shallow-fix (2014-02-13) 7 commits
691 - (merged to 'next' on 2014-02-25 at ad4e9c9)
692 - + t5537: move http tests out to t5539
693 - + fetch-pack: fix deepen shallow over smart http with no-done cap
694 - + protocol-capabilities.txt: document no-done
695 - + protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt
696 - + pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done'
697 - + test: rename http fetch and push test files
698 - + tests: auto-set LIB_HTTPD_PORT from test name
699 - (this branch is tangled with jk/test-ports.)
700 -
701 - Originally merged to 'next' on 2014-02-13
879 +* ks/config-file-stdin (2014-02-18) 4 commits
880 + - config: teach "git config --file -" to read from the standard input
881 + - config: change git_config_with_options() interface
882 + - builtin/config.c: rename check_blob_write() -> check_write()
883 + - config: disallow relative include paths from blobs
884
703 - Attempting to deepen a shallow repository by fetching over smart
704 - HTTP transport failed in the protocol exchange, when no-done
705 - extension was used. The fetching side waited for the list of
706 - shallow boundary commits after the sending end stopped talking to
707 - it.
885 + Will merge to 'next'.
886
709 - Will merge to 'master'.
887
888 +* lb/contrib-contacts-looser-diff-parsing (2014-02-18) 1 commit
889 + - git-contacts: do not fail parsing of good diffs
890
712 -* jk/makefile (2014-02-05) 16 commits
713 - - FIXUP
714 - - move LESS/LV pager environment to Makefile
715 - - Makefile: teach scripts to include make variables
716 - - FIXUP
717 - - Makefile: auto-build C strings from make variables
718 - - Makefile: drop *_SQ variables
719 - - FIXUP
720 - - Makefile: add c-quote helper function
721 - - Makefile: introduce sq function for shell-quoting
722 - - Makefile: always create files via make-var
723 - - Makefile: store GIT-* sentinel files in MAKE/
724 - - Makefile: prefer printf to echo for GIT-*
725 - - Makefile: use tempfile/mv strategy for GIT-*
726 - - Makefile: introduce make-var helper function
727 - - Makefile: fix git-instaweb dependency on gitweb
728 - - Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
891 + Will merge to 'next'.
892
730 - Simplify the Makefile rules and macros that exist primarily for
731 - quoting purposes, and make it easier to robustly express the
732 - dependency rules.
893
734 - Expecting a reroll.
894 +* mh/replace-refs-variable-rename (2014-02-28) 3 commits
895 + - Document some functions defined in object.c
896 + - Add docstrings for lookup_replace_object() and do_lookup_replace_object()
897 + - rename read_replace_refs to check_replace_refs
898
899 + Will merge to 'next'.
900
737 -* ks/tree-diff-walk (2014-02-24) 5 commits
738 - (merged to 'next' on 2014-02-25 at 17e594f)
739 - + tree-walk: finally switch over tree descriptors to contain a pre-parsed entry
740 - + revision: convert to using diff_tree_sha1()
741 - + line-log: convert to using diff_tree_sha1()
742 - + tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL
743 - + tree-diff: allow diff_tree_sha1 to accept NULL sha1
744 - (this branch is used by ks/combine-diff, ks/tree-diff-more and ks/tree-diff-nway.)
901
746 - Originally merged to 'next' on 2014-02-06
902 +* nd/commit-editor-cleanup (2014-02-25) 3 commits
903 + - commit: add --cleanup=scissors
904 + - wt-status.c: move cut-line print code out to wt_status_add_cut_line
905 + - wt-status.c: make cut_line[] const to shrink .data section a bit
906
748 - Will merge to 'master'.
907 + "git commit --cleanup=<mode>" learned a new mode, scissors.
908
909
751 -* nd/reset-intent-to-add (2014-02-05) 1 commit
752 - (merged to 'next' on 2014-02-25 at 0c48245)
753 - + reset: support "--mixed --intent-to-add" mode
910 +* nd/no-more-fnmatch (2014-02-20) 4 commits
911 + - actually remove compat fnmatch source code
912 + - stop using fnmatch (either native or compat)
913 + - Revert "test-wildmatch: add "perf" command to compare wildmatch and fnmatch"
914 + - use wildmatch() directly without fnmatch() wrapper
915
755 - Originally merged to 'next' on 2014-02-07
916 + We started using wildmatch() in place of fnmatch(3); complete the
917 + process and stop using fnmatch(3).
918
757 - Will merge to 'master'.
919 + Will merge to 'next'.
920
921
760 -* nd/test-rename-reset (2014-02-04) 1 commit
761 - (merged to 'next' on 2014-02-25 at 7b25711)
762 - + t7101, t7014: rename test files to indicate what that file is for
922 +* nd/reset-setup-worktree (2014-02-18) 1 commit
923 + - reset: optionally setup worktree and refresh index on --mixed
924
764 - Originally merged to 'next' on 2014-02-06
925 + "git reset" needs to refresh the index when working in a working
926 + tree (it can also be used to match the index to the HEAD in an
927 + otherwise bare repository), but it failed to set up the working
928 + tree properly, causing GIT_WORK_TREE to be ignored.
929
766 - Will merge to 'master'.
930 + Will merge to 'next'.
931
932
769 -* tr/remerge-diff (2014-02-05) 6 commits
770 - - log --remerge-diff: show what the conflict resolution changed
771 - - merge-recursive: allow storing conflict hunks in index
772 - - Fold all merge diff variants into an enum
773 - - combine-diff: do not pass revs->dense_combined_merges redundantly
774 - - log: add a merge base inspection option
775 - - pretty: refactor add_merge_info() into parts
776 - (this branch uses tr/merge-recursive-index-only.)
933 +* po/git-help-user-manual (2014-02-18) 1 commit
934 + - Provide a 'git help user-manual' route to the docbook
935
778 - "log -p" output learns a new way to let users inspect a merge
779 - commit by showing the differences between the automerged result
780 - with conflicts the person who recorded the merge would have seen
781 - and the final conflict resolution that was recorded in the merge.
936 + I am not sure if this is even needed.
937
783 - RFC.
938
939 +* rt/links-for-asciidoctor (2014-02-20) 1 commit
940 + - Documentation: fix documentation AsciiDoc links for external urls
941
786 -* bs/stdio-undef-before-redef (2014-01-31) 1 commit
787 - (merged to 'next' on 2014-02-25 at 77c4b5f)
788 - + git-compat-util.h: #undef (v)snprintf before #define them
942 + Will merge to 'next'.
943
790 - Originally merged to 'next' on 2014-01-31
944
792 - When we replace broken macros from stdio.h in git-compat-util.h,
793 - #undef them to avoid re-definition warnings from the C
794 - preprocessor.
945 +* tg/index-v4-format (2014-02-24) 3 commits
946 + - read-cache: add index.version config variable
947 + - test-lib: allow setting the index format version
948 + - introduce GIT_INDEX_VERSION environment variable
949
796 - Will merge to 'master'.
950 + Will merge to 'next'.
951
952
799 -* ep/varscope (2014-01-31) 7 commits
800 - (merged to 'next' on 2014-02-25 at e967c7e)
801 - + builtin/gc.c: reduce scope of variables
802 - + builtin/fetch.c: reduce scope of variable
803 - + builtin/commit.c: reduce scope of variables
804 - + builtin/clean.c: reduce scope of variable
805 - + builtin/blame.c: reduce scope of variables
806 - + builtin/apply.c: reduce scope of variables
807 - + bisect.c: reduce scope of variable
953 +* tr/diff-submodule-no-reuse-worktree (2014-02-18) 1 commit
954 + - diff: do not reuse_worktree_file for submodules
955
809 - Originally merged to 'next' on 2014-01-31
956 + "git diff --external-diff" incorrectly fed the submodule directory
957 + in the working tree to the external diff driver when it knew it is
958 + the same as one of the versions being compared.
959
811 - Shrink lifetime of variables by moving their definitions to an
812 - inner scope where appropriate.
960 + Will merge to 'next'.
961
814 - Will merge to 'master'.
962
963 +* nd/multiple-work-trees (2014-02-19) 26 commits
964 + - FIXUP???
965 + - gc: support prune --repos
966 + - prune: strategies for linked checkouts
967 + - checkout: detach if the branch is already checked out elsewhere
968 + - checkout: clean up half-prepared directories in --to mode
969 + - checkout: support checking out into a new working directory
970 + - use new wrapper write_file() for simple file writing
971 + - wrapper.c: wrapper to open a file, fprintf then close
972 + - setup.c: support multi-checkout repo setup
973 + - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
974 + - setup.c: convert check_repository_format_gently to use strbuf
975 + - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
976 + - setup.c: convert is_git_directory() to use strbuf
977 + - git-stash: avoid hardcoding $GIT_DIR/logs/....
978 + - *.sh: avoid hardcoding $GIT_DIR/hooks/...
979 + - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
980 + - Add new environment variable $GIT_COMMON_DIR
981 + - commit: use SEQ_DIR instead of hardcoding "sequencer"
982 + - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
983 + - reflog: avoid constructing .lock path with git_path
984 + - *.sh: respect $GIT_INDEX_FILE
985 + - Make git_path() aware of file relocation in $GIT_DIR
986 + - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
987 + - path.c: rename vsnpath() to do_git_path()
988 + - Convert git_snpath() to strbuf_git_path()
989 + - path.c: make get_pathname() return strbuf instead of static buffer
990
817 -* mw/symlinks (2014-02-04) 6 commits
818 - (merged to 'next' on 2014-02-25 at 15dc036)
819 - + setup: don't dereference in-tree symlinks for absolute paths
820 - + setup: add abspath_part_inside_repo() function
821 - + t0060: add tests for prefix_path when path begins with work tree
822 - + t0060: add test for prefix_path when path == work tree
823 - + t0060: add test for prefix_path on symlinks via absolute paths
824 - + t3004: add test for ls-files on symlinks via absolute paths
991 + The tip commit needs to be dropped; the series needs a serious review.
992
826 - Originally merged to 'next' on 2014-02-06
993
828 - All subcommands that take pathspecs mishandled an in-tree symbolic
829 - link when given it as a full path from the root (which arguably is
830 - a sick way to use pathspecs). "git ls-files -s $(pwd)/RelNotes" in
831 - our tree is an easy reproduction recipe.
994 +* ks/tree-diff-nway (2014-03-04) 19 commits
995 + - combine-diff: speed it up, by using multiparent diff tree-walker directly
996 + - tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
997 + - Portable alloca for Git
998 + - tree-diff: reuse base str(buf) memory on sub-tree recursion
999 + - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
1000 + - tree-diff: rework diff_tree interface to be sha1 based
1001 + - tree-diff: diff_tree() should now be static
1002 + - tree-diff: remove special-case diff-emitting code for empty-tree cases
1003 + - tree-diff: simplify tree_entry_pathcmp
1004 + - tree-diff: show_path prototype is not needed anymore
1005 + - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
1006 + - tree-diff: move all action-taking code out of compare_tree_entry()
1007 + - tree-diff: don't assume compare_tree_entry() returns -1,0,1
1008 + - tree-diff: consolidate code for emitting diffs and recursion in one place
1009 + - tree-diff: show_tree() is not needed
1010 + - tree-diff: no need to pass match to skip_uninteresting()
1011 + - tree-diff: no need to manually verify that there is no mode change for a path
1012 + - combine-diff: move changed-paths scanning logic into its own function
1013 + - combine-diff: move show_log_first logic/action out of paths scanning
1014 + (this branch uses ks/combine-diff.)
1015
833 - Will merge to 'master'.
1016 + Instead of running N pair-wise diff-trees when inspecting a
1017 + N-parent merge, find the set of paths that were touched by walking
1018 + N+1 trees in parallel. These set of paths can then be turned into
1019 + N pair-wise diff-tree results to be processed through rename
1020 + detections and such. And N=2 case nicely degenerates to the usual
1021 + 2-way diff-tree, which is very nice.
1022
1023
836 -* ks/combine-diff (2014-02-24) 6 commits
837 - (merged to 'next' on 2014-02-25 at 69e5a87)
838 - + tests: add checking that combine-diff emits only correct paths
839 - + combine-diff: simplify intersect_paths() further
840 - + combine-diff: combine_diff_path.len is not needed anymore
841 - + combine-diff: optimize combine_diff_path sets intersection
842 - + diff test: add tests for combine-diff with orderfile
843 - + diffcore-order: export generic ordering interface
844 - (this branch is used by ks/tree-diff-more and ks/tree-diff-nway; uses ks/tree-diff-walk.)
1024 +* nd/daemonize-gc (2014-02-10) 2 commits
1025 + (merged to 'next' on 2014-02-25 at f592335)
1026 + + gc: config option for running --auto in background
1027 + + daemon: move daemonize() to libgit.a
1028
1029 Originally merged to 'next' on 2014-02-20
1030
848 - Teach combine-diff to honour the path-output-order imposed by
849 - diffcore-order, and optimize how matching paths are found in
850 - the N-way diffs made with parents.
1031 + Allow running "gc --auto" in the background.
1032
1033 Will merge to 'master'.
1034
1035
855 -* bc/gpg-sign-everywhere (2014-02-11) 9 commits
856 - (merged to 'next' on 2014-02-25 at 7db014c)
857 - + pull: add the --gpg-sign option.
858 - + rebase: add the --gpg-sign option
859 - + rebase: parse options in stuck-long mode
860 - + rebase: don't try to match -M option
861 - + rebase: remove useless arguments check
862 - + am: add the --gpg-sign option
863 - + am: parse options in stuck-long mode
864 - + git-sh-setup.sh: add variable to use the stuck-long mode
865 - + cherry-pick, revert: add the --gpg-sign option
1036 +* nd/gitignore-trailing-whitespace (2014-02-10) 2 commits
1037 + - dir: ignore trailing spaces in exclude patterns
1038 + - dir: warn about trailing spaces in exclude patterns
1039 +
1040 + Warn and then ignore trailing whitespaces in .gitignore files,
1041 + unless they are quoted for fnmatch(3), e.g. "path\ ".
1042 +
1043 + Will merge to 'next'.
1044
867 - Originally merged to 'next' on 2014-02-13
1045
869 - Teach "--gpg-sign" option to many commands that create commits.
1046 +* nd/log-show-linear-break (2014-02-10) 1 commit
1047 + - log: add --show-linear-break to help see non-linear history
1048
871 - Will merge to 'master'.
1049 + Attempts to show where a single-strand-of-pearls break in "git log"
1050 + output.
1051
1052 + "git log --no-merges --show-linear-break" does not seem to work
1053 + well (tried on range "pu~10..pu" or something like that).
1054
874 -* ds/rev-parse-required-args (2014-01-28) 1 commit
875 - (merged to 'next' on 2014-02-25 at bba6e79)
876 - + rev-parse: check i before using argv[i] against argc
1055
878 - Originally merged to 'next' on 2014-01-31
1056 +* ss/completion-rec-sub-fetch-push (2014-02-11) 1 commit
1057 + - completion: teach --recurse-submodules to fetch, pull and push
1058
880 - "git rev-parse --default" without the required option argument did
881 - not diagnose it as an error.
1059 + Will merge to 'next'.
1060
883 - Will merge to 'master'.
1061
1062 +* jh/note-trees-record-blobs (2014-02-20) 1 commit
1063 + - notes: disallow reusing non-blob as a note object
1064
886 -* jk/config-path-include-fix (2014-01-28) 2 commits
887 - (merged to 'next' on 2014-02-25 at 3604f75)
888 - + handle_path_include: don't look at NULL value
889 - + expand_user_path: do not look at NULL path
1065 + "git notes -C <blob>" should not take an object that is not a blob.
1066
891 - Originally merged to 'next' on 2014-01-31
1067 + Will merge to 'next'.
1068
893 - include.path variable (or any variable that expects a path that can
894 - use ~username expansion) in the configuration file is not a
895 - boolean, but the code failed to check it.
1069 +
1070 +* jk/run-network-tests-by-default (2014-02-14) 1 commit
1071 + (merged to 'next' on 2014-02-25 at 62a8ad0)
1072 + + tests: turn on network daemon tests by default
1073 +
1074 + Originally merged to 'next' on 2014-02-20
1075 +
1076 + Teach "make test" to run networking tests when possible by default.
1077
1078 Will merge to 'master'.
1079
1080
900 -* nd/submodule-pathspec-ending-with-slash (2014-02-24) 8 commits
901 - (merged to 'next' on 2014-02-25 at 954b7a2)
902 - + clean: use cache_name_is_other()
903 - + clean: replace match_pathspec() with dir_path_match()
904 - + pathspec: pass directory indicator to match_pathspec_item()
905 - + match_pathspec: match pathspec "foo/" against directory "foo"
906 - + dir.c: prepare match_pathspec_item for taking more flags
907 - + pathspec: rename match_pathspec_depth() to match_pathspec()
908 - + pathspec: convert some match_pathspec_depth() to dir_path_match()
909 - + pathspec: convert some match_pathspec_depth() to ce_path_match()
1081 +* jc/check-attr-honor-working-tree (2014-02-06) 2 commits
1082 + - check-attr: move to the top of working tree when in non-bare repository
1083 + - t0003: do not chdir the whole test process
1084
911 - Originally merged to 'next' on 2014-01-31
1085 + "git check-attr" when (trying to) work on a repository with a
1086 + working tree did not work well when the working tree was specified
1087 + via --work-tree (and obviously with --git-dir).
1088
913 - Allow "git cmd path/", when the 'path' is where a submodule is
914 - bound to the top-level working tree, to match 'path', despite the
915 - extra and unnecessary trailing slash.
1089 + The command also works in a bare repository but it reads from the
1090 + (possibly stale, irrelevant and/or nonexistent) index, which may
1091 + need to be fixed to read from HEAD, but that is a completely
1092 + separate issue. As a related tangentto this separate issue, we may
1093 + want to also fix "check-ignore", which refuses to work in a bare
1094 + repository, to also operate in a bare one.
1095
917 - Will merge to 'master'.
1096 + Will merge to 'next'.
1097
1098
920 -* lt/request-pull (2014-01-31) 4 commits
921 - - pull-request: test updates
922 - - request-pull: pick up tag message as before
923 - - Make request-pull able to take a refspec of form local:remote
924 - - Make 'git request-pull' more strict about matching
1099 +* jk/makefile (2014-02-05) 16 commits
1100 + - FIXUP
1101 + - move LESS/LV pager environment to Makefile
1102 + - Makefile: teach scripts to include make variables
1103 + - FIXUP
1104 + - Makefile: auto-build C strings from make variables
1105 + - Makefile: drop *_SQ variables
1106 + - FIXUP
1107 + - Makefile: add c-quote helper function
1108 + - Makefile: introduce sq function for shell-quoting
1109 + - Makefile: always create files via make-var
1110 + - Makefile: store GIT-* sentinel files in MAKE/
1111 + - Makefile: prefer printf to echo for GIT-*
1112 + - Makefile: use tempfile/mv strategy for GIT-*
1113 + - Makefile: introduce make-var helper function
1114 + - Makefile: fix git-instaweb dependency on gitweb
1115 + - Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
1116
926 - Waiting for the updates to settle.
1117 + Simplify the Makefile rules and macros that exist primarily for
1118 + quoting purposes, and make it easier to robustly express the
1119 + dependency rules.
1120
1121 + Expecting a reroll.
1122
929 -* bk/refresh-missing-ok-in-merge-recursive (2014-02-24) 4 commits
930 - (merged to 'next' on 2014-02-25 at 2651cb0)
931 - + merge-recursive.c: tolerate missing files while refreshing index
932 - + read-cache.c: extend make_cache_entry refresh flag with options
933 - + read-cache.c: refactor --ignore-missing implementation
934 - + t3030-merge-recursive: test known breakage with empty work tree
1123
936 - Originally merged to 'next' on 2014-01-29
1124 +* tr/remerge-diff (2014-02-26) 5 commits
1125 + . log --remerge-diff: show what the conflict resolution changed
1126 + . name-hash: allow dir hashing even when !ignore_case
1127 + . merge-recursive: allow storing conflict hunks in index
1128 + . revision: fold all merge diff variants into an enum merge_diff_mode
1129 + . combine-diff: do not pass revs->dense_combined_merges redundantly
1130 + (this branch uses tr/merge-recursive-index-only.)
1131
938 - Allow "merge-recursive" to work in an empty (temporary) working
939 - tree again when there are renames involved, correcting an old
940 - regression in 1.7.7 era.
1132 + "log -p" output learns a new way to let users inspect a merge
1133 + commit by showing the differences between the automerged result
1134 + with conflicts the person who recorded the merge would have seen
1135 + and the final conflict resolution that was recorded in the merge.
1136
942 - Will merge to 'master'.
1137 + RFC. This latest round clashes with the kb/fast-hashmap topic in
1138 + 'master'.
1139
1140
945 -* nd/diff-quiet-stat-dirty (2014-02-24) 2 commits
946 - (merged to 'next' on 2014-02-25 at 7cad1d3)
947 - + diff: do not quit early on stat-dirty files
948 - + diff.c: move diffcore_skip_stat_unmatch core logic out for reuse later
1141 +* ks/combine-diff (2014-02-24) 6 commits
1142 + (merged to 'next' on 2014-02-25 at 69e5a87)
1143 + + tests: add checking that combine-diff emits only correct paths
1144 + + combine-diff: simplify intersect_paths() further
1145 + + combine-diff: combine_diff_path.len is not needed anymore
1146 + + combine-diff: optimize combine_diff_path sets intersection
1147 + + diff test: add tests for combine-diff with orderfile
1148 + + diffcore-order: export generic ordering interface
1149 + (this branch is used by ks/tree-diff-nway.)
1150
950 - Originally merged to 'next' on 2014-01-31
1151 + Originally merged to 'next' on 2014-02-20
1152
952 - "git diff --quiet -- pathspec1 pathspec2" sometimes did not return
953 - correct status value.
1153 + Teach combine-diff to honour the path-output-order imposed by
1154 + diffcore-order, and optimize how matching paths are found in
1155 + the N-way diffs made with parents.
1156
1157 Will merge to 'master'.
1158
1159
1160 +* lt/request-pull (2014-02-25) 5 commits
1161 + - request-pull: resurrect "pretty refname" feature
1162 + - request-pull: test updates
1163 + - request-pull: pick up tag message as before
1164 + - request-pull: allow "local:remote" to specify names on both ends
1165 + - request-pull: more strictly match local/remote branches
1166 +
1167 + Needs doc update but otherwise it should be ready for 'next'.
1168 +
1169 +
1170 * cc/interpret-trailers (2014-02-20) 14 commits
1171 - Documentation: add documentation for 'git interpret-trailers'
1172 - trailer: add tests for commands using env variables
@@ -971,23 +1183,7 @@ of the repositories listed at
1183 - trailer: process trailers from file and arguments
1184 - trailer: add data structures and basic functions for commit trailers
1185
974 - Waiting for a reroll.
975 - Hopefully ready for 'next'.
976 -
977 -
978 -* dk/blame-janitorial (2014-02-25) 5 commits
979 - (merged to 'next' on 2014-02-25 at d5faeb2)
980 - + builtin/blame.c::find_copy_in_blob: no need to scan for region end
981 - + blame.c: prepare_lines should not call xrealloc for every line
982 - + builtin/blame.c::prepare_lines: fix allocation size of sb->lineno
983 - + builtin/blame.c: eliminate same_suspect()
984 - + builtin/blame.c: struct blame_entry does not need a prev link
985 -
986 - Originally merged to 'next' on 2014-02-13
987 -
988 - Code clean-up.
989 -
990 - Will merge to 'master'.
1186 + Will pick up the reroll but not today.
1187
1188
1189 * bl/blame-full-history (2014-01-14) 1 commit
@@ -1006,35 +1202,6 @@ of the repositories listed at
1202 Will discard.
1203
1204
1009 -* da/pull-ff-configuration (2014-01-15) 2 commits
1010 - (merged to 'next' on 2014-02-25 at b9e4f61)
1011 - + pull: add --ff-only to the help text
1012 - + pull: add pull.ff configuration
1013 -
1014 - Originally merged to 'next' on 2014-01-22
1015 -
1016 - "git pull" learned to pay attention to pull.ff configuration
1017 - variable.
1018 -
1019 - Will merge to 'master'.
1020 -
1021 -
1022 -* wk/submodule-on-branch (2014-02-24) 4 commits
1023 - (merged to 'next' on 2014-02-25 at c6d9fef)
1024 - + Documentation: describe 'submodule update --remote' use case
1025 - + submodule: explicit local branch creation in module_clone
1026 - + submodule: document module_clone arguments in comments
1027 - + submodule: make 'checkout' update_module mode more explicit
1028 -
1029 - Originally merged to 'next' on 2014-02-06
1030 -
1031 - Make sure 'submodule update' modes that do not detach HEADs can
1032 - be used more pleasantly by checking out a concrete branch when
1033 - cloning them to prime the well.
1034 -
1035 - Will merge to 'master'.
1036 -
1037 -
1205 * jk/warn-on-object-refname-ambiguity (2014-01-09) 6 commits
1206 - get_sha1: drop object/refname ambiguity flag
1207 - get_sha1: speed up ambiguous 40-hex test
@@ -1053,64 +1220,6 @@ of the repositories listed at
1220 Expecting a reroll.
1221
1222
1056 -* jk/pack-bitmap (2014-02-12) 26 commits
1057 - (merged to 'next' on 2014-02-25 at 5f65d26)
1058 - + ewah: unconditionally ntohll ewah data
1059 - + ewah: support platforms that require aligned reads
1060 - + read-cache: use get_be32 instead of hand-rolled ntoh_l
1061 - + block-sha1: factor out get_be and put_be wrappers
1062 - + do not discard revindex when re-preparing packfiles
1063 - + pack-bitmap: implement optional name_hash cache
1064 - + t/perf: add tests for pack bitmaps
1065 - + t: add basic bitmap functionality tests
1066 - + count-objects: recognize .bitmap in garbage-checking
1067 - + repack: consider bitmaps when performing repacks
1068 - + repack: handle optional files created by pack-objects
1069 - + repack: turn exts array into array-of-struct
1070 - + repack: stop using magic number for ARRAY_SIZE(exts)
1071 - + pack-objects: implement bitmap writing
1072 - + rev-list: add bitmap mode to speed up object lists
1073 - + pack-objects: use bitmaps when packing objects
1074 - + pack-objects: split add_object_entry
1075 - + pack-bitmap: add support for bitmap indexes
1076 - + documentation: add documentation for the bitmap format
1077 - + ewah: compressed bitmap implementation
1078 - + compat: add endianness helpers
1079 - + sha1_file: export `git_open_noatime`
1080 - + revision: allow setting custom limiter function
1081 - + pack-objects: factor out name_hash
1082 - + pack-objects: refactor the packing list
1083 - + revindex: export new APIs
1084 - (this branch is used by jk/repack-pack-keep-objects.)
1085 -
1086 - Originally merged to 'next' on 2014-02-13
1087 -
1088 - Borrow the bitmap index into packfiles from JGit to speed up
1089 - enumeration of objects involved in a commit range without having to
1090 - fully traverse the history.
1091 -
1092 - Will merge to 'master'.
1093 -
1094 -
1095 -* nv/commit-gpgsign-config (2014-02-24) 3 commits
1096 - (merged to 'next' on 2014-02-25 at 0baefa2)
1097 - + test the commit.gpgsign config option
1098 - + commit-tree: add and document --no-gpg-sign
1099 - + commit-tree: add the commit.gpgsign option to sign all commits
1100 -
1101 - Originally merged to 'next' on 2014-01-03
1102 -
1103 - Introduce commit.gpgsign configuration variable to force every
1104 - commit to be GPG signed. The variable cannot be overriden from the
1105 - command line of some of the commands that create commits except for
1106 - "git commit" and "git commit-tree", but I am not convinced that it
1107 - is a good idea to sprinkle support for --no-gpg-sign everywhere,
1108 - which in turn means that this configuration variable may not be
1109 - such a good idea.
1110 -
1111 - Will merge to 'master'.
1112 -
1113 -
1223 * cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
1224 (merged to 'next' on 2014-02-25 at 473e143)
1225 + strbuf: remove prefixcmp() and suffixcmp()
@@ -1213,3 +1322,29 @@ of the repositories listed at
1322 . diffcore-order: export generic ordering interface
1323
1324 Now part of ks/combine-diff topic.
1325 +
1326 +
1327 +* ks/tree-diff-more (2014-02-24) 15 commits
1328 + - tree-diff: reuse base str(buf) memory on sub-tree recursion
1329 + - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
1330 + - tree-diff: rework diff_tree interface to be sha1 based
1331 + - tree-diff: remove special-case diff-emitting code for empty-tree cases
1332 + - tree-diff: simplify tree_entry_pathcmp
1333 + - tree-diff: show_path prototype is not needed anymore
1334 + - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
1335 + - tree-diff: move all action-taking code out of compare_tree_entry()
1336 + - tree-diff: don't assume compare_tree_entry() returns -1,0,1
1337 + - tree-diff: consolidate code for emitting diffs and recursion in one place
1338 + - tree-diff: show_tree() is not needed
1339 + - tree-diff: no need to pass match to skip_uninteresting()
1340 + - tree-diff: no need to manually verify that there is no mode change for a path
1341 + - combine-diff: move changed-paths scanning logic into its own function
1342 + - combine-diff: move show_log_first logic/action out of paths scanning
1343 + (this branch is used by ks/tree-diff-nway; uses ks/combine-diff.)
1344 +
1345 + Code refactoring.
1346 +
1347 + Now part of ks/tree-diff-nway.
1348 +
1349 +
1350 +