]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2015/06 #02)
authorJunio C Hamano <gitster@pobox.com>
Fri, 5 Jun 2015 20:48:23 +0000 (13:48 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 5 Jun 2015 20:48:23 +0000 (13:48 -0700)
whats-cooking.txt

index deb5b4c0a05101fe32ab0b70060fd8cd98840f0c..40847ef6c40bd1f33b80837997323f9fa4ba3544 100644 (file)
@@ -1,16 +1,22 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Jun 2015, #01; Tue, 2)
-X-master-at: f86f31ab33c3406adebbb9f9f61be550dcc5a472
-X-next-at: b4379f4514b71bf690061de15eb494cafb09b9b1
+Subject: What's cooking in git.git (Jun 2015, #02; Fri, 5)
+X-master-at: 7974889a053574e449b55ca543a486e38e74864f
+X-next-at: 1a18470cb8c6fbcf40b535cf669aa165844706d5
 
-What's cooking in git.git (Jun 2015, #01; Tue, 2)
+What's cooking in git.git (Jun 2015, #02; Fri, 5)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
 '-' are only in 'pu' (proposed updates) while commits prefixed with
 '+' are in 'next'.
 
+A handful of topics that graduated to 'master' a few weeks ago are
+now in 'maint', the tip of which has been tagged as v2.4.3.
+
+On the 'master' front, another huge batch of "struct object_id"
+thing is now in.  So is Peff's 'master@{push}' series.
+
 You can find the changes described here in the integration branches
 of the repositories listed at
 
@@ -19,163 +25,341 @@ of the repositories listed at
 --------------------------------------------------
 [Graduated to "master"]
 
-* ah/usage-strings (2015-05-03) 1 commit
-  (merged to 'next' on 2015-05-28 at 5f4350e)
- + blame, log: format usage strings similarly to those in documentation
+* bc/object-id (2015-05-25) 56 commits
+  (merged to 'next' on 2015-05-26 at 8d9f645)
+ + struct ref_lock: convert old_sha1 member to object_id
+ + warn_if_dangling_symref(): convert local variable "junk" to object_id
+ + each_ref_fn_adapter(): remove adapter
+ + rev_list_insert_ref(): remove unneeded arguments
+ + rev_list_insert_ref_oid(): new function, taking an object_oid
+ + mark_complete(): remove unneeded arguments
+ + mark_complete_oid(): new function, taking an object_oid
+ + clear_marks(): rewrite to take an object_id argument
+ + mark_complete(): rewrite to take an object_id argument
+ + send_ref(): convert local variable "peeled" to object_id
+ + upload-pack: rewrite functions to take object_id arguments
+ + find_symref(): convert local variable "unused" to object_id
+ + find_symref(): rewrite to take an object_id argument
+ + write_one_ref(): rewrite to take an object_id argument
+ + write_refs_to_temp_dir(): convert local variable sha1 to object_id
+ + submodule: rewrite to take an object_id argument
+ + shallow: rewrite functions to take object_id arguments
+ + handle_one_ref(): rewrite to take an object_id argument
+ + add_info_ref(): rewrite to take an object_id argument
+ + handle_one_reflog(): rewrite to take an object_id argument
+ + register_replace_ref(): rewrite to take an object_id argument
+ + remote: rewrite functions to take object_id arguments
+ + add_one_ref(): rewrite to take an object_id argument
+ + string_list_add_one_ref(): rewrite to take an object_id argument
+ + add_ref_decoration(): convert local variable original_sha1 to object_id
+ + add_ref_decoration(): rewrite to take an object_id argument
+ + show_head_ref(): convert local variable "unused" to object_id
+ + http-backend: rewrite to take an object_id argument
+ + append_similar_ref(): rewrite to take an object_id argument
+ + builtin/show-ref: rewrite to take an object_id argument
+ + show_ref(): convert local variable peeled to object_id
+ + builtin/show-ref: rewrite to use object_id
+ + fsck: change functions to use object_id
+ + cmd_show_branch(): fix error message
+ + builtin/show-branch: rewrite functions to work with object_id
+ + append_one_rev(): rewrite to work with object_id
+ + builtin/show-branch: rewrite functions to take object_id arguments
+ + append_matching_ref(): rewrite to take an object_id argument
+ + show_reference(): rewrite to take an object_id argument
+ + builtin/remote: rewrite functions to take object_id arguments
+ + add_branch_for_removal(): don't set "util" field of string_list entries
+ + add_branch_for_removal(): rewrite to take an object_id argument
+ + builtin/reflog: rewrite ref functions to take an object_id argument
+ + show_ref_cb(): rewrite to take an object_id argument
+ + builtin/pack-objects: rewrite to take an object_id argument
+ + name_ref(): rewrite to take an object_id argument
+ + grab_single_ref(): rewrite to take an object_id argument
+ + builtin/fetch: rewrite to take an object_id argument
+ + get_name(): rewrite to take an object_id argument
+ + add_pending_uninteresting_ref(): rewrite to take an object_id argument
+ + append_ref(): rewrite to take an object_id argument
+ + register_ref(): rewrite to take an object_id argument
+ + handle_one_ref(): rewrite to take an object_id argument
+ + builtin/rev-parse: rewrite to take an object_id argument
+ + each_ref_fn: change to take an object_id parameter
+ + refs: convert struct ref_entry to use struct object_id
 
- A few usage string updates.
+ for_each_ref() callback functions were taught to name the objects
+ not with "unsigned char sha1[20]" but with "struct object_id".
 
 
-* da/mergetool-winmerge (2015-05-20) 2 commits
-  (merged to 'next' on 2015-05-26 at d6333e9)
- + mergetools: add winmerge as a builtin tool
- + mergetool--lib: set IFS for difftool and mergetool
+* jk/at-push-sha1 (2015-05-22) 16 commits
+  (merged to 'next' on 2015-05-26 at d9d342f)
+ + for-each-ref: accept "%(push)" format
+ + for-each-ref: use skip_prefix instead of starts_with
+ + sha1_name: implement @{push} shorthand
+ + sha1_name: refactor interpret_upstream_mark
+ + sha1_name: refactor upstream_mark
+ + remote.c: add branch_get_push
+ + remote.c: return upstream name from stat_tracking_info
+ + remote.c: untangle error logic in branch_get_upstream
+ + remote.c: report specific errors from branch_get_upstream
+ + remote.c: introduce branch_get_upstream helper
+ + remote.c: hoist read_config into remote_get_1
+ + remote.c: provide per-branch pushremote name
+ + remote.c: hoist branch.*.remote lookup out of remote_get_1
+ + remote.c: drop "remote" pointer from "struct branch"
+ + remote.c: refactor setup of branch->merge list
+ + remote.c: drop default_remote_name variable
 
- "git mergetool" learned to drive WinMerge as a backend.
+ Introduce <branch>@{push} short-hand to denote the remote-tracking
+ branch that tracks the branch at the remote the <branch> would be
+ pushed to.
 
 
-* dt/cat-file-follow-symlinks (2015-05-20) 3 commits
-  (merged to 'next' on 2015-05-26 at 7ae52d4)
- + cat-file: add --follow-symlinks to --batch
- + sha1_name: get_sha1_with_context learns to follow symlinks
- + tree-walk: learn get_tree_entry_follow_symlinks
+* ld/p4-editor-multi-words (2015-05-26) 3 commits
+  (merged to 'next' on 2015-05-28 at a368a47)
+ + git-p4: tests: use test-chmtime in place of touch
+ + git-p4: fix handling of multi-word P4EDITOR
+ + git-p4: add failing test for P4EDITOR handling
 
- "git cat-file --batch(-check)" learned the "--follow-symlinks"
- option that follows an in-tree symbolic link when asked about an
- object via extended SHA-1 syntax, e.g. HEAD:RelNotes that points at
- Documentation/RelNotes/2.5.0.txt.  With the new option, the command
- behaves as if HEAD:Documentation/RelNotes/2.5.0.txt was given as
- input instead.
+ Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
+ command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
+ did not let the shell interpolate the contents of the environment
+ variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
+ Make it in line with the rest of Git, as well as with Perforce.
 
+--------------------------------------------------
+[New Topics]
 
-* dt/clean-pathspec-filter-then-lstat (2015-05-18) 1 commit
-  (merged to 'next' on 2015-05-26 at 9b24d71)
- + clean: only lstat files in pathspec
+* jc/ll-merge-expose-path (2015-06-04) 1 commit
+ - ll-merge: pass the original path to external drivers
 
- "git clean pathspec..." tried to lstat(2) and complain even for
- paths outside the given pathspec.
+ Traditionally, external low-level 3-way merge drivers are expected
+ to produce their results based solely on the contents of the three
+ variants given in temporary files named by %O, %A and %B on their
+ command line.  Additionally allow them to look at the final path
+ (given by %P).
 
 
-* fm/fetch-raw-sha1 (2015-05-22) 3 commits
-  (merged to 'next' on 2015-05-26 at dc3f1b3)
- + upload-pack: optionally allow fetching reachable sha1
- + upload-pack: prepare to extend allow-tip-sha1-in-want
- + config.txt: clarify allowTipSHA1InWant with camelCase
+* jk/log-missing-default-HEAD (2015-06-03) 1 commit
+ - log: diagnose empty HEAD more clearly
 
- "git upload-pack" that serves "git fetch" can be told to serve
- commits that are not at the tip of any ref, as long as they are
- reachable from a ref, with uploadpack.allowReachableSHA1InWant
- configuration variable.
+ "git init empty && git -C empty log" said "bad default revision 'HEAD'",
+ which was found to be a bit confusing to new users.
 
 
-* jh/filter-empty-contents (2015-05-18) 1 commit
-  (merged to 'next' on 2015-05-26 at 9cad398)
- + sha1_file: pass empty buffer to index empty file
+* nd/slim-index-pack-memory-usage (2015-06-04) 1 commit
+  (merged to 'next' on 2015-06-04 at 328fd50)
+ + index-pack: fix truncation of off_t in comparison
 
- The clean/smudge interface did not work well when filtering an
- empty contents (failed and then passed the empty input through).
- It can be argued that a filter that produces anything but empty for
- an empty input is nonsense, but if the user wants to do strange
- things, then why not?
+ An earlier optimization broke index-pack for a large object
+ transfer; this fixes it before the breakage hits any released
+ version.
 
+ Will merge to 'master'.
 
-* jk/http-backend-deadlock (2015-05-25) 1 commit
-  (merged to 'next' on 2015-05-26 at 9f3bd8a)
- + Merge branch 'jk/http-backend-deadlock-2.3' into jk/http-backend-deadlock
- (this branch uses jk/http-backend-deadlock-2.2 and jk/http-backend-deadlock-2.3.)
+--------------------------------------------------
+[Stalled]
 
- Communication between the HTTP server and http_backend process can
- lead to a dead-lock when relaying a large ref negotiation request.
- Diagnose the situation better, and mitigate it by reading such a
- request first into core (to a reasonable limit).
+* kk/log-merges-config (2015-04-21) 5 commits
+ - bash-completion: add support for git-log --merges= and log.merges
+ - t4202-log: add tests for --merges=
+ - Documentation: add git-log --merges= option and log.merges config. var
+ - log: honor log.merges= option
+ - revision: add --merges={show|only|hide} option
 
+ "git log" (but not other commands in the "log" family) learned to
+ pay attention to the log.merges configuration variable that can be
+ set to "show" (the normal behaviour), "only" (hide non-merge
+ commits), or "hide" (hide merge commits).  --merges=(show|only|hide)
+ can be used to override the setting from the command line.
 
-* jk/http-backend-deadlock-2.2 (2015-05-25) 3 commits
- + http-backend: spool ref negotiation requests to buffer
- + t5551: factor out tag creation
- + http-backend: fix die recursion with custom handler
- (this branch is used by jk/http-backend-deadlock and jk/http-backend-deadlock-2.3.)
+ The documentation may need to be updated once more ($gmane/267250).
+ Waiting for a reroll.
 
- Communication between the HTTP server and http_backend process can
- lead to a dead-lock when relaying a large ref negotiation request.
- Diagnose the situation better, and mitigate it by reading such a
- request first into core (to a reasonable limit).
 
- This was wiggled back to apply to the 2.2 maintenance track
- (original was for 2.4).
+* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
+ - t/lib-git-svn: check same httpd module dirs as lib-httpd
+ - t/lib-httpd: load mod_unixd
 
+ This is the first two commits in a three-patch series $gmane/266962
+ Will be rerolled.
+ with updated log message ($gmane/268061).
 
-* jk/http-backend-deadlock-2.3 (2015-05-25) 1 commit
- + Merge branch 'jk/http-backend-deadlock-2.2' into jk/http-backend-deadlock-2.3
- (this branch is used by jk/http-backend-deadlock; uses jk/http-backend-deadlock-2.2.)
 
- Same for 2.3 maintenance track.
+* mh/numparse (2015-03-19) 14 commits
+ - diff_opt_parse(): use convert_i() when handling --abbrev=<num>
+ - diff_opt_parse(): use convert_i() when handling "-l<num>"
+ - opt_arg(): simplify pointer handling
+ - opt_arg(): report errors parsing option values
+ - opt_arg(): use convert_i() in implementation
+ - opt_arg(): val is always non-NULL
+ - builtin_diff(): detect errors when parsing --unified argument
+ - handle_revision_opt(): use convert_ui() when handling "--abbrev="
+ - strtoul_ui(), strtol_i(): remove functions
+ - handle_revision_opt(): use convert_i() when handling "-<digit>"
+ - handle_revision_opt(): use skip_prefix() in many places
+ - write_subdirectory(): use convert_ui() for parsing mode
+ - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
+ - numparse: new module for parsing integral numbers
 
+ Many codepaths use unchecked use of strtol() and friends (or even
+ worse, atoi()).  Introduce a set of wrappers that try to be more
+ careful.
 
-* jk/stash-options (2015-05-20) 2 commits
-  (merged to 'next' on 2015-05-26 at 5dcb026)
- + stash: recognize "--help" for subcommands
- + stash: complain about unknown flags
+ Will be rerolled.
+ ($gmane/268058).
 
- Make "git stash something --help" error out, so that users can
- safely say "git stash drop --help".
 
+* tf/gitweb-project-listing (2015-03-19) 5 commits
+ - gitweb: make category headings into links when they are directories
+ - gitweb: optionally set project category from its pathname
+ - gitweb: add a link under the search box to clear a project filter
+ - gitweb: if the PATH_INFO is incomplete, use it as a project_filter
+ - gitweb: fix typo in man page
 
-* mc/commit-doc-grammofix (2015-05-19) 1 commit
-  (merged to 'next' on 2015-05-26 at 9d76e3b)
- + Documentation/git-commit: grammofix
+ Update gitweb to make it more pleasant to deal with a hierarchical
+ forest of repositories.
 
- Doc grammar fix.
+ Any comments from those who use or have their own code in Gitweb?
 
 
-* mm/log-format-raw-doc (2015-05-20) 2 commits
-  (merged to 'next' on 2015-05-26 at 97e2c9d)
- + Documentation/log: clarify sha1 non-abbreviation in log --raw
- + Documentation/log: clarify what --raw means
+* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
+ - "-" and "@{-1}" on various programs
 
- Clarify that "log --raw" and "log --format=raw" are unrelated
- concepts.
+ Lose special case code to make a lone dash "-" mean the previous
+ branch aka "@{-1}" from a handful subcommands, and instead support
+ the notation throughout the system by reimplementing it at the
+ revisions layer.
 
+ Needs tests, documentation updates, etc.  Also does only a half-way
+ job dealing with range notation, which needs to be fixed before the
+ series goes anywhere.
 
-* mm/rebase-i-post-rewrite-exec (2015-05-22) 3 commits
-  (merged to 'next' on 2015-05-26 at 8ddaab1)
- + t5407: use <<- to align the expected output
- + rebase -i: fix post-rewrite hook with failed exec command
- + rebase -i: demonstrate incorrect behavior of post-rewrite
 
- "git rebase -i" fired post-rewrite hook when it shouldn't (namely,
- when it was told to stop sequencing with 'exec' insn).
+* nd/list-files (2015-02-09) 21 commits
+ - t3080: tests for git-list-files
+ - list-files: -M aka diff-cached
+ - list-files -F: show submodules with the new indicator '&'
+ - list-files: add -F/--classify
+ - list-files: show directories as well as files
+ - list-files: do not show duplicate cached entries
+ - list-files: sort output and remove duplicates
+ - list-files: add -t back
+ - list-files: add -1 short for --no-column
+ - list-files: add -R/--recursive short for --max-depth=-1
+ - list-files: -u does not imply showing stages
+ - list-files: make alias 'ls' default to 'list-files'
+ - list-files: a user friendly version of ls-files and more
+ - ls-files: support --max-depth
+ - ls-files: add --column
+ - ls-files: add --color to highlight file names
+ - ls-files: buffer full item in strbuf before printing
+ - ls_colors.c: highlight submodules like directories
+ - ls_colors.c: add a function to color a file name
+ - ls_colors.c: parse color.ls.* from config file
+ - ls_colors.c: add $LS_COLORS parsing code
 
+ A new "git list-files" Porcelain command, "ls-files" with bells and
+ whistles.
 
-* rs/janitorial (2015-05-20) 3 commits
-  (merged to 'next' on 2015-05-26 at 9d5aee4)
- + dir: remove unused variable sb
- + clean: remove unused variable buf
- + use file_exists() to check if a file exists in the worktree
+ Reroll to base on wt-status work ($gmane/265142) has seen some
+ positive discussions.
 
Code clean-up.
Waiting for a further polished reroll ($gmane/265534).
 
 
-* sb/test-bitmap-free-at-end (2015-05-22) 1 commit
-  (merged to 'next' on 2015-05-26 at 1014ebf)
- + test_bitmap_walk: free bitmap with bitmap_free
+* js/fsck-opt (2015-01-21) 19 commits
+ - fsck: support ignoring objects in `git fsck` via fsck.skiplist
+ - fsck: git receive-pack: support excluding objects from fsck'ing
+ - fsck: introduce `git fsck --quick`
+ - fsck: support demoting errors to warnings
+ - fsck: document the new receive.fsck.* options
+ - fsck: allow upgrading fsck warnings to errors
+ - fsck: optionally ignore specific fsck issues completely
+ - fsck: disallow demoting grave fsck errors to warnings
+ - fsck: add a simple test for receive.fsck.*
+ - fsck: make fsck_tag() warn-friendly
+ - fsck: handle multiple authors in commits specially
+ - fsck: make fsck_commit() warn-friendly
+ - fsck: make fsck_ident() warn-friendly
+ - fsck: report the ID of the error/warning
+ - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
+ - fsck: offer a function to demote fsck errors to warnings
+ - fsck: provide a function to parse fsck message IDs
+ - fsck: introduce identifiers for fsck messages
+ - fsck: introduce fsck options
 
- An earlier leakfix to bitmap testing code was incomplete.
+ "fsck.warnings = <list of error tokens>" I suggested turned out to
+ be an unpopular choice (sorry Dscho).
 
+ Expecting a reroll.
 
-* sg/help-group (2015-05-21) 5 commits
-  (merged to 'next' on 2015-05-26 at 2749912)
- + help: respect new common command grouping
- + command-list.txt: drop the "common" tag
- + generate-cmdlist: parse common group commands
- + command-list.txt: add the common groups block
- + command-list: prepare machinery for upcoming "common groups" section
 
- Group list of commands shown by "git help" along the workflow
- elements to help early learners.
+* nd/pathspec-strip-fix (2015-04-18) 1 commit
+ - pathspec: adjust prefixlen after striping trailing slash
+
+ Does not quite fix ($gmane/267614).
+ Will discard.
+
+
+* jc/diff-b-m (2015-02-23) 5 commits
+ . WIPWIP
+ . WIP: diff-b-m
+ - diffcore-rename: allow easier debugging
+ - diffcore-rename.c: add locate_rename_src()
+ - diffcore-break: allow debugging
+
+ "git diff -B -M" produced incorrect patch when the postimage of a
+ completely rewritten file is similar to the preimage of a removed
+ file; such a resulting file must not be expressed as a rename from
+ other place.
+
+ The fix in this patch is broken, unfortunately.
+
+
+* pw/remote-set-url-fetch (2014-11-26) 1 commit
+ - remote: add --fetch and --both options to set-url
+
+ Expecting a reroll.
+
+
+* tr/remerge-diff (2014-11-10) 9 commits
+ - t4213: avoid "|" in sed regexp
+ - log --remerge-diff: show what the conflict resolution changed
+ - name-hash: allow dir hashing even when !ignore_case
+ - merge-recursive: allow storing conflict hunks in index
+ - merge_diff_mode: fold all merge diff variants into an enum
+ - combine-diff: do not pass revs->dense_combined_merges redundantly
+ - merge-recursive: -Xindex-only to leave worktree unchanged
+ - merge-recursive: internal flag to avoid touching the worktree
+ - merge-recursive: remove dead conditional in update_stages()
+
+ "log -p" output learns a new way to let users inspect a merge
+ commit by showing the differences between the automerged result
+ with conflicts the person who recorded the merge would have seen
+ and the final conflict resolution that was recorded in the merge.
+
+ Waiting for a reroll ($gmane/256591).
+
+
+* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
+ - perf-lib: add test_perf_cleanup target
+ - perf-lib: split starting the test from the execution
+
+ Add test_perf_cleanup shell function to the perf suite, that allows
+ the script writers to define a test with a clean-up action.
+
+ Will hold.
+
+
+* jc/show-branch (2014-03-24) 5 commits
+ - show-branch: use commit slab to represent bitflags of arbitrary width
+ - show-branch.c: remove "all_mask"
+ - show-branch.c: abstract out "flags" operation
+ - show-branch.c: lift all_mask/all_revs to a global static
+ - show-branch.c: update comment style
+
+ Waiting for the final step to lift the hard-limit.
 
 --------------------------------------------------
-[New Topics]
+[Cooking]
 
 * gr/rebase-i-drop-warn (2015-06-01) 2 commits
  - git rebase -i: warn about removed commits
@@ -211,8 +395,9 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* mh/reporting-broken-refs-from-for-each-ref (2015-06-02) 3 commits
+* mh/reporting-broken-refs-from-for-each-ref (2015-06-03) 4 commits
  - read_loose_refs(): treat NULL_SHA1 loose references as broken
+ - read_loose_refs(): simplify function logic
  - for-each-ref: report broken references correctly
  - t6301: new tests of for-each-ref error handling
 
@@ -220,8 +405,7 @@ of the repositories listed at
  encounters a broken ref.  The lack of object whose name is 0{40} is
  not the problem; the ref being broken is.
 
- A reroll for the tip one coming to pick final minor nits?
- Otherwise looked ready for 'next'.
+ Will merge to 'next'.
 
 
 * tb/complete-sequencing (2015-06-01) 1 commit
@@ -244,299 +428,95 @@ of the repositories listed at
  patch output), and it learned how to do so.
 
  Will merge to 'next'.
 
-* es/configure-getdelim (2015-06-02) 2 commits
+
+* es/configure-getdelim (2015-06-03) 2 commits
  - configure: add getdelim() check
  - config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases
 
  Auto-detect availability of getdelim() that helps optimized version
- of strbuf_getwholeline().
-
- Will merge to 'next'.
-
-
-* es/osx-header-pollutes-mask-macro (2015-06-02) 1 commit
- - ewah/bitmap: silence warning about MASK macro redefinition
-
- Will merge to 'next'.
-
-
-* es/send-email-sendmail-alias (2015-06-01) 10 commits
- - send-email: further warn about unsupported sendmail aliases features
- - t9001: add sendmail aliases line continuation tests
- - t9001: refactor sendmail aliases test infrastructure
- - send-email: implement sendmail aliases line continuation support
- - send-email: simplify sendmail aliases comment and blank line recognizer
- - send-email: refactor sendmail aliases parser
- - send-email: fix style: cuddle 'elsif' and 'else' with closing brace
- - send-email: drop noise comments which merely repeat what code says
- - send-email: visually distinguish sendmail aliases parser warnings
- - send-email: further document missing sendmail aliases functionality
- (this branch uses ah/send-email-sendmail-alias.)
-
- "git send-email" learned to handle more forms of sendmail style
- aliases file.
-
- Will merge to 'next'.
-
-
-* jc/do-not-feed-tags-to-clear-commit-marks (2015-06-01) 1 commit
- - format-patch: do not feed tags to clear_commit_marks()
-
- "git format-patch --ignore-if-upstream A..B" did not like to be fed
- tags as boundary commits.
-
-
-* mg/index-read-error-messages (2015-06-01) 2 commits
- - messages: uniform error messages for index write
- - show-index: uniform error messages for index read
-
- The tip was RFC.
-
-
-* pt/pull-optparse (2015-06-02) 3 commits
- - pull: use git-rev-parse --parseopt for option parsing
- - pull: handle git-fetch's options as well
- - Merge branch 'pt/pull-tests' into pt/pull-optparse
- (this branch uses pt/pull-tests.)
-
- "git pull" has become more aware of the options meant for
- underlying "git fetch" and then learned to use parse-options
- parser.
-
- Will merge to 'next'.
-
-
-* qn/blame-show-email (2015-06-01) 1 commit
- - blame: add blame.showEmail configuration
-
- "git blame" learned blame.showEmail configuration variable.
-
- Will merge to 'next'.
-
-
-* rl/am-3way-config (2015-06-02) 3 commits
- - t4150-am: refactor am -3 tests
- - git-am.txt: add configuration section in git am documentation
- - git-am.sh: fix initialization of the threeway variable
-
- "git am" learned am.threeWay configuration variable.
-
-
-* sb/pack-protocol-mention-smart-http (2015-06-02) 1 commit
- - Documentation/technical/pack-protocol: mention http as possible protocol
-
- Doc updates.
-
- Will merge to 'next'.
-
---------------------------------------------------
-[Stalled]
-
-* kk/log-merges-config (2015-04-21) 5 commits
- - bash-completion: add support for git-log --merges= and log.merges
- - t4202-log: add tests for --merges=
- - Documentation: add git-log --merges= option and log.merges config. var
- - log: honor log.merges= option
- - revision: add --merges={show|only|hide} option
-
- "git log" (but not other commands in the "log" family) learned to
- pay attention to the log.merges configuration variable that can be
- set to "show" (the normal behaviour), "only" (hide non-merge
- commits), or "hide" (hide merge commits).  --merges=(show|only|hide)
- can be used to override the setting from the command line.
-
- The documentation may need to be updated once more ($gmane/267250).
- Waiting for a reroll.
-
-
-* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
- - t/lib-git-svn: check same httpd module dirs as lib-httpd
- - t/lib-httpd: load mod_unixd
-
- This is the first two commits in a three-patch series $gmane/266962
- Will be rerolled.
- with updated log message ($gmane/268061).
-
-
-* mh/numparse (2015-03-19) 14 commits
- - diff_opt_parse(): use convert_i() when handling --abbrev=<num>
- - diff_opt_parse(): use convert_i() when handling "-l<num>"
- - opt_arg(): simplify pointer handling
- - opt_arg(): report errors parsing option values
- - opt_arg(): use convert_i() in implementation
- - opt_arg(): val is always non-NULL
- - builtin_diff(): detect errors when parsing --unified argument
- - handle_revision_opt(): use convert_ui() when handling "--abbrev="
- - strtoul_ui(), strtol_i(): remove functions
- - handle_revision_opt(): use convert_i() when handling "-<digit>"
- - handle_revision_opt(): use skip_prefix() in many places
- - write_subdirectory(): use convert_ui() for parsing mode
- - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
- - numparse: new module for parsing integral numbers
-
- Many codepaths use unchecked use of strtol() and friends (or even
- worse, atoi()).  Introduce a set of wrappers that try to be more
- careful.
-
- Will be rerolled.
- ($gmane/268058).
-
-
-* tf/gitweb-project-listing (2015-03-19) 5 commits
- - gitweb: make category headings into links when they are directories
- - gitweb: optionally set project category from its pathname
- - gitweb: add a link under the search box to clear a project filter
- - gitweb: if the PATH_INFO is incomplete, use it as a project_filter
- - gitweb: fix typo in man page
-
- Update gitweb to make it more pleasant to deal with a hierarchical
- forest of repositories.
-
- Any comments from those who use or have their own code in Gitweb?
-
-
-* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
- - "-" and "@{-1}" on various programs
-
- Lose special case code to make a lone dash "-" mean the previous
- branch aka "@{-1}" from a handful subcommands, and instead support
- the notation throughout the system by reimplementing it at the
- revisions layer.
-
- Needs tests, documentation updates, etc.  Also does only a half-way
- job dealing with range notation, which needs to be fixed before the
- series goes anywhere.
-
+ of strbuf_getwholeline().
 
-* nd/list-files (2015-02-09) 21 commits
- - t3080: tests for git-list-files
- - list-files: -M aka diff-cached
- - list-files -F: show submodules with the new indicator '&'
- - list-files: add -F/--classify
- - list-files: show directories as well as files
- - list-files: do not show duplicate cached entries
- - list-files: sort output and remove duplicates
- - list-files: add -t back
- - list-files: add -1 short for --no-column
- - list-files: add -R/--recursive short for --max-depth=-1
- - list-files: -u does not imply showing stages
- - list-files: make alias 'ls' default to 'list-files'
- - list-files: a user friendly version of ls-files and more
- - ls-files: support --max-depth
- - ls-files: add --column
- - ls-files: add --color to highlight file names
- - ls-files: buffer full item in strbuf before printing
- - ls_colors.c: highlight submodules like directories
- - ls_colors.c: add a function to color a file name
- - ls_colors.c: parse color.ls.* from config file
- - ls_colors.c: add $LS_COLORS parsing code
+ Will merge to 'next'.
 
- A new "git list-files" Porcelain command, "ls-files" with bells and
- whistles.
 
- Reroll to base on wt-status work ($gmane/265142) has seen some
- positive discussions.
+* es/osx-header-pollutes-mask-macro (2015-06-03) 2 commits
+ - ewah: use less generic macro name
+ - ewah/bitmap: silence warning about MASK macro redefinition
 
- Waiting for a further polished reroll ($gmane/265534).
+ Will merge to 'next'.
 
 
-* js/fsck-opt (2015-01-21) 19 commits
- - fsck: support ignoring objects in `git fsck` via fsck.skiplist
- - fsck: git receive-pack: support excluding objects from fsck'ing
- - fsck: introduce `git fsck --quick`
- - fsck: support demoting errors to warnings
- - fsck: document the new receive.fsck.* options
- - fsck: allow upgrading fsck warnings to errors
- - fsck: optionally ignore specific fsck issues completely
- - fsck: disallow demoting grave fsck errors to warnings
- - fsck: add a simple test for receive.fsck.*
- - fsck: make fsck_tag() warn-friendly
- - fsck: handle multiple authors in commits specially
- - fsck: make fsck_commit() warn-friendly
- - fsck: make fsck_ident() warn-friendly
- - fsck: report the ID of the error/warning
- - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
- - fsck: offer a function to demote fsck errors to warnings
- - fsck: provide a function to parse fsck message IDs
- - fsck: introduce identifiers for fsck messages
- - fsck: introduce fsck options
+* es/send-email-sendmail-alias (2015-06-01) 10 commits
+ - send-email: further warn about unsupported sendmail aliases features
+ - t9001: add sendmail aliases line continuation tests
+ - t9001: refactor sendmail aliases test infrastructure
+ - send-email: implement sendmail aliases line continuation support
+ - send-email: simplify sendmail aliases comment and blank line recognizer
+ - send-email: refactor sendmail aliases parser
+ - send-email: fix style: cuddle 'elsif' and 'else' with closing brace
+ - send-email: drop noise comments which merely repeat what code says
+ - send-email: visually distinguish sendmail aliases parser warnings
+ - send-email: further document missing sendmail aliases functionality
+ (this branch uses ah/send-email-sendmail-alias.)
 
- "fsck.warnings = <list of error tokens>" I suggested turned out to
be an unpopular choice (sorry Dscho).
+ "git send-email" learned to handle more forms of sendmail style
aliases file.
 
Expecting a reroll.
Will merge to 'next'.
 
 
-* nd/pathspec-strip-fix (2015-04-18) 1 commit
- - pathspec: adjust prefixlen after striping trailing slash
+* jc/do-not-feed-tags-to-clear-commit-marks (2015-06-01) 1 commit
+ - format-patch: do not feed tags to clear_commit_marks()
 
- Does not quite fix ($gmane/267614).
Will discard.
+ "git format-patch --ignore-if-upstream A..B" did not like to be fed
tags as boundary commits.
 
 
-* jc/diff-b-m (2015-02-23) 5 commits
- . WIPWIP
- . WIP: diff-b-m
- - diffcore-rename: allow easier debugging
- - diffcore-rename.c: add locate_rename_src()
- - diffcore-break: allow debugging
+* mg/index-read-error-messages (2015-06-01) 2 commits
+ - messages: uniform error messages for index write
+ - show-index: uniform error messages for index read
 
- "git diff -B -M" produced incorrect patch when the postimage of a
- completely rewritten file is similar to the preimage of a removed
- file; such a resulting file must not be expressed as a rename from
- other place.
+ The tip was RFC.
 
- The fix in this patch is broken, unfortunately.
 
+* pt/pull-optparse (2015-06-02) 3 commits
+ - pull: use git-rev-parse --parseopt for option parsing
+ - pull: handle git-fetch's options as well
+ - Merge branch 'pt/pull-tests' into pt/pull-optparse
+ (this branch uses pt/pull-tests.)
 
-* pw/remote-set-url-fetch (2014-11-26) 1 commit
- - remote: add --fetch and --both options to set-url
+ "git pull" has become more aware of the options meant for
+ underlying "git fetch" and then learned to use parse-options
+ parser.
 
Expecting a reroll.
Will merge to 'next'.
 
 
-* tr/remerge-diff (2014-11-10) 9 commits
- - t4213: avoid "|" in sed regexp
- - log --remerge-diff: show what the conflict resolution changed
- - name-hash: allow dir hashing even when !ignore_case
- - merge-recursive: allow storing conflict hunks in index
- - merge_diff_mode: fold all merge diff variants into an enum
- - combine-diff: do not pass revs->dense_combined_merges redundantly
- - merge-recursive: -Xindex-only to leave worktree unchanged
- - merge-recursive: internal flag to avoid touching the worktree
- - merge-recursive: remove dead conditional in update_stages()
+* qn/blame-show-email (2015-06-01) 1 commit
+ - blame: add blame.showEmail configuration
 
- "log -p" output learns a new way to let users inspect a merge
- commit by showing the differences between the automerged result
- with conflicts the person who recorded the merge would have seen
- and the final conflict resolution that was recorded in the merge.
+ "git blame" learned blame.showEmail configuration variable.
 
- Waiting for a reroll ($gmane/256591).
+ Will merge to 'next'.
 
 
-* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
- - perf-lib: add test_perf_cleanup target
- - perf-lib: split starting the test from the execution
+* rl/am-3way-config (2015-06-04) 3 commits
+ - git-am: add am.threeWay config variable
+ - t4150-am: refactor am -3 tests
+ - git-am.sh: fix initialization of the threeway variable
 
- Add test_perf_cleanup shell function to the perf suite, that allows
- the script writers to define a test with a clean-up action.
+ "git am" learned am.threeWay configuration variable.
 
- Will hold.
 
+* sb/pack-protocol-mention-smart-http (2015-06-02) 1 commit
+  (merged to 'next' on 2015-06-04 at 8041cf6)
+ + Documentation/technical/pack-protocol: mention http as possible protocol
 
-* jc/show-branch (2014-03-24) 5 commits
- - show-branch: use commit slab to represent bitflags of arbitrary width
- - show-branch.c: remove "all_mask"
- - show-branch.c: abstract out "flags" operation
- - show-branch.c: lift all_mask/all_revs to a global static
- - show-branch.c: update comment style
+ Doc updates.
 
- Waiting for the final step to lift the hard-limit.
+ Will merge to 'master'.
 
---------------------------------------------------
-[Cooking]
 
 * hv/submodule-config (2015-06-02) 4 commits
  - do not die on error of parsing fetchrecursesubmodules option
@@ -638,11 +618,12 @@ of the repositories listed at
 
 
 * sg/merge-summary-config (2015-05-28) 1 commit
- - Documentation: include 'merge.branchdesc' for merge and config as well
+  (merged to 'next' on 2015-06-04 at 8c0946c)
+ + Documentation: include 'merge.branchdesc' for merge and config as well
 
  Doc updates.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jc/push-tags-also (2015-05-29) 1 commit
@@ -653,97 +634,35 @@ of the repositories listed at
 
 
 * jk/die-on-bogus-worktree-late (2015-05-29) 1 commit
- - setup_git_directory: delay core.bare/core.worktree errors
+  (merged to 'next' on 2015-06-04 at fac7a83)
+ + setup_git_directory: delay core.bare/core.worktree errors
 
  The setup code used to die when core.bare and core.worktree are set
  inconsistently, even for commands that do not need working tree.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/make-fix-dependencies (2015-05-29) 3 commits
- - Makefile: silence perl/PM.stamp recipe
- - Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS
- - Makefile: drop dependency between git-instaweb and gitweb
+  (merged to 'next' on 2015-06-04 at 28daf19)
+ + Makefile: silence perl/PM.stamp recipe
+ + Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS
+ + Makefile: drop dependency between git-instaweb and gitweb
 
  Build clean-up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * ah/send-email-sendmail-alias (2015-05-27) 2 commits
- - t9001: write $HOME/, not ~/, to help shells without tilde expansion
- - send-email: add sendmail email aliases format
+  (merged to 'next' on 2015-06-04 at 9d9bd68)
+ + t9001: write $HOME/, not ~/, to help shells without tilde expansion
+ + send-email: add sendmail email aliases format
  (this branch is used by es/send-email-sendmail-alias.)
 
  "git send-email" learned the alias file format used by the sendmail
  program (in an abbreviated form).
 
- Will merge to 'next'.
-
-
-* bc/object-id (2015-05-25) 56 commits
-  (merged to 'next' on 2015-05-26 at 8d9f645)
- + struct ref_lock: convert old_sha1 member to object_id
- + warn_if_dangling_symref(): convert local variable "junk" to object_id
- + each_ref_fn_adapter(): remove adapter
- + rev_list_insert_ref(): remove unneeded arguments
- + rev_list_insert_ref_oid(): new function, taking an object_oid
- + mark_complete(): remove unneeded arguments
- + mark_complete_oid(): new function, taking an object_oid
- + clear_marks(): rewrite to take an object_id argument
- + mark_complete(): rewrite to take an object_id argument
- + send_ref(): convert local variable "peeled" to object_id
- + upload-pack: rewrite functions to take object_id arguments
- + find_symref(): convert local variable "unused" to object_id
- + find_symref(): rewrite to take an object_id argument
- + write_one_ref(): rewrite to take an object_id argument
- + write_refs_to_temp_dir(): convert local variable sha1 to object_id
- + submodule: rewrite to take an object_id argument
- + shallow: rewrite functions to take object_id arguments
- + handle_one_ref(): rewrite to take an object_id argument
- + add_info_ref(): rewrite to take an object_id argument
- + handle_one_reflog(): rewrite to take an object_id argument
- + register_replace_ref(): rewrite to take an object_id argument
- + remote: rewrite functions to take object_id arguments
- + add_one_ref(): rewrite to take an object_id argument
- + string_list_add_one_ref(): rewrite to take an object_id argument
- + add_ref_decoration(): convert local variable original_sha1 to object_id
- + add_ref_decoration(): rewrite to take an object_id argument
- + show_head_ref(): convert local variable "unused" to object_id
- + http-backend: rewrite to take an object_id argument
- + append_similar_ref(): rewrite to take an object_id argument
- + builtin/show-ref: rewrite to take an object_id argument
- + show_ref(): convert local variable peeled to object_id
- + builtin/show-ref: rewrite to use object_id
- + fsck: change functions to use object_id
- + cmd_show_branch(): fix error message
- + builtin/show-branch: rewrite functions to work with object_id
- + append_one_rev(): rewrite to work with object_id
- + builtin/show-branch: rewrite functions to take object_id arguments
- + append_matching_ref(): rewrite to take an object_id argument
- + show_reference(): rewrite to take an object_id argument
- + builtin/remote: rewrite functions to take object_id arguments
- + add_branch_for_removal(): don't set "util" field of string_list entries
- + add_branch_for_removal(): rewrite to take an object_id argument
- + builtin/reflog: rewrite ref functions to take an object_id argument
- + show_ref_cb(): rewrite to take an object_id argument
- + builtin/pack-objects: rewrite to take an object_id argument
- + name_ref(): rewrite to take an object_id argument
- + grab_single_ref(): rewrite to take an object_id argument
- + builtin/fetch: rewrite to take an object_id argument
- + get_name(): rewrite to take an object_id argument
- + add_pending_uninteresting_ref(): rewrite to take an object_id argument
- + append_ref(): rewrite to take an object_id argument
- + register_ref(): rewrite to take an object_id argument
- + handle_one_ref(): rewrite to take an object_id argument
- + builtin/rev-parse: rewrite to take an object_id argument
- + each_ref_fn: change to take an object_id parameter
- + refs: convert struct ref_entry to use struct object_id
-
- for_each_ref() callback functions were taught to name the objects
- not with "unsigned char sha1[20]" but with "struct object_id".
-
  Will merge to 'master'.
 
 
@@ -761,21 +680,6 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* ld/p4-editor-multi-words (2015-05-26) 3 commits
-  (merged to 'next' on 2015-05-28 at a368a47)
- + git-p4: tests: use test-chmtime in place of touch
- + git-p4: fix handling of multi-word P4EDITOR
- + git-p4: add failing test for P4EDITOR handling
-
- Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
- command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
- did not let the shell interpolate the contents of the environment
- variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
- Make it in line with the rest of Git, as well as with Perforce.
-
- Will merge to 'master'.
-
-
 * pt/pull-tests (2015-05-29) 8 commits
   (merged to 'next' on 2015-06-01 at c98370b)
  + t5520: check reflog action in fast-forward merge
@@ -799,32 +703,6 @@ of the repositories listed at
  Still an early WIP
 
 
-* jk/at-push-sha1 (2015-05-22) 16 commits
-  (merged to 'next' on 2015-05-26 at d9d342f)
- + for-each-ref: accept "%(push)" format
- + for-each-ref: use skip_prefix instead of starts_with
- + sha1_name: implement @{push} shorthand
- + sha1_name: refactor interpret_upstream_mark
- + sha1_name: refactor upstream_mark
- + remote.c: add branch_get_push
- + remote.c: return upstream name from stat_tracking_info
- + remote.c: untangle error logic in branch_get_upstream
- + remote.c: report specific errors from branch_get_upstream
- + remote.c: introduce branch_get_upstream helper
- + remote.c: hoist read_config into remote_get_1
- + remote.c: provide per-branch pushremote name
- + remote.c: hoist branch.*.remote lookup out of remote_get_1
- + remote.c: drop "remote" pointer from "struct branch"
- + remote.c: refactor setup of branch->merge list
- + remote.c: drop default_remote_name variable
-
- Introduce <branch>@{push} short-hand to denote the remote-tracking
- branch that tracks the branch at the remote the <branch> would be
- pushed to.
-
- Will merge to 'master'.
-
-
 * ee/clean-remove-dirs (2015-04-26) 5 commits
  - clean: improve performance when removing lots of directories
  - p7300: add performance tests for clean