1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Jun 2015, #01; Tue, 2)
4 X-master-at: f86f31ab33c3406adebbb9f9f61be550dcc5a472
5 X-next-at: b4379f4514b71bf690061de15eb494cafb09b9b1
7 What's cooking in git.git (Jun 2015, #01; Tue, 2)
8 --------------------------------------------------
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
14 You can find the changes described here in the integration branches
15 of the repositories listed at
17 http://git-blame.blogspot.com/p/git-public-repositories.html
19 --------------------------------------------------
20 [Graduated to "master"]
22 * ah/usage-strings (2015-05-03) 1 commit
23 (merged to 'next' on 2015-05-28 at 5f4350e)
24 + blame, log: format usage strings similarly to those in documentation
26 A few usage string updates.
29 * da/mergetool-winmerge (2015-05-20) 2 commits
30 (merged to 'next' on 2015-05-26 at d6333e9)
31 + mergetools: add winmerge as a builtin tool
32 + mergetool--lib: set IFS for difftool and mergetool
34 "git mergetool" learned to drive WinMerge as a backend.
37 * dt/cat-file-follow-symlinks (2015-05-20) 3 commits
38 (merged to 'next' on 2015-05-26 at 7ae52d4)
39 + cat-file: add --follow-symlinks to --batch
40 + sha1_name: get_sha1_with_context learns to follow symlinks
41 + tree-walk: learn get_tree_entry_follow_symlinks
43 "git cat-file --batch(-check)" learned the "--follow-symlinks"
44 option that follows an in-tree symbolic link when asked about an
45 object via extended SHA-1 syntax, e.g. HEAD:RelNotes that points at
46 Documentation/RelNotes/2.5.0.txt. With the new option, the command
47 behaves as if HEAD:Documentation/RelNotes/2.5.0.txt was given as
51 * dt/clean-pathspec-filter-then-lstat (2015-05-18) 1 commit
52 (merged to 'next' on 2015-05-26 at 9b24d71)
53 + clean: only lstat files in pathspec
55 "git clean pathspec..." tried to lstat(2) and complain even for
56 paths outside the given pathspec.
59 * fm/fetch-raw-sha1 (2015-05-22) 3 commits
60 (merged to 'next' on 2015-05-26 at dc3f1b3)
61 + upload-pack: optionally allow fetching reachable sha1
62 + upload-pack: prepare to extend allow-tip-sha1-in-want
63 + config.txt: clarify allowTipSHA1InWant with camelCase
65 "git upload-pack" that serves "git fetch" can be told to serve
66 commits that are not at the tip of any ref, as long as they are
67 reachable from a ref, with uploadpack.allowReachableSHA1InWant
68 configuration variable.
71 * jh/filter-empty-contents (2015-05-18) 1 commit
72 (merged to 'next' on 2015-05-26 at 9cad398)
73 + sha1_file: pass empty buffer to index empty file
75 The clean/smudge interface did not work well when filtering an
76 empty contents (failed and then passed the empty input through).
77 It can be argued that a filter that produces anything but empty for
78 an empty input is nonsense, but if the user wants to do strange
82 * jk/http-backend-deadlock (2015-05-25) 1 commit
83 (merged to 'next' on 2015-05-26 at 9f3bd8a)
84 + Merge branch 'jk/http-backend-deadlock-2.3' into jk/http-backend-deadlock
85 (this branch uses jk/http-backend-deadlock-2.2 and jk/http-backend-deadlock-2.3.)
87 Communication between the HTTP server and http_backend process can
88 lead to a dead-lock when relaying a large ref negotiation request.
89 Diagnose the situation better, and mitigate it by reading such a
90 request first into core (to a reasonable limit).
93 * jk/http-backend-deadlock-2.2 (2015-05-25) 3 commits
94 + http-backend: spool ref negotiation requests to buffer
95 + t5551: factor out tag creation
96 + http-backend: fix die recursion with custom handler
97 (this branch is used by jk/http-backend-deadlock and jk/http-backend-deadlock-2.3.)
99 Communication between the HTTP server and http_backend process can
100 lead to a dead-lock when relaying a large ref negotiation request.
101 Diagnose the situation better, and mitigate it by reading such a
102 request first into core (to a reasonable limit).
104 This was wiggled back to apply to the 2.2 maintenance track
105 (original was for 2.4).
108 * jk/http-backend-deadlock-2.3 (2015-05-25) 1 commit
109 + Merge branch 'jk/http-backend-deadlock-2.2' into jk/http-backend-deadlock-2.3
110 (this branch is used by jk/http-backend-deadlock; uses jk/http-backend-deadlock-2.2.)
112 Same for 2.3 maintenance track.
115 * jk/stash-options (2015-05-20) 2 commits
116 (merged to 'next' on 2015-05-26 at 5dcb026)
117 + stash: recognize "--help" for subcommands
118 + stash: complain about unknown flags
120 Make "git stash something --help" error out, so that users can
121 safely say "git stash drop --help".
124 * mc/commit-doc-grammofix (2015-05-19) 1 commit
125 (merged to 'next' on 2015-05-26 at 9d76e3b)
126 + Documentation/git-commit: grammofix
131 * mm/log-format-raw-doc (2015-05-20) 2 commits
132 (merged to 'next' on 2015-05-26 at 97e2c9d)
133 + Documentation/log: clarify sha1 non-abbreviation in log --raw
134 + Documentation/log: clarify what --raw means
136 Clarify that "log --raw" and "log --format=raw" are unrelated
140 * mm/rebase-i-post-rewrite-exec (2015-05-22) 3 commits
141 (merged to 'next' on 2015-05-26 at 8ddaab1)
142 + t5407: use <<- to align the expected output
143 + rebase -i: fix post-rewrite hook with failed exec command
144 + rebase -i: demonstrate incorrect behavior of post-rewrite
146 "git rebase -i" fired post-rewrite hook when it shouldn't (namely,
147 when it was told to stop sequencing with 'exec' insn).
150 * rs/janitorial (2015-05-20) 3 commits
151 (merged to 'next' on 2015-05-26 at 9d5aee4)
152 + dir: remove unused variable sb
153 + clean: remove unused variable buf
154 + use file_exists() to check if a file exists in the worktree
159 * sb/test-bitmap-free-at-end (2015-05-22) 1 commit
160 (merged to 'next' on 2015-05-26 at 1014ebf)
161 + test_bitmap_walk: free bitmap with bitmap_free
163 An earlier leakfix to bitmap testing code was incomplete.
166 * sg/help-group (2015-05-21) 5 commits
167 (merged to 'next' on 2015-05-26 at 2749912)
168 + help: respect new common command grouping
169 + command-list.txt: drop the "common" tag
170 + generate-cmdlist: parse common group commands
171 + command-list.txt: add the common groups block
172 + command-list: prepare machinery for upcoming "common groups" section
174 Group list of commands shown by "git help" along the workflow
175 elements to help early learners.
177 --------------------------------------------------
180 * gr/rebase-i-drop-warn (2015-06-01) 2 commits
181 - git rebase -i: warn about removed commits
182 - git-rebase -i: add command "drop" to remove a commit
184 Add "drop commit-object-name subject" command as another way to
185 skip replaying of a commit in "rebase -i", and then punish those
186 who do not use it (and instead just remove the lines) by throwing
192 * jh/strbuf-read-use-read-in-full (2015-06-01) 1 commit
193 - strbuf_read(): skip unnecessary strbuf_grow() at eof
195 Avoid one extra iteration and strbuf_grow() of 8kB in
198 Looked reasonable; perhaps a log message clarification is coming?
201 * jk/squelch-missing-link-warning-for-unreachable (2015-06-01) 3 commits
202 (merged to 'next' on 2015-06-01 at 9ddc5d1)
203 + suppress errors on missing UNINTERESTING links
204 + silence broken link warnings with revs->ignore_missing_links
205 + add quieter versions of parse_{tree,commit}
207 Recent "git prune" traverses young unreachable objects to safekeep
208 old objects in the reachability chain from them, which causes
209 error messages that are unnecessarily alarming.
211 Will merge to 'master'.
214 * mh/reporting-broken-refs-from-for-each-ref (2015-06-02) 3 commits
215 - read_loose_refs(): treat NULL_SHA1 loose references as broken
216 - for-each-ref: report broken references correctly
217 - t6301: new tests of for-each-ref error handling
219 "git for-each-ref" reported "missing object" for 0{40} when it
220 encounters a broken ref. The lack of object whose name is 0{40} is
221 not the problem; the ref being broken is.
223 A reroll for the tip one coming to pick final minor nits?
224 Otherwise looked ready for 'next'.
227 * tb/complete-sequencing (2015-06-01) 1 commit
228 (merged to 'next' on 2015-06-01 at b7604e8)
229 + completion: suggest sequencer commands for revert
231 The bash completion script (in contrib/) learned a few options that
234 Will merge to 'master'.
237 * jc/apply-reject-noop-hunk (2015-06-01) 1 commit
238 - apply: reject a hunk that does not do anything
240 "git apply" cannot diagnose a patch corruption when the breakage is
241 to mark the length of the hunk shorter than it really is on the
242 hunk header line "@@ -l,k +m,n @@"; one special case it could is
243 when the hunk becomes no-op (e.g. k == n == 2 for two-line context
244 patch output), and it learned how to do so.
246 Will merge to 'next'.
249 * es/configure-getdelim (2015-06-02) 2 commits
250 - configure: add getdelim() check
251 - config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases
253 Auto-detect availability of getdelim() that helps optimized version
254 of strbuf_getwholeline().
256 Will merge to 'next'.
259 * es/osx-header-pollutes-mask-macro (2015-06-02) 1 commit
260 - ewah/bitmap: silence warning about MASK macro redefinition
262 Will merge to 'next'.
265 * es/send-email-sendmail-alias (2015-06-01) 10 commits
266 - send-email: further warn about unsupported sendmail aliases features
267 - t9001: add sendmail aliases line continuation tests
268 - t9001: refactor sendmail aliases test infrastructure
269 - send-email: implement sendmail aliases line continuation support
270 - send-email: simplify sendmail aliases comment and blank line recognizer
271 - send-email: refactor sendmail aliases parser
272 - send-email: fix style: cuddle 'elsif' and 'else' with closing brace
273 - send-email: drop noise comments which merely repeat what code says
274 - send-email: visually distinguish sendmail aliases parser warnings
275 - send-email: further document missing sendmail aliases functionality
276 (this branch uses ah/send-email-sendmail-alias.)
278 "git send-email" learned to handle more forms of sendmail style
281 Will merge to 'next'.
284 * jc/do-not-feed-tags-to-clear-commit-marks (2015-06-01) 1 commit
285 - format-patch: do not feed tags to clear_commit_marks()
287 "git format-patch --ignore-if-upstream A..B" did not like to be fed
288 tags as boundary commits.
291 * mg/index-read-error-messages (2015-06-01) 2 commits
292 - messages: uniform error messages for index write
293 - show-index: uniform error messages for index read
298 * pt/pull-optparse (2015-06-02) 3 commits
299 - pull: use git-rev-parse --parseopt for option parsing
300 - pull: handle git-fetch's options as well
301 - Merge branch 'pt/pull-tests' into pt/pull-optparse
302 (this branch uses pt/pull-tests.)
304 "git pull" has become more aware of the options meant for
305 underlying "git fetch" and then learned to use parse-options
308 Will merge to 'next'.
311 * qn/blame-show-email (2015-06-01) 1 commit
312 - blame: add blame.showEmail configuration
314 "git blame" learned blame.showEmail configuration variable.
316 Will merge to 'next'.
319 * rl/am-3way-config (2015-06-02) 3 commits
320 - t4150-am: refactor am -3 tests
321 - git-am.txt: add configuration section in git am documentation
322 - git-am.sh: fix initialization of the threeway variable
324 "git am" learned am.threeWay configuration variable.
327 * sb/pack-protocol-mention-smart-http (2015-06-02) 1 commit
328 - Documentation/technical/pack-protocol: mention http as possible protocol
332 Will merge to 'next'.
334 --------------------------------------------------
337 * kk/log-merges-config (2015-04-21) 5 commits
338 - bash-completion: add support for git-log --merges= and log.merges
339 - t4202-log: add tests for --merges=
340 - Documentation: add git-log --merges= option and log.merges config. var
341 - log: honor log.merges= option
342 - revision: add --merges={show|only|hide} option
344 "git log" (but not other commands in the "log" family) learned to
345 pay attention to the log.merges configuration variable that can be
346 set to "show" (the normal behaviour), "only" (hide non-merge
347 commits), or "hide" (hide merge commits). --merges=(show|only|hide)
348 can be used to override the setting from the command line.
350 The documentation may need to be updated once more ($gmane/267250).
351 Waiting for a reroll.
354 * mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
355 - t/lib-git-svn: check same httpd module dirs as lib-httpd
356 - t/lib-httpd: load mod_unixd
358 This is the first two commits in a three-patch series $gmane/266962
360 with updated log message ($gmane/268061).
363 * mh/numparse (2015-03-19) 14 commits
364 - diff_opt_parse(): use convert_i() when handling --abbrev=<num>
365 - diff_opt_parse(): use convert_i() when handling "-l<num>"
366 - opt_arg(): simplify pointer handling
367 - opt_arg(): report errors parsing option values
368 - opt_arg(): use convert_i() in implementation
369 - opt_arg(): val is always non-NULL
370 - builtin_diff(): detect errors when parsing --unified argument
371 - handle_revision_opt(): use convert_ui() when handling "--abbrev="
372 - strtoul_ui(), strtol_i(): remove functions
373 - handle_revision_opt(): use convert_i() when handling "-<digit>"
374 - handle_revision_opt(): use skip_prefix() in many places
375 - write_subdirectory(): use convert_ui() for parsing mode
376 - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
377 - numparse: new module for parsing integral numbers
379 Many codepaths use unchecked use of strtol() and friends (or even
380 worse, atoi()). Introduce a set of wrappers that try to be more
387 * tf/gitweb-project-listing (2015-03-19) 5 commits
388 - gitweb: make category headings into links when they are directories
389 - gitweb: optionally set project category from its pathname
390 - gitweb: add a link under the search box to clear a project filter
391 - gitweb: if the PATH_INFO is incomplete, use it as a project_filter
392 - gitweb: fix typo in man page
394 Update gitweb to make it more pleasant to deal with a hierarchical
395 forest of repositories.
397 Any comments from those who use or have their own code in Gitweb?
400 * jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
401 - "-" and "@{-1}" on various programs
403 Lose special case code to make a lone dash "-" mean the previous
404 branch aka "@{-1}" from a handful subcommands, and instead support
405 the notation throughout the system by reimplementing it at the
408 Needs tests, documentation updates, etc. Also does only a half-way
409 job dealing with range notation, which needs to be fixed before the
410 series goes anywhere.
413 * nd/list-files (2015-02-09) 21 commits
414 - t3080: tests for git-list-files
415 - list-files: -M aka diff-cached
416 - list-files -F: show submodules with the new indicator '&'
417 - list-files: add -F/--classify
418 - list-files: show directories as well as files
419 - list-files: do not show duplicate cached entries
420 - list-files: sort output and remove duplicates
421 - list-files: add -t back
422 - list-files: add -1 short for --no-column
423 - list-files: add -R/--recursive short for --max-depth=-1
424 - list-files: -u does not imply showing stages
425 - list-files: make alias 'ls' default to 'list-files'
426 - list-files: a user friendly version of ls-files and more
427 - ls-files: support --max-depth
428 - ls-files: add --column
429 - ls-files: add --color to highlight file names
430 - ls-files: buffer full item in strbuf before printing
431 - ls_colors.c: highlight submodules like directories
432 - ls_colors.c: add a function to color a file name
433 - ls_colors.c: parse color.ls.* from config file
434 - ls_colors.c: add $LS_COLORS parsing code
436 A new "git list-files" Porcelain command, "ls-files" with bells and
439 Reroll to base on wt-status work ($gmane/265142) has seen some
440 positive discussions.
442 Waiting for a further polished reroll ($gmane/265534).
445 * js/fsck-opt (2015-01-21) 19 commits
446 - fsck: support ignoring objects in `git fsck` via fsck.skiplist
447 - fsck: git receive-pack: support excluding objects from fsck'ing
448 - fsck: introduce `git fsck --quick`
449 - fsck: support demoting errors to warnings
450 - fsck: document the new receive.fsck.* options
451 - fsck: allow upgrading fsck warnings to errors
452 - fsck: optionally ignore specific fsck issues completely
453 - fsck: disallow demoting grave fsck errors to warnings
454 - fsck: add a simple test for receive.fsck.*
455 - fsck: make fsck_tag() warn-friendly
456 - fsck: handle multiple authors in commits specially
457 - fsck: make fsck_commit() warn-friendly
458 - fsck: make fsck_ident() warn-friendly
459 - fsck: report the ID of the error/warning
460 - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
461 - fsck: offer a function to demote fsck errors to warnings
462 - fsck: provide a function to parse fsck message IDs
463 - fsck: introduce identifiers for fsck messages
464 - fsck: introduce fsck options
466 "fsck.warnings = <list of error tokens>" I suggested turned out to
467 be an unpopular choice (sorry Dscho).
472 * nd/pathspec-strip-fix (2015-04-18) 1 commit
473 - pathspec: adjust prefixlen after striping trailing slash
475 Does not quite fix ($gmane/267614).
479 * jc/diff-b-m (2015-02-23) 5 commits
482 - diffcore-rename: allow easier debugging
483 - diffcore-rename.c: add locate_rename_src()
484 - diffcore-break: allow debugging
486 "git diff -B -M" produced incorrect patch when the postimage of a
487 completely rewritten file is similar to the preimage of a removed
488 file; such a resulting file must not be expressed as a rename from
491 The fix in this patch is broken, unfortunately.
494 * pw/remote-set-url-fetch (2014-11-26) 1 commit
495 - remote: add --fetch and --both options to set-url
500 * tr/remerge-diff (2014-11-10) 9 commits
501 - t4213: avoid "|" in sed regexp
502 - log --remerge-diff: show what the conflict resolution changed
503 - name-hash: allow dir hashing even when !ignore_case
504 - merge-recursive: allow storing conflict hunks in index
505 - merge_diff_mode: fold all merge diff variants into an enum
506 - combine-diff: do not pass revs->dense_combined_merges redundantly
507 - merge-recursive: -Xindex-only to leave worktree unchanged
508 - merge-recursive: internal flag to avoid touching the worktree
509 - merge-recursive: remove dead conditional in update_stages()
511 "log -p" output learns a new way to let users inspect a merge
512 commit by showing the differences between the automerged result
513 with conflicts the person who recorded the merge would have seen
514 and the final conflict resolution that was recorded in the merge.
516 Waiting for a reroll ($gmane/256591).
519 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
520 - perf-lib: add test_perf_cleanup target
521 - perf-lib: split starting the test from the execution
523 Add test_perf_cleanup shell function to the perf suite, that allows
524 the script writers to define a test with a clean-up action.
529 * jc/show-branch (2014-03-24) 5 commits
530 - show-branch: use commit slab to represent bitflags of arbitrary width
531 - show-branch.c: remove "all_mask"
532 - show-branch.c: abstract out "flags" operation
533 - show-branch.c: lift all_mask/all_revs to a global static
534 - show-branch.c: update comment style
536 Waiting for the final step to lift the hard-limit.
538 --------------------------------------------------
541 * hv/submodule-config (2015-06-02) 4 commits
542 - do not die on error of parsing fetchrecursesubmodules option
543 - use new config API for worktree configurations of submodules
544 - extract functions for submodule config set and lookup
545 - implement submodule config cache for lookup of submodule names
547 The gitmodules API accessed from the C code learned to cache stuff
551 * jc/diff-ws-error-highlight (2015-05-26) 4 commits
552 (merged to 'next' on 2015-06-01 at 6046560)
553 + diff.c: --ws-error-highlight=<kind> option
554 + diff.c: add emit_del_line() and emit_context_line()
555 + t4015: separate common setup and per-test expectation
556 + t4015: modernise style
558 Allow whitespace breakages in deleted and context lines to be also
559 painted in the output.
561 Will merge to 'master'.
564 * jk/clone-dissociate (2015-05-27) 2 commits
565 (merged to 'next' on 2015-06-01 at 19e3ec3)
566 + clone: reorder --dissociate and --reference options
567 + clone: use OPT_STRING_LIST for --reference
571 Will merge to 'master'.
574 * jk/color-diff-plain-is-context (2015-05-27) 2 commits
575 (merged to 'next' on 2015-06-01 at bcd8f1d)
576 + diff.h: rename DIFF_PLAIN color slot to DIFF_CONTEXT
577 + diff: accept color.diff.context as a synonym for "plain"
579 "color.diff.plain" was a misnomer; give it 'color.diff.context' as
580 a more logical synonym.
582 Will merge to 'master'.
585 * jk/diagnose-config-mmap-failure (2015-05-28) 5 commits
586 (merged to 'next' on 2015-06-01 at ca750d5)
587 + xmmap(): drop "Out of memory?"
588 + config.c: rewrite ENODEV into EISDIR when mmap fails
589 + config.c: avoid xmmap error messages
590 + config.c: fix mmap leak when writing config
591 + read-cache.c: drop PROT_WRITE from mmap of index
593 The configuration reader/writer uses mmap(2) interface to access
594 the files; when we find a directory, it barfed with "Out of memory?".
596 Will merge to 'master'.
599 * mh/verify-lock-error-report (2015-05-27) 5 commits
600 (merged to 'next' on 2015-06-01 at 7b450a7)
601 + ref_transaction_commit(): do not capitalize error messages
602 + verify_lock(): do not capitalize error messages
603 + verify_lock(): report errors via a strbuf
604 + verify_lock(): on errors, let the caller unlock the lock
605 + verify_lock(): return 0/-1 rather than struct ref_lock *
607 Bring consistency to error reporting mechanism used in "refs" API.
609 Will merge to 'master'.
612 * mt/p4-depotFile-at-version (2015-05-27) 1 commit
613 (merged to 'next' on 2015-06-01 at 33e8622)
614 + p4: retrieve the right revision of the file in UTF-16 codepath
616 Will merge to 'master'.
619 * sb/glossary-submodule (2015-05-29) 1 commit
620 (merged to 'next' on 2015-06-01 at 84de87b)
621 + glossary: add "remote", "submodule", "superproject"
623 Will merge to 'master'.
626 * sg/config-name-only (2015-05-28) 3 commits
627 - completion: use new 'git config' options to reliably list variable names
629 - config: add options to list only variable names
631 "git config --list" output was hard to parse when values consist of
632 multiple lines. Introduce a way to show only the keys.
634 Adding a single --name-only option may be a better way to go than
635 adding two new options.
640 * sg/merge-summary-config (2015-05-28) 1 commit
641 - Documentation: include 'merge.branchdesc' for merge and config as well
645 Will merge to 'next'.
648 * jc/push-tags-also (2015-05-29) 1 commit
649 - push --tags: push tags *in addition to* other stuff
651 "git fetch --tags" learned to fetch tags in addition to other stuff
652 a few years ago, but "git push --tags" didn't. Now it does.
655 * jk/die-on-bogus-worktree-late (2015-05-29) 1 commit
656 - setup_git_directory: delay core.bare/core.worktree errors
658 The setup code used to die when core.bare and core.worktree are set
659 inconsistently, even for commands that do not need working tree.
661 Will merge to 'next'.
664 * jk/make-fix-dependencies (2015-05-29) 3 commits
665 - Makefile: silence perl/PM.stamp recipe
666 - Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS
667 - Makefile: drop dependency between git-instaweb and gitweb
671 Will merge to 'next'.
674 * ah/send-email-sendmail-alias (2015-05-27) 2 commits
675 - t9001: write $HOME/, not ~/, to help shells without tilde expansion
676 - send-email: add sendmail email aliases format
677 (this branch is used by es/send-email-sendmail-alias.)
679 "git send-email" learned the alias file format used by the sendmail
680 program (in an abbreviated form).
682 Will merge to 'next'.
685 * bc/object-id (2015-05-25) 56 commits
686 (merged to 'next' on 2015-05-26 at 8d9f645)
687 + struct ref_lock: convert old_sha1 member to object_id
688 + warn_if_dangling_symref(): convert local variable "junk" to object_id
689 + each_ref_fn_adapter(): remove adapter
690 + rev_list_insert_ref(): remove unneeded arguments
691 + rev_list_insert_ref_oid(): new function, taking an object_oid
692 + mark_complete(): remove unneeded arguments
693 + mark_complete_oid(): new function, taking an object_oid
694 + clear_marks(): rewrite to take an object_id argument
695 + mark_complete(): rewrite to take an object_id argument
696 + send_ref(): convert local variable "peeled" to object_id
697 + upload-pack: rewrite functions to take object_id arguments
698 + find_symref(): convert local variable "unused" to object_id
699 + find_symref(): rewrite to take an object_id argument
700 + write_one_ref(): rewrite to take an object_id argument
701 + write_refs_to_temp_dir(): convert local variable sha1 to object_id
702 + submodule: rewrite to take an object_id argument
703 + shallow: rewrite functions to take object_id arguments
704 + handle_one_ref(): rewrite to take an object_id argument
705 + add_info_ref(): rewrite to take an object_id argument
706 + handle_one_reflog(): rewrite to take an object_id argument
707 + register_replace_ref(): rewrite to take an object_id argument
708 + remote: rewrite functions to take object_id arguments
709 + add_one_ref(): rewrite to take an object_id argument
710 + string_list_add_one_ref(): rewrite to take an object_id argument
711 + add_ref_decoration(): convert local variable original_sha1 to object_id
712 + add_ref_decoration(): rewrite to take an object_id argument
713 + show_head_ref(): convert local variable "unused" to object_id
714 + http-backend: rewrite to take an object_id argument
715 + append_similar_ref(): rewrite to take an object_id argument
716 + builtin/show-ref: rewrite to take an object_id argument
717 + show_ref(): convert local variable peeled to object_id
718 + builtin/show-ref: rewrite to use object_id
719 + fsck: change functions to use object_id
720 + cmd_show_branch(): fix error message
721 + builtin/show-branch: rewrite functions to work with object_id
722 + append_one_rev(): rewrite to work with object_id
723 + builtin/show-branch: rewrite functions to take object_id arguments
724 + append_matching_ref(): rewrite to take an object_id argument
725 + show_reference(): rewrite to take an object_id argument
726 + builtin/remote: rewrite functions to take object_id arguments
727 + add_branch_for_removal(): don't set "util" field of string_list entries
728 + add_branch_for_removal(): rewrite to take an object_id argument
729 + builtin/reflog: rewrite ref functions to take an object_id argument
730 + show_ref_cb(): rewrite to take an object_id argument
731 + builtin/pack-objects: rewrite to take an object_id argument
732 + name_ref(): rewrite to take an object_id argument
733 + grab_single_ref(): rewrite to take an object_id argument
734 + builtin/fetch: rewrite to take an object_id argument
735 + get_name(): rewrite to take an object_id argument
736 + add_pending_uninteresting_ref(): rewrite to take an object_id argument
737 + append_ref(): rewrite to take an object_id argument
738 + register_ref(): rewrite to take an object_id argument
739 + handle_one_ref(): rewrite to take an object_id argument
740 + builtin/rev-parse: rewrite to take an object_id argument
741 + each_ref_fn: change to take an object_id parameter
742 + refs: convert struct ref_entry to use struct object_id
744 for_each_ref() callback functions were taught to name the objects
745 not with "unsigned char sha1[20]" but with "struct object_id".
747 Will merge to 'master'.
750 * jc/commit-slab (2015-05-22) 1 commit
751 - commit-slab: introduce slabname##_peek() function
753 Memory use reduction when commit-slab facility is used to annotate
754 sparsely (which is not recommended in the first place).
757 * sb/submodule-doc-intro (2015-05-28) 1 commit
758 (merged to 'next' on 2015-06-01 at b6798de)
759 + submodule doc: reorder introductory paragraphs
761 Will merge to 'master'.
764 * ld/p4-editor-multi-words (2015-05-26) 3 commits
765 (merged to 'next' on 2015-05-28 at a368a47)
766 + git-p4: tests: use test-chmtime in place of touch
767 + git-p4: fix handling of multi-word P4EDITOR
768 + git-p4: add failing test for P4EDITOR handling
770 Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
771 command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
772 did not let the shell interpolate the contents of the environment
773 variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
774 Make it in line with the rest of Git, as well as with Perforce.
776 Will merge to 'master'.
779 * pt/pull-tests (2015-05-29) 8 commits
780 (merged to 'next' on 2015-06-01 at c98370b)
781 + t5520: check reflog action in fast-forward merge
782 + t5521: test --dry-run does not make any changes
783 + t5520: test --rebase failure on unborn branch with index
784 + t5520: test --rebase with multiple branches
785 + t5520: test work tree fast-forward when fetch updates head
786 + t5520: test for failure if index has unresolved entries
787 + t5520: test no merge candidates cases
788 + t5520: prevent field splitting in content comparisons
789 (this branch is used by pt/pull-optparse.)
791 Add more test coverage to "git pull".
793 Will merge to 'master'.
796 * jc/clone-bundle (2015-04-30) 1 commit
797 - repack: optionally create a clone.bundle
802 * jk/at-push-sha1 (2015-05-22) 16 commits
803 (merged to 'next' on 2015-05-26 at d9d342f)
804 + for-each-ref: accept "%(push)" format
805 + for-each-ref: use skip_prefix instead of starts_with
806 + sha1_name: implement @{push} shorthand
807 + sha1_name: refactor interpret_upstream_mark
808 + sha1_name: refactor upstream_mark
809 + remote.c: add branch_get_push
810 + remote.c: return upstream name from stat_tracking_info
811 + remote.c: untangle error logic in branch_get_upstream
812 + remote.c: report specific errors from branch_get_upstream
813 + remote.c: introduce branch_get_upstream helper
814 + remote.c: hoist read_config into remote_get_1
815 + remote.c: provide per-branch pushremote name
816 + remote.c: hoist branch.*.remote lookup out of remote_get_1
817 + remote.c: drop "remote" pointer from "struct branch"
818 + remote.c: refactor setup of branch->merge list
819 + remote.c: drop default_remote_name variable
821 Introduce <branch>@{push} short-hand to denote the remote-tracking
822 branch that tracks the branch at the remote the <branch> would be
825 Will merge to 'master'.
828 * ee/clean-remove-dirs (2015-04-26) 5 commits
829 - clean: improve performance when removing lots of directories
830 - p7300: add performance tests for clean
831 - t7300: add tests to document behavior of clean and nested git
832 - setup: sanity check file size in read_gitfile_gently
833 - setup: add gentle version of read_gitfile
835 Replace "is this subdirectory a separate repository that should not
836 be touched?" check "git clean" does by checking if it has .git/HEAD
837 using the submodule-related code with a more optimized check.
839 Waiting for a reroll.
842 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
843 (merged to 'next' on 2015-05-28 at 6bfd8b9)
844 + merge: drop 'git merge <message> HEAD <commit>' syntax
846 Stop supporting "git merge <message> HEAD <commit>" syntax that
847 has been deprecated since October 2007.
849 Will keep in 'next' during the 2.5 cycle.