git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* What's cooking in git.git (Aug 2016, #08; Wed, 24)
@ 2016-08-24 21:16 Junio C Hamano
  2016-08-24 21:34 ` Jeff King
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Junio C Hamano @ 2016-08-24 21:16 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking.  Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.  The ones marked with '.' do not appear in any of
the integration branches, but I am still holding onto them.

v2.10.0-rc1 was tagged last week, then I got sick and lost an entire
day.  I've merged a handful more topics to 'next' and marked 5 among
them to be merged to 'master' by -rc2.  A notable is the ja/i18n
topic, which hopefully will reduce the translator's load somewhat.
Also the change to arrange the file-descriptors to the tempfile be
closed for subprocesses to avoid deadlocks on Windows is also in;
even though it is not a new problem, the fix looked safe enough.
Linus's "32-bit GPG key-ids are so last century" change is already
in, as reported in the 2.10.0-rc1 announcement.

You can find the changes described here in the integration branches
of the repositories listed at

    http://git-blame.blogspot.com/p/git-public-repositories.html

--------------------------------------------------
[Graduated to "master"]

* ab/hooks (2016-08-16) 1 commit
  (merged to 'next' on 2016-08-17 at b56e55d)
 + rev-parse: respect core.hooksPath in --git-path

 "git rev-parse --git-path hooks/<hook>" learned to take
 core.hooksPath configuration variable (introduced during 2.9 cycle)
 into account.


* jk/difftool-command-not-found (2016-08-15) 1 commit
  (merged to 'next' on 2016-08-17 at 32baf03)
 + difftool: always honor fatal error exit codes

 "git difftool" by default ignores the error exit from the backend
 commands it spawns, because often they signal that they found
 differences by exiting with a non-zero status code just like "diff"
 does; the exit status codes 126 and above however are special in
 that they are used to signal that the command is not executable,
 does not exist, or killed by a signal.  "git difftool" has been
 taught to notice these exit status codes.


* lt/gpg-show-long-key-in-signature-verification (2016-08-16) 1 commit
  (merged to 'next' on 2016-08-17 at 1ee8a00)
 + Merge branch 'lt/gpg-show-long-key-in-signature-verification-maint' into lt/gpg-show-long-key-in-signature-verification
 (this branch uses lt/gpg-show-long-key-in-signature-verification-maint.)

 "git log --show-signature" and other commands that display the
 verification status of PGP signature now shows the longer key-id,
 as 32-bit key-id is so last century.

 A last-minute merge of this topic was a bit scary but I made sure
 push-certificate codepath would not be negatively affected.


* lt/gpg-show-long-key-in-signature-verification-maint (2016-08-16) 1 commit
 + gpg-interface: prefer "long" key format output when verifying pgp signatures
 (this branch is used by lt/gpg-show-long-key-in-signature-verification.)

 "git log --show-signature" and other commands that display the
 verification status of PGP signature now shows the longer key-id,
 as 32-bit key-id is so last century.  This is based on older
 codebase, just in case somebody wants to have it.


* rs/pull-signed-tag (2016-08-13) 4 commits
  (merged to 'next' on 2016-08-17 at cecca71)
 + commit: use FLEX_ARRAY in struct merge_remote_desc
 + merge-recursive: fix verbose output for multiple base trees
 + commit: factor out set_merge_remote_desc()
 + commit: use xstrdup() in get_merge_parent()

 When "git merge-recursive" works on history with many criss-cross
 merges in "verbose" mode, the names the command assigns to the
 virtual merge bases could have overwritten each other by unintended
 reuse of the same piece of memory.


* sb/checkout-explit-detach-no-advice (2016-08-15) 1 commit
  (merged to 'next' on 2016-08-17 at fb64716)
 + checkout: do not mention detach advice for explicit --detach option

 "git checkout --detach <branch>" used to give the same advice
 message as that is issued when "git checkout <tag>" (or anything
 that is not a branch name) is given, but asking with "--detach" is
 an explicit enough sign that the user knows what is going on.  The
 advice message has been squelched in this case.


* tb/t0027-raciness-fix (2016-08-14) 1 commit
  (merged to 'next' on 2016-08-17 at 39a6635)
 + convert: Correct NNO tests and missing `LF will be replaced by CRLF`

 The t0027 test for CRLF conversion was timing dependent and flaky.

--------------------------------------------------
[New Topics]

* cc/receive-pack-limit (2016-08-24) 3 commits
 - receive-pack: allow a maximum input size to be specified
 - unpack-objects: add --max-input-size=<size> option
 - index-pack: add --max-input-size=<size> option

 An incoming "git push" that attempts to push too many bytes can now
 be rejected by setting a new configuration variable at the receiving
 end.

 Will merge to 'next'.


* hv/doc-commit-reference-style (2016-08-17) 1 commit
  (merged to 'next' on 2016-08-24 at b187d45)
 + SubmittingPatches: document how to reference previous commits

 A small doc update.

 Will merge to 'master'.


* js/no-html-bypass-on-windows (2016-08-19) 1 commit
  (merged to 'next' on 2016-08-24 at 05728f8)
 + Revert "display HTML in default browser using Windows' shell API"

 On Windows, help.browser configuration variable used to be ignored,
 which has been corrected.

 Will merge to 'master'.


* dg/document-git-c-in-git-config-doc (2016-08-23) 1 commit
  (merged to 'next' on 2016-08-24 at a923eb0)
 + doc: mention `git -c` in git-config(1)

 The "git -c var[=val] cmd" facility to append a configuration
 variable definition at the end of the search order was described in
 git(1) manual page, but not in git-config(1), which was more likely
 place for people to look for when they ask "can I make a one-shot
 override, and if so how?"

 Will merge to 'master'.


* jk/format-patch-number-singleton-patch-with-cover (2016-08-23) 1 commit
 - format-patch: show 0/1 and 1/1 for singleton patch with cover letter

 "git format-patch --cover-letter HEAD^" to format a single patch
 with a separate cover letter now numbers the output as [PATCH 0/1]
 and [PATCH 1/1] by default.

 Will merge to 'next'.


* cp/completion-negative-refs (2016-08-24) 1 commit
 - completion: support excluding refs

 The command-line completion script (in contrib/) learned to
 complete "git cmd ^mas<HT>" to complete the negative end of
 reference to "git cmd ^master".

 Waiting for a review.


* ja/i18n (2016-08-24) 3 commits
  (merged to 'next' on 2016-08-24 at 3a084aa)
 + i18n: simplify numeric error reporting
 + i18n: fix git rebase interactive commit messages
 + i18n: fix typos for translation

 The recent i18n patch we added during this cycle did a bit too much
 refactoring of the messages to avoid word-legos; the repetition has
 been reduced to help translators.

 Will merge to 'master'.


* jk/delta-base-cache (2016-08-23) 7 commits
 - t/perf: add basic perf tests for delta base cache
 - delta_base_cache: use hashmap.h
 - delta_base_cache: drop special treatment of blobs
 - delta_base_cache: use list.h for LRU
 - release_delta_base_cache: reuse existing detach function
 - clear_delta_base_cache_entry: use a more descriptive name
 - cache_or_unpack_entry: drop keep_cache parameter

 The delta-base-cache mechanism has been a key to the performance in
 a repository with a tightly packed packfile, but it did not scale
 well even with a larger value of core.deltaBaseCacheLimit.

 Will merge to 'next'.


* js/cat-file-filters (2016-08-24) 4 commits
 - cat-file: support --textconv/--filters in batch mode
 - cat-file --textconv/--filters: allow specifying the path separately
 - cat-file: introduce the --filters option
 - cat-file: fix a grammo in the man page

 Even though "git hash-objects", which is a tool to take an
 on-filesystem data stream and put it into the Git object store,
 allowed to perform the "outside-world-to-Git" conversions (e.g.
 end-of-line conversions and application of the clean-filter), and
 it had the feature on by default from very early days, its reverse
 operation "git cat-file", which takes an object from the Git object
 store and externalize for the consumption by the outside world,
 lacked an equivalent mechanism to run the "Git-to-outside-world"
 conversion.  The command learned the "--filters" option to do so.


* sb/push-make-submodule-check-the-default (2016-08-24) 1 commit
 - push: change submodule default to check

 Turn the default of "push.recurseSubmodules" to "check".

 Alas, this reveals that the "check" mode is too inefficient to use
 in real projects.
 cf. <xmqqh9aaot49.fsf@gitster.mtv.corp.google.com>

--------------------------------------------------
[Stalled]

* jc/bundle (2016-03-03) 6 commits
 - index-pack: --clone-bundle option
 - Merge branch 'jc/index-pack' into jc/bundle
 - bundle v3: the beginning
 - bundle: keep a copy of bundle file name in the in-core bundle header
 - bundle: plug resource leak
 - bundle doc: 'verify' is not about verifying the bundle

 The beginning of "split bundle", which could be one of the
 ingredients to allow "git clone" traffic off of the core server
 network to CDN.

 While I think it would make it easier for people to experiment and
 build on if the topic is merged to 'next', I am at the same time a
 bit reluctant to merge an unproven new topic that introduces a new
 file format, which we may end up having to support til the end of
 time.  It is likely that to support a "prime clone from CDN", it
 would need a lot more than just "these are the heads and the pack
 data is over there", so this may not be sufficient.

 Will discard.


* jc/blame-reverse (2016-06-14) 2 commits
 - blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
 - blame: improve diagnosis for "--reverse NEW"

 It is a common mistake to say "git blame --reverse OLD path",
 expecting that the command line is dwimmed as if asking how lines
 in path in an old revision OLD have survived up to the current
 commit.

 Has been waiting for positive responses without seeing any.

 Will discard.


* jc/attr (2016-05-25) 18 commits
 - attr: support quoting pathname patterns in C style
 - attr: expose validity check for attribute names
 - attr: add counted string version of git_attr()
 - attr: add counted string version of git_check_attr()
 - attr: retire git_check_attrs() API
 - attr: convert git_check_attrs() callers to use the new API
 - attr: convert git_all_attrs() to use "struct git_attr_check"
 - attr: (re)introduce git_check_attr() and struct git_attr_check
 - attr: rename function and struct related to checking attributes
 - attr.c: plug small leak in parse_attr_line()
 - attr.c: tighten constness around "git_attr" structure
 - attr.c: simplify macroexpand_one()
 - attr.c: mark where #if DEBUG ends more clearly
 - attr.c: complete a sentence in a comment
 - attr.c: explain the lack of attr-name syntax check in parse_attr()
 - attr.c: update a stale comment on "struct match_attr"
 - attr.c: use strchrnul() to scan for one line
 - commit.c: use strchrnul() to scan for one line
 (this branch is used by jc/attr-more, sb/pathspec-label and sb/submodule-default-paths.)

 The attributes API has been updated so that it can later be
 optimized using the knowledge of which attributes are queried.

 I wanted to polish this topic further to make the attribute
 subsystem thread-ready, but because other topics depend on this
 topic and they do not (yet) need it to be thread-ready.

 As the authors of topics that depend on this seem not in a hurry,
 let's discard this and dependent topics and restart them some other
 day.

 Will discard.


* jc/attr-more (2016-06-09) 8 commits
 - attr.c: outline the future plans by heavily commenting
 - attr.c: always pass check[] to collect_some_attrs()
 - attr.c: introduce empty_attr_check_elems()
 - attr.c: correct ugly hack for git_all_attrs()
 - attr.c: rename a local variable check
 - fixup! d5ad6c13
 - attr.c: pass struct git_attr_check down the callchain
 - attr.c: add push_stack() helper
 (this branch uses jc/attr; is tangled with sb/pathspec-label and sb/submodule-default-paths.)

 The beginning of long and tortuous journey to clean-up attribute
 subsystem implementation.

 Needs to be redone.
 Will discard.


* sb/submodule-default-paths (2016-06-20) 5 commits
 - completion: clone can recurse into submodules
 - clone: add --init-submodule=<pathspec> switch
 - submodule update: add `--init-default-path` switch
 - Merge branch 'sb/pathspec-label' into sb/submodule-default-paths
 - Merge branch 'jc/attr' into sb/submodule-default-paths
 (this branch uses jc/attr and sb/pathspec-label; is tangled with jc/attr-more.)

 Allow specifying the set of submodules the user is interested in on
 the command line of "git clone" that clones the superproject.

 Will discard.


* sb/pathspec-label (2016-06-03) 6 commits
 - pathspec: disable preload-index when attribute pathspec magic is in use
 - pathspec: allow escaped query values
 - pathspec: allow querying for attributes
 - pathspec: move prefix check out of the inner loop
 - pathspec: move long magic parsing out of prefix_pathspec
 - Documentation: fix a typo
 (this branch is used by sb/submodule-default-paths; uses jc/attr; is tangled with jc/attr-more.)

 The pathspec mechanism learned ":(attr:X)$pattern" pathspec magic
 to limit paths that match $pattern further by attribute settings.
 The preload-index mechanism is disabled when the new pathspec magic
 is in use (at least for now), because the attribute subsystem is
 not thread-ready.

 Will discard.


* mh/connect (2016-06-06) 10 commits
 - connect: [host:port] is legacy for ssh
 - connect: move ssh command line preparation to a separate function
 - connect: actively reject git:// urls with a user part
 - connect: change the --diag-url output to separate user and host
 - connect: make parse_connect_url() return the user part of the url as a separate value
 - connect: group CONNECT_DIAG_URL handling code
 - connect: make parse_connect_url() return separated host and port
 - connect: re-derive a host:port string from the separate host and port variables
 - connect: call get_host_and_port() earlier
 - connect: document why we sometimes call get_port after get_host_and_port

 Rewrite Git-URL parsing routine (hopefully) without changing any
 behaviour.

 It has been two months without any support.  We may want to discard
 this.


* sb/bisect (2016-04-15) 22 commits
 . SQUASH???
 . bisect: get back halfway shortcut
 . bisect: compute best bisection in compute_relevant_weights()
 . bisect: use a bottom-up traversal to find relevant weights
 . bisect: prepare for different algorithms based on find_all
 . bisect: rename count_distance() to compute_weight()
 . bisect: make total number of commits global
 . bisect: introduce distance_direction()
 . bisect: extract get_distance() function from code duplication
 . bisect: use commit instead of commit list as arguments when appropriate
 . bisect: replace clear_distance() by unique markers
 . bisect: use struct node_data array instead of int array
 . bisect: get rid of recursion in count_distance()
 . bisect: make algorithm behavior independent of DEBUG_BISECT
 . bisect: make bisect compile if DEBUG_BISECT is set
 . bisect: plug the biggest memory leak
 . bisect: add test for the bisect algorithm
 . t6030: generalize test to not rely on current implementation
 . t: use test_cmp_rev() where appropriate
 . t/test-lib-functions.sh: generalize test_cmp_rev
 . bisect: allow 'bisect run' if no good commit is known
 . bisect: write about `bisect next` in documentation

 The internal algorithm used in "git bisect" to find the next commit
 to check has been optimized greatly.

 Was expecting a reroll, but now pb/bisect topic starts removinging
 more and more parts from git-bisect.sh, this needs to see a fresh
 reroll.

 Will discard.
 cf. <1460294354-7031-1-git-send-email-s-beyer@gmx.net>


* sg/completion-updates (2016-02-28) 21 commits
 . completion: cache the path to the repository
 . completion: extract repository discovery from __gitdir()
 . completion: don't guard git executions with __gitdir()
 . completion: consolidate silencing errors from git commands
 . completion: don't use __gitdir() for git commands
 . completion: respect 'git -C <path>'
 . completion: fix completion after 'git -C <path>'
 . completion: don't offer commands when 'git --opt' needs an argument
 . rev-parse: add '--absolute-git-dir' option
 . completion: list short refs from a remote given as a URL
 . completion: don't list 'HEAD' when trying refs completion outside of a repo
 . completion: list refs from remote when remote's name matches a directory
 . completion: respect 'git --git-dir=<path>' when listing remote refs
 . completion: fix most spots not respecting 'git --git-dir=<path>'
 . completion: ensure that the repository path given on the command line exists
 . completion tests: add tests for the __git_refs() helper function
 . completion tests: check __gitdir()'s output in the error cases
 . completion tests: consolidate getting path of current working directory
 . completion tests: make the $cur variable local to the test helper functions
 . completion tests: don't add test cruft to the test repository
 . completion: improve __git_refs()'s in-code documentation

 Has been waiting for a reroll for too long.
 cf. <1456754714-25237-1-git-send-email-szeder@ira.uka.de>

 Will discard.


* ec/annotate-deleted (2015-11-20) 1 commit
 - annotate: skip checking working tree if a revision is provided

 Usability fix for annotate-specific "<file> <rev>" syntax with deleted
 files.

 Has been waiting for a review for too long without seeing anything.

 Will discard.


* dk/gc-more-wo-pack (2016-01-13) 4 commits
 - gc: clean garbage .bitmap files from pack dir
 - t5304: ensure non-garbage files are not deleted
 - t5304: test .bitmap garbage files
 - prepare_packed_git(): find more garbage

 Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
 .bitmap and .keep files.

 Has been waiting for a reroll for too long.
 cf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>

 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.

 Will discard.

--------------------------------------------------
[Cooking]

* ak/curl-imap-send-explicit-scheme (2016-08-17) 1 commit
 - imap-send: Tell cURL to use imap:// or imaps://

 When we started cURL to talk to imap server when a new enough
 version of cURL library is available, we forgot to explicitly add
 imap(s):// before the destination.  To some folks, that didn't work
 and the library tried to make HTTP(s) requests instead.

 Needs review and testing.


* bw/mingw-avoid-inheriting-fd-to-lockfile (2016-08-23) 2 commits
  (merged to 'next' on 2016-08-24 at 8389b0e)
 + mingw: ensure temporary file handles are not inherited by child processes
 + t6026-merge-attr: child processes must not inherit index.lock handles

 The tempfile (hence its user lockfile) API lets the caller to open
 a file descriptor to a temporary file, write into it and then
 finalize it by first closing the filehandle and then either
 removing or renaming the temporary file.  When the process spawns a
 subprocess after obtaining the file descriptor, and if the
 subprocess has not exited when the attempt to remove or rename is
 made, the last step fails on Windows, because the subprocess has
 the file descriptor still open.  Open tempfile with O_CLOEXEC flag
 to avoid this (on Windows, this is mapped to O_NOINHERIT).

 Will merge to 'master'.


* rt/help-unknown (2016-08-18) 2 commits
 - help: make option --help open man pages only for Git commands
 - help: introduce option --command-only

 "git nosuchcommand --help" said "No manual entry for gitnosuchcommand",
 which was not intuitive, given that "git nosuchcommand" said "git:
 'nosuchcommand' is not a git command".

 Waiting for the review discussion to settle.


* po/range-doc (2016-08-13) 12 commits
 - doc: revisions: sort examples and fix alignment of the unchanged
 - doc: revisions: show revision expansion in examples
 - doc: revisions - clarify reachability examples
 - doc: revisions - define `reachable`
 - doc: gitrevisions - clarify 'latter case' is revision walk
 - doc: gitrevisions - use 'reachable' in page description
 - doc: revisions: single vs multi-parent notation comparison
 - doc: revisions: extra clarification of <rev>^! notation effects
 - doc: revisions: give headings for the two and three dot notations
 - doc: show the actual left, right, and boundary marks
 - doc: revisions - name the left and right sides
 - doc: use 'symmetric difference' consistently

 Clarify various ways to specify the "revision ranges" in the
 documentation.

 Waiting for the review discussion to settle.


* jk/diff-submodule-diff-inline (2016-08-23) 8 commits
 - diff: teach diff to display submodule difference with an inline diff
 - submodule: refactor show_submodule_summary with helper function
 - submodule: convert show_submodule_summary to use struct object_id *
 - allow do_submodule_path to work even if submodule isn't checked out
 - diff: prepare for additional submodule formats
 - graph: add support for --line-prefix on all graph-aware output
 - diff.c: remove output_prefix_length field
 - cache: add empty_tree_oid object and helper function

 The "git diff --submodule={short,log}" mechanism has been enhanced
 to allow "--submodule=diff" to show the patch between the submodule
 commits bound to the superproject.

 Waiting for the review discussion to settle.
 I think it is getting there.


* jk/reduce-gc-aggressive-depth (2016-08-11) 1 commit
  (merged to 'next' on 2016-08-11 at 6810c6f)
 + gc: default aggressive depth to 50

 "git gc --aggressive" used to limit the delta-chain length to 250,
 which is way too deep for gaining additional space savings and is
 detrimental for runtime performance.  The limit has been reduced to
 50.

 Will hold to see if people scream.


* ks/pack-objects-bitmap (2016-08-09) 2 commits
 - pack-objects: use reachability bitmap index when generating non-stdout pack
 - pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use

 Waiting for the review discussion to settle.
 cf. <20160818175222.bmm3ivjheokf2qzl@sigill.intra.peff.net>
 cf. <20160818180615.q25p57v35m2xxtww@sigill.intra.peff.net>


* sb/submodule-clone-rr (2016-08-17) 8 commits
 - clone: recursive and reference option triggers submodule alternates
 - clone: implement optional references
 - clone: clarify option_reference as required
 - clone: factor out checking for an alternate path
 - submodule--helper update-clone: allow multiple references
 - submodule--helper module-clone: allow multiple references
 - t7408: merge short tests, factor out testing method
 - t7408: modernize style

 I spotted a last-minute bug in v5, which is not a very good sign
 (it shows that nobody is reviewing).  Any more comments?


* jh/status-v2-porcelain (2016-08-12) 9 commits
 - status: unit tests for --porcelain=v2
 - test-lib-functions.sh: add lf_to_nul helper
 - git-status.txt: describe --porcelain=v2 format
 - status: print branch info with --porcelain=v2 --branch
 - status: print per-file porcelain v2 status data
 - status: collect per-file data for --porcelain=v2
 - status: support --porcelain[=<version>]
 - status: cleanup API to wt_status_print
 - status: rename long-format print routines

 Enhance "git status --porcelain" output by collecting more data on
 the state of the index and the working tree files, which may
 further be used to teach git-prompt (in contrib/) to make fewer
 calls to git.

 Any more comments?


* mh/diff-indent-heuristic (2016-08-23) 6 commits
 - diff: improve positioning of add/delete blocks in diffs
 - xdl_change_compact(): introduce the concept of a change group
 - recs_match(): take two xrecord_t pointers as arguments
 - is_blank_line(): take a single xrecord_t as argument
 - xdl_change_compact(): only use heuristic if group can't be matched
 - xdl_change_compact(): fix compaction heuristic to adjust ixo

 Output from "git diff" can be made easier to read by selecting
 which lines are common and which lines are added/deleted
 intelligently when the lines before and after the changed section
 are the same.  A command line option is added to help with the
 experiment to find a good heuristics.

 Waiting for the review discussion to settle.
 cf. <29c40cdd-363a-df09-f9e2-fe9070bb8a9c@ramsayjones.plus.com>
 cf. <a27aa17e-f602-fc49-92b3-2198e4772e47@ramsayjones.plus.com>


* cc/apply-am (2016-08-11) 40 commits
 - builtin/am: use apply API in run_apply()
 - apply: learn to use a different index file
 - apply: refactor `git apply` option parsing
 - apply: change error_routine when silent
 - usage: add get_error_routine() and get_warn_routine()
 - usage: add set_warn_routine()
 - apply: don't print on stdout in verbosity_silent mode
 - apply: make it possible to silently apply
 - apply: use error_errno() where possible
 - apply: make some parsing functions static again
 - apply: move libified code from builtin/apply.c to apply.{c,h}
 - apply: rename and move opt constants to apply.h
 - builtin/apply: rename option parsing functions
 - builtin/apply: make create_one_file() return -1 on error
 - builtin/apply: make try_create_file() return -1 on error
 - builtin/apply: make write_out_results() return -1 on error
 - builtin/apply: make write_out_one_result() return -1 on error
 - builtin/apply: make create_file() return -1 on error
 - builtin/apply: make add_index_file() return -1 on error
 - builtin/apply: make add_conflicted_stages_file() return -1 on error
 - builtin/apply: make remove_file() return -1 on error
 - builtin/apply: make build_fake_ancestor() return -1 on error
 - builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
 - builtin/apply: make gitdiff_*() return -1 on error
 - builtin/apply: make gitdiff_*() return 1 at end of header
 - builtin/apply: make parse_traditional_patch() return -1 on error
 - builtin/apply: make apply_all_patches() return 128 or 1 on error
 - builtin/apply: move check_apply_state() to apply.c
 - builtin/apply: make check_apply_state() return -1 instead of die()ing
 - apply: make init_apply_state() return -1 instead of exit()ing
 - builtin/apply: move init_apply_state() to apply.c
 - builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
 - builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
 - builtin/apply: make parse_single_patch() return -1 on error
 - builtin/apply: make parse_chunk() return a negative integer on error
 - builtin/apply: make find_header() return -128 instead of die()ing
 - builtin/apply: read_patch_file() return -1 instead of die()ing
 - builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
 - apply: move 'struct apply_state' to apply.h
 - apply: make some names more specific

 "git am" has been taught to make an internal call to "git apply"'s
 innards without spawning the latter as a separate process.

 Waiting for the review discussion to settle.
 cf. <xmqqvaz7ys9u.fsf@gitster.mtv.corp.google.com>
 We are almost there.


* jk/pack-objects-optim-mru (2016-08-11) 4 commits
  (merged to 'next' on 2016-08-11 at c0a7dae)
 + pack-objects: use mru list when iterating over packs
 + pack-objects: break delta cycles before delta-search phase
 + sha1_file: make packed_object_info public
 + provide an initializer for "struct object_info"

 "git pack-objects" in a repository with many packfiles used to
 spend a lot of time looking for/at objects in them; the accesses to
 the packfiles are now optimized by checking the most-recently-used
 packfile first.

 Will hold to see if people scream.


* jk/rebase-i-drop-ident-check (2016-07-29) 1 commit
  (merged to 'next' on 2016-08-14 at 6891bcd)
 + rebase-interactive: drop early check for valid ident

 Even when "git pull --rebase=preserve" (and the underlying "git
 rebase --preserve") can complete without creating any new commit
 (i.e. fast-forwards), it still insisted on having a usable ident
 information (read: user.email is set correctly), which was less
 than nice.  As the underlying commands used inside "git rebase"
 would fail with a more meaningful error message and advice text
 when the bogus ident matters, this extra check was removed.

 Will hold to see if people scream.
 cf. <20160729224944.GA23242@sigill.intra.peff.net>


* dp/autoconf-curl-ssl (2016-06-28) 1 commit
 - ./configure.ac: detect SSL in libcurl using curl-config

 The ./configure script generated from configure.ac was taught how
 to detect support of SSL by libcurl better.

 Needs review.


* jc/pull-rebase-ff (2016-07-28) 1 commit
 - pull: fast-forward "pull --rebase=true"

 "git pull --rebase", when there is no new commits on our side since
 we forked from the upstream, should be able to fast-forward without
 invoking "git rebase", but it didn't.

 Needs a real log message and a few tests.


* ex/deprecate-empty-pathspec-as-match-all (2016-06-22) 1 commit
  (merged to 'next' on 2016-07-13 at d9ca7fb)
 + pathspec: warn on empty strings as pathspec

 An empty string used as a pathspec element has always meant
 'everything matches', but it is too easy to write a script that
 finds a path to remove in $path and run 'git rm "$paht"', which
 ends up removing everything.  Start warning about this use of an
 empty string used for 'everything matches' and ask users to use a
 more explicit '.' for that instead.

 The hope is that existing users will not mind this change, and
 eventually the warning can be turned into a hard error, upgrading
 the deprecation into removal of this (mis)feature.

 Will hold to see if people scream.


* mh/ref-store (2016-06-20) 38 commits
 - refs: implement iteration over only per-worktree refs
 - refs: make lock generic
 - refs: add method to rename refs
 - refs: add methods to init refs db
 - refs: make delete_refs() virtual
 - refs: add method for initial ref transaction commit
 - refs: add methods for reflog
 - refs: add method iterator_begin
 - files_ref_iterator_begin(): take a ref_store argument
 - split_symref_update(): add a files_ref_store argument
 - lock_ref_sha1_basic(): add a files_ref_store argument
 - lock_ref_for_update(): add a files_ref_store argument
 - commit_ref_update(): add a files_ref_store argument
 - lock_raw_ref(): add a files_ref_store argument
 - repack_without_refs(): add a files_ref_store argument
 - refs: make peel_ref() virtual
 - refs: make create_symref() virtual
 - refs: make pack_refs() virtual
 - refs: make verify_refname_available() virtual
 - refs: make read_raw_ref() virtual
 - resolve_gitlink_ref(): rename path parameter to submodule
 - resolve_gitlink_ref(): avoid memory allocation in many cases
 - resolve_gitlink_ref(): implement using resolve_ref_recursively()
 - resolve_ref_recursively(): new function
 - read_raw_ref(): take a (struct ref_store *) argument
 - resolve_gitlink_packed_ref(): remove function
 - resolve_packed_ref(): rename function from resolve_missing_loose_ref()
 - refs: reorder definitions
 - refs: add a transaction_commit() method
 - {lock,commit,rollback}_packed_refs(): add files_ref_store arguments
 - resolve_missing_loose_ref(): add a files_ref_store argument
 - get_packed_ref(): add a files_ref_store argument
 - add_packed_ref(): add a files_ref_store argument
 - refs: create a base class "ref_store" for files_ref_store
 - refs: add a backend method structure
 - refs: rename struct ref_cache to files_ref_store
 - rename_ref_available(): add docstring
 - resolve_gitlink_ref(): eliminate temporary variable

 The ref-store abstraction was introduced to the refs API so that we
 can plug in different backends to store references.

 Needs a fixup.
 cf. <576D9885.2020901@ramsayjones.plus.com>


* nd/shallow-deepen (2016-06-13) 27 commits
 - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
 - upload-pack: add get_reachable_list()
 - upload-pack: split check_unreachable() in two, prep for get_reachable_list()
 - t5500, t5539: tests for shallow depth excluding a ref
 - clone: define shallow clone boundary with --shallow-exclude
 - fetch: define shallow boundary with --shallow-exclude
 - upload-pack: support define shallow boundary by excluding revisions
 - refs: add expand_ref()
 - t5500, t5539: tests for shallow depth since a specific date
 - clone: define shallow clone boundary based on time with --shallow-since
 - fetch: define shallow boundary with --shallow-since
 - upload-pack: add deepen-since to cut shallow repos based on time
 - shallow.c: implement a generic shallow boundary finder based on rev-list
 - fetch-pack: use a separate flag for fetch in deepening mode
 - fetch-pack.c: mark strings for translating
 - fetch-pack: use a common function for verbose printing
 - fetch-pack: use skip_prefix() instead of starts_with()
 - upload-pack: move rev-list code out of check_non_tip()
 - upload-pack: make check_non_tip() clean things up on error
 - upload-pack: tighten number parsing at "deepen" lines
 - upload-pack: use skip_prefix() instead of starts_with()
 - upload-pack: move "unshallow" sending code out of deepen()
 - upload-pack: remove unused variable "backup"
 - upload-pack: move "shallow" sending code out of deepen()
 - upload-pack: move shallow deepen code out of receive_needs()
 - transport-helper.c: refactor set_helper_option()
 - remote-curl.c: convert fetch_git() to use argv_array

 The existing "git fetch --depth=<n>" option was hard to use
 correctly when making the history of an existing shallow clone
 deeper.  A new option, "--deepen=<n>", has been added to make this
 easier to use.  "git clone" also learned "--shallow-since=<date>"
 and "--shallow-exclude=<tag>" options to make it easier to specify
 "I am interested only in the recent N months worth of history" and
 "Give me only the history since that version".

 Needs review.

 Rerolled.  What this topic attempts to achieve is worthwhile, I
 would think.


* pb/bisect (2016-08-23) 27 commits
 . bisect--helper: remove the dequote in bisect_start()
 . bisect--helper: retire `--bisect-auto-next` subcommand
 . bisect--helper: retire `--bisect-autostart` subcommand
 . bisect--helper: retire `--check-and-set-terms` subcommand
 . bisect--helper: retire `--bisect-write` subcommand
 . bisect--helper: `bisect_replay` shell function in C
 . bisect--helper: `bisect_log` shell function in C
 . bisect--helper: retire `--write-terms` subcommand
 . bisect--helper: retire `--check-expected-revs` subcommand
 . bisect--helper: `bisect_state` & `bisect_head` shell function in C
 . bisect--helper: `bisect_autostart` shell function in C
 . bisect--helper: retire `--next-all` subcommand
 . bisect--helper: retire `--bisect-clean-state` subcommand
 . bisect--helper: `bisect_next` and `bisect_auto_next` shell function in C
 . bisect--helper: `bisect_start` shell function partially in C
 . bisect--helper: `get_terms` & `bisect_terms` shell function in C
 . bisect--helper: `bisect_next_check` & bisect_voc shell function in C
 . bisect--helper: `check_and_set_terms` shell function in C
 . bisect--helper: `bisect_write` shell function in C
 . bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
 . bisect--helper: `bisect_reset` shell function in C
 . wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
 . t6030: explicitly test for bisection cleanup
 . bisect--helper: `bisect_clean_state` shell function in C
 . bisect--helper: `write_terms` shell function in C
 . bisect: rewrite `check_term_format` shell function in C
 . bisect--helper: use OPT_CMDMODE instead of OPT_BOOL

 GSoC "bisect" topic.

 I'd prefer to see early part solidified so that reviews can focus
 on the later part that is still in flux.  We are almost there but
 not quite yet.


* kn/ref-filter-branch-list (2016-05-17) 17 commits
 - branch: implement '--format' option
 - branch: use ref-filter printing APIs
 - branch, tag: use porcelain output
 - ref-filter: allow porcelain to translate messages in the output
 - ref-filter: add `:dir` and `:base` options for ref printing atoms
 - ref-filter: make remote_ref_atom_parser() use refname_atom_parser_internal()
 - ref-filter: introduce symref_atom_parser() and refname_atom_parser()
 - ref-filter: introduce refname_atom_parser_internal()
 - ref-filter: make "%(symref)" atom work with the ':short' modifier
 - ref-filter: add support for %(upstream:track,nobracket)
 - ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
 - ref-filter: introduce format_ref_array_item()
 - ref-filter: move get_head_description() from branch.c
 - ref-filter: modify "%(objectname:short)" to take length
 - ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
 - ref-filter: include reference to 'used_atom' within 'atom_value'
 - ref-filter: implement %(if), %(then), and %(else) atoms

 The code to list branches in "git branch" has been consolidated
 with the more generic ref-filter API.

 Rerolled.
 Needs review.


* jc/merge-drop-old-syntax (2015-04-29) 1 commit
 - merge: drop 'git merge <message> HEAD <commit>' syntax

 Stop supporting "git merge <message> HEAD <commit>" syntax that has
 been deprecated since October 2007, and issues a deprecation
 warning message since v2.5.0.

 It has been reported that git-gui still uses the deprecated syntax,
 which needs to be fixed before this final step can proceed.
 cf. <5671DB28.8020901@kdbg.org>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What's cooking in git.git (Aug 2016, #08; Wed, 24)
  2016-08-24 21:16 What's cooking in git.git (Aug 2016, #08; Wed, 24) Junio C Hamano
@ 2016-08-24 21:34 ` Jeff King
  2016-08-24 22:01   ` Junio C Hamano
  2016-08-26 14:09 ` Johannes Schindelin
  2016-08-31  5:10 ` Stefan Beller
  2 siblings, 1 reply; 7+ messages in thread
From: Jeff King @ 2016-08-24 21:34 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Wed, Aug 24, 2016 at 02:16:02PM -0700, Junio C Hamano wrote:

> * jk/pack-objects-optim-mru (2016-08-11) 4 commits
>   (merged to 'next' on 2016-08-11 at c0a7dae)
>  + pack-objects: use mru list when iterating over packs
>  + pack-objects: break delta cycles before delta-search phase
>  + sha1_file: make packed_object_info public
>  + provide an initializer for "struct object_info"
> 
>  "git pack-objects" in a repository with many packfiles used to
>  spend a lot of time looking for/at objects in them; the accesses to
>  the packfiles are now optimized by checking the most-recently-used
>  packfile first.
> 
>  Will hold to see if people scream.

Just a note that we've been running with this at GitHub on all of our
servers for a bit over a week, and no screaming yet. That's not
necessarily proof of anything, but it does make the audience of "people"
a bit bigger than just "next", as we run quite a few invocations of
pack-objects in a day.

I don't think that changes anything in the near future, since this is
obviously not for v2.10, but barring any complaints, it's probably a
reasonable topic to consider for the version after (and of course I'll
relay any issues we come across on our servers).

I'm planning to deploy the delta-cache topic soon, too, so that should
give it some good exercise.

-Peff

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What's cooking in git.git (Aug 2016, #08; Wed, 24)
  2016-08-24 21:34 ` Jeff King
@ 2016-08-24 22:01   ` Junio C Hamano
  0 siblings, 0 replies; 7+ messages in thread
From: Junio C Hamano @ 2016-08-24 22:01 UTC (permalink / raw)
  To: Jeff King; +Cc: git

Jeff King <peff@peff.net> writes:

> On Wed, Aug 24, 2016 at 02:16:02PM -0700, Junio C Hamano wrote:
>
>> * jk/pack-objects-optim-mru (2016-08-11) 4 commits
>>   (merged to 'next' on 2016-08-11 at c0a7dae)
>>  + pack-objects: use mru list when iterating over packs
>>  + pack-objects: break delta cycles before delta-search phase
>>  + sha1_file: make packed_object_info public
>>  + provide an initializer for "struct object_info"
>> 
>>  "git pack-objects" in a repository with many packfiles used to
>>  spend a lot of time looking for/at objects in them; the accesses to
>>  the packfiles are now optimized by checking the most-recently-used
>>  packfile first.
>> 
>>  Will hold to see if people scream.
>
> Just a note that we've been running with this at GitHub on all of our
> servers for a bit over a week, and no screaming yet. That's not
> necessarily proof of anything, but it does make the audience of "people"
> a bit bigger than just "next", as we run quite a few invocations of
> pack-objects in a day.
>
> I don't think that changes anything in the near future, since this is
> obviously not for v2.10, but barring any complaints, it's probably a
> reasonable topic to consider for the version after (and of course I'll
> relay any issues we come across on our servers).

Yeah, that "Will hold" is primarily me being lazy [*1*] during the
-rc period when updating the "What's cooking".  After following the
"break delta cycles" patch carefully, I am no longer worried about
this topic.  It should be in 'master' early in the next cycle, among
other topics that are competently done.

> I'm planning to deploy the delta-cache topic soon, too, so that should
> give it some good exercise.

Good.  Thanks.


[Footnote]

*1* ... and a bit more careful, as any "Will merge to 'next'" thing
gets marked as "Will merge to 'master'" by default and having any
entry under "Will merge to 'master'" in "Meta/cook -w" report tempts
me to merge them even during -rc period.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What's cooking in git.git (Aug 2016, #08; Wed, 24)
  2016-08-24 21:16 What's cooking in git.git (Aug 2016, #08; Wed, 24) Junio C Hamano
  2016-08-24 21:34 ` Jeff King
@ 2016-08-26 14:09 ` Johannes Schindelin
  2016-08-26 16:04   ` Junio C Hamano
  2016-08-31  5:10 ` Stefan Beller
  2 siblings, 1 reply; 7+ messages in thread
From: Johannes Schindelin @ 2016-08-26 14:09 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Hi Junio,

On Wed, 24 Aug 2016, Junio C Hamano wrote:

> * rt/help-unknown (2016-08-18) 2 commits
>  - help: make option --help open man pages only for Git commands
>  - help: introduce option --command-only
> 
>  "git nosuchcommand --help" said "No manual entry for gitnosuchcommand",
>  which was not intuitive, given that "git nosuchcommand" said "git:
>  'nosuchcommand' is not a git command".
> 
>  Waiting for the review discussion to settle.

Not only that. For a week now, two of my build jobs have been failing (the
one testing `pu` verbatim and the one testing Git for Windows' patches
rebased on top of `pu`) because the test does not actually test what was
just built, but relies on the Git man pages to be installed.

So it needs more than just the review discussion to settle.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What's cooking in git.git (Aug 2016, #08; Wed, 24)
  2016-08-26 14:09 ` Johannes Schindelin
@ 2016-08-26 16:04   ` Junio C Hamano
  0 siblings, 0 replies; 7+ messages in thread
From: Junio C Hamano @ 2016-08-26 16:04 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> On Wed, 24 Aug 2016, Junio C Hamano wrote:
>
>> * rt/help-unknown (2016-08-18) 2 commits
>>  - help: make option --help open man pages only for Git commands
>>  - help: introduce option --command-only
>> 
>>  "git nosuchcommand --help" said "No manual entry for gitnosuchcommand",
>>  which was not intuitive, given that "git nosuchcommand" said "git:
>>  'nosuchcommand' is not a git command".
>> 
>>  Waiting for the review discussion to settle.
>
> Not only that. For a week now, two of my build jobs have been failing (the
> one testing `pu` verbatim and the one testing Git for Windows' patches
> rebased on top of `pu`) because the test does not actually test what was
> just built, but relies on the Git man pages to be installed.
>
> So it needs more than just the review discussion to settle.

Ah, sorry for being inaccurate.

A topic may not be ready to be merged down to the next integration
branch before being re-rolled.  I say "Waiting for a reroll" when I
saw review comments and responses have produced enough material to
go into a reroll and the ball is in the submitter's court.  While
the review is still ongoing, I just label it differently to as a
reminder to myself that it is premature for me to jump up and down
and demand "Can we have a reroll pretty-please now?"  This was in
that latter kind when I labelled it.

I think the reviews on the topic has settled and I should have
marked it as "Waiting for a reroll", but during the prerelease
period, I do not have time to pay too much attention on things
outside 'master' and fix-up topics that are moving through 'next'
to 'master' aiming to become part of the upcoming release, so the
marking was left behind [*1*].  My bad.


[Footnotes]

*1* It follows that it would not be unusual if the tip of 'pu' does
    not even build during the time.  Being able to test it does not
    contribute much to catching the remaining bug in the release
    candidates and I'd really like to see all of us paying more
    attention to the tip of 'master'.  A statement "With topic X
    that is still in 'next', A works" is not all that interesting
    unless it is accompanied by "And A used to work in the previous
    release, but broken in 'master'." at this point in a development
    cycle.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What's cooking in git.git (Aug 2016, #08; Wed, 24)
  2016-08-24 21:16 What's cooking in git.git (Aug 2016, #08; Wed, 24) Junio C Hamano
  2016-08-24 21:34 ` Jeff King
  2016-08-26 14:09 ` Johannes Schindelin
@ 2016-08-31  5:10 ` Stefan Beller
  2016-08-31  6:25   ` Jacob Keller
  2 siblings, 1 reply; 7+ messages in thread
From: Stefan Beller @ 2016-08-31  5:10 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git@vger.kernel.org

>
> * sb/submodule-clone-rr (2016-08-17) 8 commits
>  - clone: recursive and reference option triggers submodule alternates
>  - clone: implement optional references
>  - clone: clarify option_reference as required
>  - clone: factor out checking for an alternate path
>  - submodule--helper update-clone: allow multiple references
>  - submodule--helper module-clone: allow multiple references
>  - t7408: merge short tests, factor out testing method
>  - t7408: modernize style
>
>  I spotted a last-minute bug in v5, which is not a very good sign
>  (it shows that nobody is reviewing).  Any more comments?
>
>

Jacob Keller reviewed that series as announced in

https://public-inbox.org/git/CA+P7+xpE=GoFWfdzmT+k=Zku8+YjEH-aOMsFUtJJJwFHa1hKDQ@mail.gmail.com/#t

and concluded it is fine as in

https://public-inbox.org/git/CA+P7+xrokr0ZGidQFuvpN+-J_WDjkaUropcnPGVjZHafc12AnQ@mail.gmail.com/

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What's cooking in git.git (Aug 2016, #08; Wed, 24)
  2016-08-31  5:10 ` Stefan Beller
@ 2016-08-31  6:25   ` Jacob Keller
  0 siblings, 0 replies; 7+ messages in thread
From: Jacob Keller @ 2016-08-31  6:25 UTC (permalink / raw)
  To: Stefan Beller; +Cc: Junio C Hamano, git@vger.kernel.org

On Tue, Aug 30, 2016 at 10:10 PM, Stefan Beller <sbeller@google.com> wrote:
>>
>> * sb/submodule-clone-rr (2016-08-17) 8 commits
>>  - clone: recursive and reference option triggers submodule alternates
>>  - clone: implement optional references
>>  - clone: clarify option_reference as required
>>  - clone: factor out checking for an alternate path
>>  - submodule--helper update-clone: allow multiple references
>>  - submodule--helper module-clone: allow multiple references
>>  - t7408: merge short tests, factor out testing method
>>  - t7408: modernize style
>>
>>  I spotted a last-minute bug in v5, which is not a very good sign
>>  (it shows that nobody is reviewing).  Any more comments?
>>
>>
>
> Jacob Keller reviewed that series as announced in
>
> https://public-inbox.org/git/CA+P7+xpE=GoFWfdzmT+k=Zku8+YjEH-aOMsFUtJJJwFHa1hKDQ@mail.gmail.com/#t
>
> and concluded it is fine as in
>
> https://public-inbox.org/git/CA+P7+xrokr0ZGidQFuvpN+-J_WDjkaUropcnPGVjZHafc12AnQ@mail.gmail.com/
>
> Thanks,
> Stefan

Yep.

Thanks,
Jake

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-08-31  6:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-24 21:16 What's cooking in git.git (Aug 2016, #08; Wed, 24) Junio C Hamano
2016-08-24 21:34 ` Jeff King
2016-08-24 22:01   ` Junio C Hamano
2016-08-26 14:09 ` Johannes Schindelin
2016-08-26 16:04   ` Junio C Hamano
2016-08-31  5:10 ` Stefan Beller
2016-08-31  6:25   ` Jacob Keller

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).