mirror of
https://github.com/git/git.git
synced 2026-01-12 13:53:11 +09:00
What's cooking (2017/02 #03)
This commit is contained in:
parent
cb56426943
commit
23bf560093
@ -1,10 +1,10 @@
|
||||
To: git@vger.kernel.org
|
||||
Bcc: lwn@lwn.net
|
||||
Subject: What's cooking in git.git (Feb 2017, #02; Mon, 6)
|
||||
X-master-at: 6e3a7b3398559305c7a239a42e447c21a8f39ff8
|
||||
X-next-at: 6ec89f72d55e6d68bc583df597c35ed94a9731fd
|
||||
Subject: What's cooking in git.git (Feb 2017, #03; Fri, 10)
|
||||
X-master-at: 5588dbffbd61e4906e453808c6ad32f792fea521
|
||||
X-next-at: 8ea7874076a995b24efb1d735d9d27a7709c3ecb
|
||||
|
||||
What's cooking in git.git (Feb 2017, #02; Mon, 6)
|
||||
What's cooking in git.git (Feb 2017, #03; Fri, 10)
|
||||
--------------------------------------------------
|
||||
|
||||
Here are the topics that have been cooking. Commits prefixed with
|
||||
@ -12,6 +12,18 @@ Here are the topics that have been cooking. 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.
|
||||
|
||||
2.12-rc1 has been tagged and most of the big things are behind us (I
|
||||
am reluctant to merge anything large-ish after -rc0 and that was why
|
||||
-rc0 preview had topics that cooked in 'next' only for a few days
|
||||
in---usually my rule is to keep any non-trivial topic for about a
|
||||
week in 'next'). There still are interesting and/or exciting things
|
||||
coming into 'next', hopefully they will be the "killer" additions
|
||||
for the release after the upcoming 2.12. In the meantime, lets make
|
||||
sure that we catch regressions in -rc1 and the tip of 'master'.
|
||||
|
||||
Oh, also I'd like to get pull requests for gitk and git-gui updates
|
||||
soonish, if we are to have one during this cycle.
|
||||
|
||||
You can find the changes described here in the integration branches
|
||||
of the repositories listed at
|
||||
|
||||
@ -20,83 +32,6 @@ of the repositories listed at
|
||||
--------------------------------------------------
|
||||
[Graduated to "master"]
|
||||
|
||||
* cw/log-updates-for-all-refs-really (2017-02-01) 4 commits
|
||||
(merged to 'next' on 2017-02-02 at 3e11673fcc)
|
||||
+ doc: add note about ignoring '--no-create-reflog'
|
||||
(merged to 'next' on 2017-01-31 at 53f71d2401)
|
||||
+ update-ref: add test cases for bare repository
|
||||
+ refs: add option core.logAllRefUpdates = always
|
||||
+ config: add markup to core.logAllRefUpdates doc
|
||||
|
||||
The "core.logAllRefUpdates" that used to be boolean has been
|
||||
enhanced to take 'always' as well, to record ref updates to refs
|
||||
other than the ones that are expected to be updated (i.e. branches,
|
||||
remote-tracking branches and notes).
|
||||
|
||||
|
||||
* js/re-running-failed-tests (2017-01-27) 1 commit
|
||||
(merged to 'next' on 2017-01-31 at 30c3a9e0cf)
|
||||
+ t/Makefile: add a rule to re-run previously-failed tests
|
||||
|
||||
"make -C t failed" will now run only the tests that failed in the
|
||||
previous run. This is usable only when prove is not use, and gives
|
||||
a useless error message when run after "make clean", but otherwise
|
||||
is serviceable.
|
||||
|
||||
|
||||
* pl/complete-diff-submodule-diff (2017-01-30) 1 commit
|
||||
(merged to 'next' on 2017-01-31 at 7e668d325c)
|
||||
+ Completion: Add support for --submodule=diff
|
||||
|
||||
The command line completion (in contrib/) learned that
|
||||
"git diff --submodule=" can take "diff" as a recently added option.
|
||||
|
||||
|
||||
* rs/object-id (2017-01-30) 3 commits
|
||||
(merged to 'next' on 2017-01-31 at c442e4780c)
|
||||
+ checkout: convert post_checkout_hook() to struct object_id
|
||||
+ use oidcpy() for copying hashes between instances of struct object_id
|
||||
+ use oid_to_hex_r() for converting struct object_id hashes to hex strings
|
||||
|
||||
"uchar [40]" to "struct object_id" conversion continues.
|
||||
|
||||
|
||||
* sb/submodule-recursive-absorb (2017-01-26) 3 commits
|
||||
(merged to 'next' on 2017-01-31 at 0a24cfd06b)
|
||||
+ submodule absorbing: fix worktree/gitdir pointers recursively for non-moves
|
||||
+ cache.h: expose the dying procedure for reading gitlinks
|
||||
+ setup: add gentle version of resolve_git_dir
|
||||
|
||||
When a submodule "A", which has another submodule "B" nested within
|
||||
it, is "absorbed" into the top-level superproject, the inner
|
||||
submodule "B" used to be left in a strange state. The logic to
|
||||
adjust the .git pointers in these submodules has been corrected.
|
||||
|
||||
|
||||
* sb/submodule-update-initial-runs-custom-script (2017-01-26) 1 commit
|
||||
(merged to 'next' on 2017-01-31 at d794f894c6)
|
||||
+ submodule update: run custom update script for initial populating as well
|
||||
|
||||
The user can specify a custom update method that is run when
|
||||
"submodule update" updates an already checked out submodule. This
|
||||
was ignored when checking the submodule out for the first time and
|
||||
we instead always just checked out the commit that is bound to the
|
||||
path in the superproject's index.
|
||||
|
||||
|
||||
* sb/unpack-trees-super-prefix (2017-01-25) 4 commits
|
||||
(merged to 'next' on 2017-01-31 at dabe6ca2b1)
|
||||
+ unpack-trees: support super-prefix option
|
||||
+ t1001: modernize style
|
||||
+ t1000: modernize style
|
||||
+ read-tree: use OPT_BOOL instead of OPT_SET_INT
|
||||
|
||||
"git read-tree" and its underlying unpack_trees() machinery learned
|
||||
to report problematic paths prefixed with the --super-prefix option.
|
||||
|
||||
--------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* bw/push-submodule-only (2017-02-01) 2 commits
|
||||
(merged to 'next' on 2017-02-06 at 851edafb14)
|
||||
+ completion: add completion for --recurse-submodules=only
|
||||
@ -104,40 +39,21 @@ of the repositories listed at
|
||||
|
||||
Add missing documentation update to a recent topic.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
* da/t7800-cleanup (2017-02-08) 2 commits
|
||||
(merged to 'next' on 2017-02-10 at c983b65d33)
|
||||
+ t7800: replace "wc -l" with test_line_count
|
||||
+ Merge branch 'da/difftool-dir-diff-fix' into da/t7800-cleanup
|
||||
(this branch uses js/difftool-builtin.)
|
||||
|
||||
Test updates.
|
||||
|
||||
|
||||
* cw/completion (2017-02-03) 7 commits
|
||||
- completion: recognize more long-options
|
||||
- completion: teach remote subcommands to complete options
|
||||
- completion: teach replace to complete options
|
||||
- completion: teach ls-remote to complete options
|
||||
- completion: improve bash completion for git-add
|
||||
- completion: add subcommand completion for rerere
|
||||
- completion: teach submodule subcommands to complete options
|
||||
* dl/difftool-doc-no-gui-option (2017-02-08) 1 commit
|
||||
(merged to 'next' on 2017-02-10 at 3a3496a740)
|
||||
+ Document the --no-gui option in difftool
|
||||
|
||||
More command line completion (in contrib/) for recent additions.
|
||||
|
||||
Needs review.
|
||||
|
||||
|
||||
* cw/tag-reflog-message (2017-02-06) 1 commit
|
||||
- tag: generate useful reflog message
|
||||
|
||||
"git tag", because refs/tags/* doesn't keep reflog by default, did
|
||||
not leave useful message when adding a new entry to reflog.
|
||||
|
||||
Waiting for review to conclude.
|
||||
An uneven error handling is somewhat disturbing.
|
||||
|
||||
|
||||
* dl/document-that-difftool-takes-no-gui-option (2017-02-06) 1 commit
|
||||
- Document the --no-gui option in difftool
|
||||
|
||||
A minor doc update.
|
||||
|
||||
Waiting for review to conclude.
|
||||
A minor inconsistency is somewhat disturbing.
|
||||
Doc update.
|
||||
|
||||
|
||||
* ew/complete-svn-authorship-options (2017-02-06) 1 commit
|
||||
@ -146,7 +62,13 @@ of the repositories listed at
|
||||
|
||||
Correct command line completion (in contrib/) on "git svn"
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
* jk/log-graph-name-only (2017-02-08) 1 commit
|
||||
(merged to 'next' on 2017-02-10 at 2ab7ed99f4)
|
||||
+ diff: print line prefix for --name-only output
|
||||
|
||||
"git log --graph" did not work well with "--name-only", even though
|
||||
other forms of "diff" output were handled correctly.
|
||||
|
||||
|
||||
* jk/reset-to-break-a-commit-doc (2017-02-03) 1 commit
|
||||
@ -155,16 +77,22 @@ of the repositories listed at
|
||||
|
||||
A minor doc update.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* js/difftool-builtin (2017-02-06) 1 commit
|
||||
* js/difftool-builtin (2017-02-08) 2 commits
|
||||
(merged to 'next' on 2017-02-10 at 30b3f383e8)
|
||||
+ t7800: simplify basic usage test
|
||||
(merged to 'next' on 2017-02-06 at 6a90549f38)
|
||||
+ difftool: fix bug when printing usage
|
||||
(this branch is used by da/t7800-cleanup.)
|
||||
|
||||
A hot-fix to C-rewrite of "git difftool".
|
||||
A few hot-fixes to C-rewrite of "git difftool".
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
* nd/rev-list-all-includes-HEAD-doc (2017-02-08) 1 commit
|
||||
(merged to 'next' on 2017-02-10 at 5df8b81b57)
|
||||
+ rev-list-options.txt: update --all about HEAD
|
||||
|
||||
Doc update.
|
||||
|
||||
|
||||
* ps/worktree-prune-help-fix (2017-02-06) 1 commit
|
||||
@ -173,7 +101,12 @@ of the repositories listed at
|
||||
|
||||
Incorrect usage help message for "git worktree prune" has been fixed.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
* rs/fill-directory-optim (2017-02-08) 1 commit
|
||||
(merged to 'next' on 2017-02-10 at 71047464df)
|
||||
+ dir: avoid allocation in fill_directory()
|
||||
|
||||
Code clean-up.
|
||||
|
||||
|
||||
* rs/p5302-create-repositories-before-tests (2017-02-06) 1 commit
|
||||
@ -183,69 +116,151 @@ of the repositories listed at
|
||||
Adjust a perf test to new world order where commands that do
|
||||
require a repository are really strict about having a repository.
|
||||
|
||||
--------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* jk/alternate-ref-optim (2017-02-08) 11 commits
|
||||
(merged to 'next' on 2017-02-10 at f26f32cff6)
|
||||
+ receive-pack: avoid duplicates between our refs and alternates
|
||||
+ receive-pack: treat namespace .have lines like alternates
|
||||
+ receive-pack: fix misleading namespace/.have comment
|
||||
+ receive-pack: use oidset to de-duplicate .have lines
|
||||
+ add oidset API
|
||||
+ fetch-pack: cache results of for_each_alternate_ref
|
||||
+ for_each_alternate_ref: replace transport code with for-each-ref
|
||||
+ for_each_alternate_ref: pass name/oid instead of ref struct
|
||||
+ for_each_alternate_ref: use strbuf for path allocation
|
||||
+ for_each_alternate_ref: stop trimming trailing slashes
|
||||
+ for_each_alternate_ref: handle failure from real_pathdup()
|
||||
|
||||
Optimizes resource usage while enumerating refs from alternate
|
||||
object store, to help receiving end of "push" that hosts a
|
||||
repository with many "forks".
|
||||
|
||||
Will cook in 'next'.
|
||||
|
||||
|
||||
* lt/pathspec-negative (2017-02-10) 2 commits
|
||||
(merged to 'next' on 2017-02-10 at 8ea7874076)
|
||||
+ pathspec: don't error out on all-exclusionary pathspec patterns
|
||||
+ pathspec magic: add '^' as alias for '!'
|
||||
|
||||
The "negative" pathspec feature was somewhat more cumbersome to use
|
||||
than necessary in that its short-hand used "!" which needed to be
|
||||
escaped from shells, and it required "exclude from what?" specified.
|
||||
|
||||
Will cook in 'next'.
|
||||
|
||||
|
||||
* nd/worktree-gc-protection (2017-02-08) 2 commits
|
||||
- worktree.c: use submodule interface to access refs from another worktree
|
||||
- refs.c: add resolve_ref_submodule()
|
||||
|
||||
(hopefully) a beginning of safer "git worktree" that is resistant
|
||||
to "gc".
|
||||
|
||||
Michael had a suggestion for a (hopefully) better alternative way
|
||||
to do this. Expecting a reroll (either a tenative but quicker way,
|
||||
or a better but slower way).
|
||||
cf. <CACsJy8Diy92CNbJ1OBn893VFFrSsxBFWSyQHjt_Dzq9x7jfibQ@mail.gmail.com>
|
||||
|
||||
|
||||
* sb/push-options-via-transport (2017-02-08) 1 commit
|
||||
(merged to 'next' on 2017-02-10 at 3e2d08e1fa)
|
||||
+ push options: pass push options to the transport helper
|
||||
|
||||
The push-options given via the "--push-options" option were not
|
||||
passed through to external remote helpers such as "smart HTTP" that
|
||||
are invoked via the transport helper.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* js/rebase-helper (2017-02-09) 2 commits
|
||||
- rebase -i: use the rebase--helper builtin
|
||||
- rebase--helper: add a builtin helper for interactive rebases
|
||||
|
||||
"git rebase -i" starts using the recently updated "sequencer" code.
|
||||
|
||||
Will merge to and then cook in 'next'.
|
||||
The change itself is small, but what it enables is rather a large
|
||||
body of new code. We are getting there ;-)
|
||||
|
||||
|
||||
* mh/submodule-hash (2017-02-10) 9 commits
|
||||
- read_loose_refs(): read refs using resolve_ref_recursively()
|
||||
- files_ref_store::submodule: use NULL for the main repository
|
||||
- base_ref_store_init(): remove submodule argument
|
||||
- refs: push the submodule attribute down
|
||||
- refs: store submodule ref stores in a hashmap
|
||||
- register_ref_store(): new function
|
||||
- refs: remove some unnecessary handling of submodule == ""
|
||||
- refs: make some ref_store lookup functions private
|
||||
- refs: reorder some function definitions
|
||||
|
||||
Code and design clean-up for the refs API.
|
||||
|
||||
Will merge to and then cook in 'next'.
|
||||
|
||||
|
||||
* jh/mingw-openssl-sha1 (2017-02-09) 1 commit
|
||||
(merged to 'next' on 2017-02-10 at 084b3d8503)
|
||||
+ mingw: use OpenSSL's SHA-1 routines
|
||||
|
||||
Windows port wants to use OpenSSL's implementation of SHA-1
|
||||
routines, so let them.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* sg/completion (2017-02-03) 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>'
|
||||
- rev-parse: add '--absolute-git-dir' option
|
||||
- completion: fix completion after 'git -C <path>'
|
||||
- completion: don't offer commands when 'git --opt' needs an argument
|
||||
- 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
|
||||
(this branch is used by sg/completion-refs-speedup.)
|
||||
* sb/doc-unify-bottom (2017-02-09) 1 commit
|
||||
(merged to 'next' on 2017-02-10 at 7229c4c1f7)
|
||||
+ Documentation: unify bottom "part of git suite" lines
|
||||
|
||||
Clean-up and updates to command line completion (in contrib/).
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* sg/completion-refs-speedup (2017-02-06) 13 commits
|
||||
- squash! completion: fill COMPREPLY directly when completing refs
|
||||
- completion: fill COMPREPLY directly when completing refs
|
||||
- completion: list only matching symbolic and pseudorefs when completing refs
|
||||
- completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery
|
||||
- completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery
|
||||
- completion: let 'for-each-ref' strip the remote name from remote branches
|
||||
- completion: let 'for-each-ref' and 'ls-remote' filter matching refs
|
||||
- completion: don't disambiguate short refs
|
||||
- completion: don't disambiguate tags and branches
|
||||
- completion: support excluding full refs
|
||||
- completion: support completing full refs after '--option=refs/<TAB>'
|
||||
- completion: wrap __git_refs() for better option parsing
|
||||
- completion: remove redundant __gitcomp_nl() options from _git_commit()
|
||||
(this branch uses sg/completion.)
|
||||
|
||||
Will hold.
|
||||
This seems to break 9902 when merged to 'pu'.
|
||||
|
||||
|
||||
* sk/parse-remote-cleanup (2017-02-06) 1 commit
|
||||
(merged to 'next' on 2017-02-06 at 6ec89f72d5)
|
||||
+ parse-remote: remove reference to unused op_prep
|
||||
|
||||
Code clean-up.
|
||||
Doc clean-up.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* dt/gc-ignore-old-gc-logs (2017-02-10) 2 commits
|
||||
- SQUASH???
|
||||
- gc: ignore old gc.log files
|
||||
|
||||
A "gc.log" file left by a backgrounded "gc --auto" disables further
|
||||
automatic gc; it has been taught to run at least once a day (by
|
||||
default) by ignoring a stale "gc.log" file that is too old.
|
||||
|
||||
Waiting for the discussion and reroll to quiet down (this one is v3
|
||||
or so and I saw v5 posted).
|
||||
|
||||
|
||||
* js/git-path-in-subdir (2017-02-10) 2 commits
|
||||
- rev-parse: fix several options when running in a subdirectory
|
||||
- rev-parse tests: add tests executed from a subdirectory
|
||||
|
||||
The "--git-path", "--git-common-dir", and "--shared-index-path"
|
||||
options of "git rev-parse" did not produce usable output. They are
|
||||
now updated to show the path to the correct file, relative to where
|
||||
the caller is.
|
||||
|
||||
Waiting for Review/Ack.
|
||||
cf. <cover.1486740772.git.johannes.schindelin@gmx.de>
|
||||
|
||||
--------------------------------------------------
|
||||
[Stalled]
|
||||
|
||||
* vn/xdiff-func-context (2017-01-15) 1 commit
|
||||
- xdiff -W: relax end-of-file function detection
|
||||
|
||||
"git diff -W" has been taught to handle the case where a new
|
||||
function is added at the end of the file better.
|
||||
|
||||
Will hold.
|
||||
Discussion on an follow-up change to go back from the line that
|
||||
matches the funcline to show comments before the function
|
||||
definition has not resulted in an actionable conclusion.
|
||||
|
||||
|
||||
* pb/bisect (2016-10-18) 27 commits
|
||||
- bisect--helper: remove the dequote in bisect_start()
|
||||
- bisect--helper: retire `--bisect-auto-next` subcommand
|
||||
@ -288,17 +303,6 @@ of the repositories listed at
|
||||
Ejected, as does not build when merged to 'pu'.
|
||||
|
||||
|
||||
* ls/p4-path-encoding (2016-12-18) 1 commit
|
||||
- git-p4: fix git-p4.pathEncoding for removed files
|
||||
|
||||
When "git p4" imports changelist that removes paths, it failed to
|
||||
convert pathnames when the p4 used encoding different from the one
|
||||
used on the Git side. This has been corrected.
|
||||
|
||||
Will be rerolled.
|
||||
cf. <7E1C7387-4F37-423F-803D-3B5690B49D40@gmail.com>
|
||||
|
||||
|
||||
* sh/grep-tree-obj-tweak-output (2017-01-20) 2 commits
|
||||
- grep: use '/' delimiter for paths
|
||||
- grep: only add delimiter if there isn't one already
|
||||
@ -319,39 +323,6 @@ of the repositories listed at
|
||||
Waiting for the review discussion to settle, followed by a reroll.
|
||||
|
||||
|
||||
* mh/ref-remove-empty-directory (2017-01-07) 23 commits
|
||||
- files_transaction_commit(): clean up empty directories
|
||||
- try_remove_empty_parents(): teach to remove parents of reflogs, too
|
||||
- try_remove_empty_parents(): don't trash argument contents
|
||||
- try_remove_empty_parents(): rename parameter "name" -> "refname"
|
||||
- delete_ref_loose(): inline function
|
||||
- delete_ref_loose(): derive loose reference path from lock
|
||||
- log_ref_write_1(): inline function
|
||||
- log_ref_setup(): manage the name of the reflog file internally
|
||||
- log_ref_write_1(): don't depend on logfile argument
|
||||
- log_ref_setup(): pass the open file descriptor back to the caller
|
||||
- log_ref_setup(): improve robustness against races
|
||||
- log_ref_setup(): separate code for create vs non-create
|
||||
- log_ref_write(): inline function
|
||||
- rename_tmp_log(): improve error reporting
|
||||
- rename_tmp_log(): use raceproof_create_file()
|
||||
- lock_ref_sha1_basic(): use raceproof_create_file()
|
||||
- lock_ref_sha1_basic(): inline constant
|
||||
- raceproof_create_file(): new function
|
||||
- safe_create_leading_directories(): set errno on SCLD_EXISTS
|
||||
- safe_create_leading_directories_const(): preserve errno
|
||||
- t5505: use "for-each-ref" to test for the non-existence of references
|
||||
- refname_is_safe(): correct docstring
|
||||
- files_rename_ref(): tidy up whitespace
|
||||
|
||||
Deletion of a branch "foo/bar" could remove .git/refs/heads/foo
|
||||
once there no longer is any other branch whose name begins with
|
||||
"foo/", but we didn't do so so far. Now we do.
|
||||
|
||||
Expecting a reroll.
|
||||
cf. <5051c78e-51f9-becd-e1a6-9c0b781d6912@alum.mit.edu>
|
||||
|
||||
|
||||
* jc/diff-b-m (2015-02-23) 5 commits
|
||||
. WIPWIP
|
||||
. WIP: diff-b-m
|
||||
@ -371,6 +342,139 @@ of the repositories listed at
|
||||
--------------------------------------------------
|
||||
[Cooking]
|
||||
|
||||
* ls/p4-path-encoding (2017-02-09) 1 commit
|
||||
- git-p4: fix git-p4.pathEncoding for removed files
|
||||
|
||||
When "git p4" imports changelist that removes paths, it failed to
|
||||
convert pathnames when the p4 used encoding different from the one
|
||||
used on the Git side. This has been corrected.
|
||||
|
||||
Waiting for Review/Ack.
|
||||
cf. <20170209150656.9070-1-larsxschneider@gmail.com>
|
||||
|
||||
|
||||
* mh/ref-remove-empty-directory (2017-01-07) 23 commits
|
||||
(merged to 'next' on 2017-02-10 at bcfd359e95)
|
||||
+ files_transaction_commit(): clean up empty directories
|
||||
+ try_remove_empty_parents(): teach to remove parents of reflogs, too
|
||||
+ try_remove_empty_parents(): don't trash argument contents
|
||||
+ try_remove_empty_parents(): rename parameter "name" -> "refname"
|
||||
+ delete_ref_loose(): inline function
|
||||
+ delete_ref_loose(): derive loose reference path from lock
|
||||
+ log_ref_write_1(): inline function
|
||||
+ log_ref_setup(): manage the name of the reflog file internally
|
||||
+ log_ref_write_1(): don't depend on logfile argument
|
||||
+ log_ref_setup(): pass the open file descriptor back to the caller
|
||||
+ log_ref_setup(): improve robustness against races
|
||||
+ log_ref_setup(): separate code for create vs non-create
|
||||
+ log_ref_write(): inline function
|
||||
+ rename_tmp_log(): improve error reporting
|
||||
+ rename_tmp_log(): use raceproof_create_file()
|
||||
+ lock_ref_sha1_basic(): use raceproof_create_file()
|
||||
+ lock_ref_sha1_basic(): inline constant
|
||||
+ raceproof_create_file(): new function
|
||||
+ safe_create_leading_directories(): set errno on SCLD_EXISTS
|
||||
+ safe_create_leading_directories_const(): preserve errno
|
||||
+ t5505: use "for-each-ref" to test for the non-existence of references
|
||||
+ refname_is_safe(): correct docstring
|
||||
+ files_rename_ref(): tidy up whitespace
|
||||
|
||||
Deletion of a branch "foo/bar" could remove .git/refs/heads/foo
|
||||
once there no longer is any other branch whose name begins with
|
||||
"foo/", but we didn't do so so far. Now we do.
|
||||
|
||||
Will cook in 'next'.
|
||||
|
||||
|
||||
* cw/completion (2017-02-03) 7 commits
|
||||
(merged to 'next' on 2017-02-10 at b3a5cbf39c)
|
||||
+ completion: recognize more long-options
|
||||
+ completion: teach remote subcommands to complete options
|
||||
+ completion: teach replace to complete options
|
||||
+ completion: teach ls-remote to complete options
|
||||
+ completion: improve bash completion for git-add
|
||||
+ completion: add subcommand completion for rerere
|
||||
+ completion: teach submodule subcommands to complete options
|
||||
|
||||
More command line completion (in contrib/) for recent additions.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* cw/tag-reflog-message (2017-02-08) 1 commit
|
||||
(merged to 'next' on 2017-02-10 at 3968b3a58b)
|
||||
+ tag: generate useful reflog message
|
||||
|
||||
"git tag", because refs/tags/* doesn't keep reflog by default, did
|
||||
not leave useful message when adding a new entry to reflog.
|
||||
|
||||
Will cook in 'next'.
|
||||
|
||||
|
||||
* sg/completion (2017-02-03) 21 commits
|
||||
(merged to 'next' on 2017-02-10 at 55b2785d89)
|
||||
+ 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>'
|
||||
+ rev-parse: add '--absolute-git-dir' option
|
||||
+ completion: fix completion after 'git -C <path>'
|
||||
+ completion: don't offer commands when 'git --opt' needs an argument
|
||||
+ 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
|
||||
(this branch is used by sg/completion-refs-speedup.)
|
||||
|
||||
Clean-up and updates to command line completion (in contrib/).
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* sg/completion-refs-speedup (2017-02-06) 13 commits
|
||||
- squash! completion: fill COMPREPLY directly when completing refs
|
||||
- completion: fill COMPREPLY directly when completing refs
|
||||
- completion: list only matching symbolic and pseudorefs when completing refs
|
||||
- completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery
|
||||
- completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery
|
||||
- completion: let 'for-each-ref' strip the remote name from remote branches
|
||||
- completion: let 'for-each-ref' and 'ls-remote' filter matching refs
|
||||
- completion: don't disambiguate short refs
|
||||
- completion: don't disambiguate tags and branches
|
||||
- completion: support excluding full refs
|
||||
- completion: support completing full refs after '--option=refs/<TAB>'
|
||||
- completion: wrap __git_refs() for better option parsing
|
||||
- completion: remove redundant __gitcomp_nl() options from _git_commit()
|
||||
(this branch uses sg/completion.)
|
||||
|
||||
The refs completion for large number of refs has been sped up,
|
||||
partly by giving up disambiguating ambiguous refs and partly by
|
||||
eliminating most of the shell processing between 'git for-each-ref'
|
||||
and 'ls-remote' and Bash's completion facility.
|
||||
|
||||
Will hold.
|
||||
|
||||
|
||||
* sk/parse-remote-cleanup (2017-02-06) 1 commit
|
||||
(merged to 'next' on 2017-02-06 at 6ec89f72d5)
|
||||
+ parse-remote: remove reference to unused op_prep
|
||||
|
||||
Code clean-up.
|
||||
|
||||
Undecided. There may be third-party scripts that are dot-sourcing
|
||||
this one.
|
||||
|
||||
|
||||
* jk/delta-chain-limit (2017-01-27) 2 commits
|
||||
(merged to 'next' on 2017-02-06 at 9ff36ae9b2)
|
||||
+ pack-objects: convert recursion to iteration in break_delta_chain()
|
||||
@ -383,36 +487,37 @@ of the repositories listed at
|
||||
|
||||
|
||||
* mm/merge-rename-delete-message (2017-01-30) 1 commit
|
||||
- merge-recursive: make "CONFLICT (rename/delete)" message show both paths
|
||||
(merged to 'next' on 2017-02-10 at 8bf8146029)
|
||||
+ merge-recursive: make "CONFLICT (rename/delete)" message show both paths
|
||||
|
||||
When "git merge" detects a path that is renamed in one history
|
||||
while the other history deleted (or modified) it, it now reports
|
||||
both paths to help the user understand what is going on in the two
|
||||
histories being merged.
|
||||
|
||||
Will merge to and then cook in 'next'.
|
||||
Will cook in 'next'.
|
||||
|
||||
|
||||
* rs/swap (2017-01-30) 5 commits
|
||||
- graph: use SWAP macro
|
||||
- diff: use SWAP macro
|
||||
- use SWAP macro
|
||||
- apply: use SWAP macro
|
||||
- add SWAP macro
|
||||
(merged to 'next' on 2017-02-10 at 5253797d0a)
|
||||
+ graph: use SWAP macro
|
||||
+ diff: use SWAP macro
|
||||
+ use SWAP macro
|
||||
+ apply: use SWAP macro
|
||||
+ add SWAP macro
|
||||
|
||||
Code clean-up.
|
||||
|
||||
Will merge to 'next'.
|
||||
... unless there is an objection with better alternative. The
|
||||
discussion seems to have quieted down.
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* ps/urlmatch-wildcard (2017-02-01) 5 commits
|
||||
- urlmatch: allow globbing for the URL host part
|
||||
- urlmatch: include host in urlmatch ranking
|
||||
- urlmatch: split host and port fields in `struct url_info`
|
||||
- urlmatch: enable normalization of URLs with globs
|
||||
- mailmap: add Patrick Steinhardt's work address
|
||||
(merged to 'next' on 2017-02-10 at 2ed9ea48ee)
|
||||
+ urlmatch: allow globbing for the URL host part
|
||||
+ urlmatch: include host in urlmatch ranking
|
||||
+ urlmatch: split host and port fields in `struct url_info`
|
||||
+ urlmatch: enable normalization of URLs with globs
|
||||
+ mailmap: add Patrick Steinhardt's work address
|
||||
|
||||
The <url> part in "http.<url>.<variable>" configuration variable
|
||||
can now be spelled with '*' that serves as wildcard.
|
||||
@ -420,11 +525,11 @@ of the repositories listed at
|
||||
proxy used for https://a.example.com, https://b.example.com, etc.,
|
||||
i.e. any host in the example.com domain.
|
||||
|
||||
Will merge to and then cook in 'next'.
|
||||
Will cook in 'next'.
|
||||
|
||||
|
||||
* sf/putty-w-args (2017-02-01) 5 commits
|
||||
- SQUASH???
|
||||
* sf/putty-w-args (2017-02-10) 5 commits
|
||||
- connect.c: stop conflating ssh command names and overrides
|
||||
- connect: Add the envvar GIT_SSH_VARIANT and ssh.variant config
|
||||
- git_connect(): factor out SSH variant handling
|
||||
- connect: rename tortoiseplink and putty variables
|
||||
@ -439,8 +544,7 @@ of the repositories listed at
|
||||
variable, and give an escape hatch for users to deal with
|
||||
misdetected cases.
|
||||
|
||||
Stalled?
|
||||
cf. <alpine.DEB.2.20.1702012319460.3496@virtualbox>
|
||||
Will merge to 'next' and then to 'master'.
|
||||
|
||||
|
||||
* jk/describe-omit-some-refs (2017-01-23) 5 commits
|
||||
@ -459,12 +563,14 @@ of the repositories listed at
|
||||
Will cook in 'next'.
|
||||
|
||||
|
||||
* sb/submodule-doc (2017-01-12) 3 commits
|
||||
- submodules: add a background story
|
||||
- submodule update documentation: don't repeat ourselves
|
||||
- submodule documentation: add options to the subcommand
|
||||
* sb/submodule-doc (2017-01-12) 2 commits
|
||||
(merged to 'next' on 2017-02-10 at 5bfad5f30e)
|
||||
+ submodule update documentation: don't repeat ourselves
|
||||
+ submodule documentation: add options to the subcommand
|
||||
|
||||
Needs review.
|
||||
Doc updates.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* bw/attr (2017-02-01) 27 commits
|
||||
@ -502,30 +608,18 @@ of the repositories listed at
|
||||
Will merge to and then cook in 'next'.
|
||||
|
||||
|
||||
* vn/xdiff-func-context (2017-01-15) 1 commit
|
||||
- xdiff -W: relax end-of-file function detection
|
||||
|
||||
"git diff -W" has been taught to handle the case where a new
|
||||
function is added at the end of the file better.
|
||||
|
||||
Will hold.
|
||||
An follow-up change to go back from the line that matches the
|
||||
funcline to show comments before the function definition is still
|
||||
being discussed.
|
||||
|
||||
|
||||
* nd/worktree-move (2017-01-27) 7 commits
|
||||
- fixup! worktree move: new command
|
||||
- worktree remove: new command
|
||||
- worktree move: refuse to move worktrees with submodules
|
||||
- worktree move: accept destination as directory
|
||||
- worktree move: new command
|
||||
- worktree.c: add update_worktree_location()
|
||||
- worktree.c: add validate_worktree()
|
||||
. fixup! worktree move: new command
|
||||
. worktree remove: new command
|
||||
. worktree move: refuse to move worktrees with submodules
|
||||
. worktree move: accept destination as directory
|
||||
. worktree move: new command
|
||||
. worktree.c: add update_worktree_location()
|
||||
. worktree.c: add validate_worktree()
|
||||
|
||||
"git worktree" learned move and remove subcommands.
|
||||
|
||||
Needs review.
|
||||
Tentatively ejected as it seems to break 'pu' when merged.
|
||||
|
||||
|
||||
* cc/split-index-config (2016-12-26) 21 commits
|
||||
@ -559,7 +653,9 @@ of the repositories listed at
|
||||
cf. <a1a44640-ff6c-2294-72ac-46322eff8505@ramsayjones.plus.com>
|
||||
|
||||
|
||||
* kn/ref-filter-branch-list (2017-01-31) 20 commits
|
||||
* kn/ref-filter-branch-list (2017-02-07) 21 commits
|
||||
(merged to 'next' on 2017-02-10 at 794bb8284d)
|
||||
+ ref-filter: resurrect "strip" as a synonym to "lstrip"
|
||||
(merged to 'next' on 2017-01-31 at e7592a5461)
|
||||
+ branch: implement '--format' option
|
||||
+ branch: use ref-filter printing APIs
|
||||
@ -616,25 +712,17 @@ of the repositories listed at
|
||||
|
||||
|
||||
* 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
|
||||
- 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.
|
||||
|
||||
--------------------------------------------------
|
||||
[Discarded]
|
||||
|
||||
@ -665,5 +753,3 @@ of the repositories listed at
|
||||
submodules seem to be in use.
|
||||
|
||||
Retracted.
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user