mirror of
https://github.com/git/git.git
synced 2026-01-18 14:44:28 +00:00
What's cooking (2016/02 #06)
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
To: git@vger.kernel.org
|
||||
Bcc: lwn@lwn.net
|
||||
Subject: What's cooking in git.git (Feb 2016, #05; Wed, 17)
|
||||
X-master-at: 0233b800c838ddda41db318ee396320b3c21a560
|
||||
X-next-at: 45cd78e6c697b37c226f619775990486cf53e84f
|
||||
Subject: What's cooking in git.git (Feb 2016, #06; Mon, 22)
|
||||
X-master-at: 70bd996071bf724a7b151c81a165e8837179d6d7
|
||||
X-next-at: 5fe9e24d37736b932d9f6fc17afbc616cde818a3
|
||||
|
||||
What's cooking in git.git (Feb 2016, #05; Wed, 17)
|
||||
What's cooking in git.git (Feb 2016, #06; Mon, 22)
|
||||
--------------------------------------------------
|
||||
|
||||
Here are the topics that have been cooking. Commits prefixed with
|
||||
@@ -12,6 +12,11 @@ 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.
|
||||
|
||||
I originally penciled in -rc0 for today, but let's give a handful of
|
||||
topics that are cooking in 'next' a few more time and merge them to
|
||||
'master' before doing so. On the 'maint' front, there is 2.7.2 out,
|
||||
that merges the fixes accumulated on 'master' so far.
|
||||
|
||||
You can find the changes described here in the integration branches of the
|
||||
repositories listed at
|
||||
|
||||
@@ -20,332 +25,89 @@ repositories listed at
|
||||
--------------------------------------------------
|
||||
[Graduated to "master"]
|
||||
|
||||
* ah/stripspace-optstring (2016-01-29) 1 commit
|
||||
(merged to 'next' on 2016-02-12 at cd021aa)
|
||||
+ stripspace: call U+0020 a "space" instead of a "blank"
|
||||
* ew/connect-verbose (2016-02-15) 1 commit
|
||||
(merged to 'next' on 2016-02-18 at 5555b13)
|
||||
+ t5570: add tests for "git {clone,fetch,pull} -v"
|
||||
|
||||
A missing test for a recent feature has been added.
|
||||
|
||||
|
||||
* da/user-useconfigonly (2016-02-08) 2 commits
|
||||
(merged to 'next' on 2016-02-09 at 8b303ce)
|
||||
+ ident: add user.useConfigOnly boolean for when ident shouldn't be guessed
|
||||
+ fmt_ident: refactor strictness checks
|
||||
* jk/config-include (2016-02-13) 1 commit
|
||||
(merged to 'next' on 2016-02-18 at 8491d55)
|
||||
+ git-config: better document default behavior for `--include`
|
||||
|
||||
The "user.useConfigOnly" configuration variable can be used to
|
||||
force the user to always set user.email & user.name configuration
|
||||
variables, serving as a reminder for those who work on multiple
|
||||
projects and do not want to put these in their $HOME/.gitconfig.
|
||||
A belated documentation update clarifies the interaction between
|
||||
"--file", "--include" and "[include] path = $over_there".
|
||||
|
||||
|
||||
* dw/mergetool-vim-window-shuffle (2016-02-12) 1 commit
|
||||
(merged to 'next' on 2016-02-12 at 2a2e8bd)
|
||||
+ mergetool: reorder vim/gvim buffers in three-way diffs
|
||||
* js/git-remote-add-url-insteadof-test (2016-02-17) 1 commit
|
||||
(merged to 'next' on 2016-02-18 at ef1d82e)
|
||||
+ t5505: 'remote add x y' should work when url.y.insteadOf = x
|
||||
|
||||
The vimdiff backend for "git mergetool" has been tweaked to arrange
|
||||
and number buffers in the order that would match the expectation of
|
||||
majority of people who read left to right, then top down and assign
|
||||
buffers 1 2 3 4 "mentally" to local base remote merge windows based
|
||||
on that order.
|
||||
|
||||
|
||||
* jk/drop-rsync-transport (2016-02-01) 1 commit
|
||||
(merged to 'next' on 2016-02-03 at 08be402)
|
||||
+ transport: drop support for git-over-rsync
|
||||
|
||||
It turns out "git clone" over rsync transport has been broken when
|
||||
the source repository has packed references for a long time, and
|
||||
nobody noticed nor complained about it.
|
||||
|
||||
|
||||
* jk/rerere-xsnprintf (2016-02-08) 1 commit
|
||||
(merged to 'next' on 2016-02-09 at ff9ade3)
|
||||
+ rerere: replace strcpy with xsnprintf
|
||||
(this branch is used by jc/rerere-multi.)
|
||||
|
||||
Some calls to strcpy(3) triggers a false warning from static
|
||||
analysers that are less intelligent than humans, and reducing the
|
||||
number of these false hits helps us notice real issues. A few
|
||||
calls to strcpy(3) in "git rerere" that are already safe has been
|
||||
rewritten to avoid false wanings.
|
||||
|
||||
|
||||
* jk/test-path-utils-xsnprintf (2016-02-08) 1 commit
|
||||
(merged to 'next' on 2016-02-09 at 931f70b)
|
||||
+ test-path-utils: use xsnprintf in favor of strcpy
|
||||
|
||||
Some calls to strcpy(3) triggers a false warning from static
|
||||
analysers that are less intelligent than humans, and reducing the
|
||||
number of these false hits helps us notice real issues. A few
|
||||
calls to strcpy(3) in test-path-utils that are already safe has
|
||||
been rewritten to avoid false wanings.
|
||||
|
||||
|
||||
* js/mingw-tests (2016-02-08) 21 commits
|
||||
(merged to 'next' on 2016-02-08 at 417e555)
|
||||
+ gitignore: ignore generated test-fake-ssh executable
|
||||
(merged to 'next' on 2016-02-03 at ace7624)
|
||||
+ mingw: do not bother to test funny file names
|
||||
+ mingw: skip a test in t9130 that cannot pass on Windows
|
||||
+ mingw: handle the missing POSIXPERM prereq in t9124
|
||||
+ mingw: avoid illegal filename in t9118
|
||||
+ mingw: mark t9100's test cases with appropriate prereqs
|
||||
+ t0008: avoid absolute path
|
||||
+ mingw: work around pwd issues in the tests
|
||||
+ mingw: fix t9700's assumption about directory separators
|
||||
+ mingw: skip test in t1508 that fails due to path conversion
|
||||
+ tests: turn off git-daemon tests if FIFOs are not available
|
||||
+ mingw: disable mkfifo-based tests
|
||||
+ mingw: accomodate t0060-path-utils for MSYS2
|
||||
+ mingw: fix t5601-clone.sh
|
||||
+ mingw: let lstat() fail with errno == ENOTDIR when appropriate
|
||||
+ mingw: try to delete target directory before renaming
|
||||
+ mingw: prepare the TMPDIR environment variable for shell scripts
|
||||
+ mingw: factor out Windows specific environment setup
|
||||
+ Git.pm: stop assuming that absolute paths start with a slash
|
||||
+ mingw: do not trust MSYS2's MinGW gettext.sh
|
||||
+ mingw: let's use gettext with MSYS2
|
||||
(this branch is used by mg/mingw-test-fix.)
|
||||
|
||||
Test scripts have been updated to remove assumptions that are not
|
||||
portable between Git for POSIX and Git for Windows, or to skip ones
|
||||
with expectations that are not satisfiable on Git for Windows.
|
||||
|
||||
|
||||
* mg/mingw-test-fix (2016-02-08) 1 commit
|
||||
(merged to 'next' on 2016-02-12 at df77956)
|
||||
+ t9100: fix breakage when SHELL_PATH is not /bin/sh
|
||||
(this branch uses js/mingw-tests.)
|
||||
|
||||
An earlier adjustment of test mistakenly used write_script
|
||||
to prepare a file whose exact content matters for the test;
|
||||
reverting that part fixes the breakage for those who use
|
||||
SHELL_PATH that is different from /bin/sh.
|
||||
|
||||
|
||||
* mm/clean-doc-fix (2016-02-09) 1 commit
|
||||
(merged to 'next' on 2016-02-09 at ced8555)
|
||||
+ Documentation/git-clean.txt: don't mention deletion of .git/modules/*
|
||||
|
||||
The documentation for "git clean" has been corrected; it mentioned
|
||||
that .git/modules/* are removed by giving two "-f", which has never
|
||||
been the case.
|
||||
|
||||
|
||||
* nd/clear-gitenv-upon-use-of-alias (2016-02-02) 4 commits
|
||||
(merged to 'next' on 2016-02-09 at 2c441b4)
|
||||
+ restore_env(): free the saved environment variable once we are done
|
||||
+ git: simplify environment save/restore logic
|
||||
+ git: protect against unbalanced calls to {save,restore}_env()
|
||||
+ git: remove an early return from save_env_before_alias()
|
||||
|
||||
The automatic typo correction applied to an alias was broken
|
||||
with a recent change already in 'master'.
|
||||
A missing test for a rather old change has been added.
|
||||
|
||||
--------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* cn/deprecate-ssh-git-url (2016-02-15) 1 commit
|
||||
- Disown ssh+git and git+ssh
|
||||
|
||||
Needs toning down by replacing the condescendence with an
|
||||
explanation and enlightenment.
|
||||
($gmane/286222)
|
||||
* sb/submodule-init (2016-02-19) 2 commits
|
||||
- submodule: port init from shell to C
|
||||
- submodule: port resolve_relative_url from shell to C
|
||||
(this branch uses sb/submodule-parallel-update; is tangled with dt/refs-backend-lmdb.)
|
||||
|
||||
|
||||
* jk/config-include (2016-02-13) 1 commit
|
||||
- git-config: better document default behavior for `--include`
|
||||
* ak/extract-argv0-last-dir-sep (2016-02-19) 1 commit
|
||||
- exec_cmd.c: use find_last_dir_sep() for code simplification
|
||||
|
||||
Code simplification.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* nd/git-common-dir-fix (2016-02-12) 1 commit
|
||||
- rev-parse: take prefix into account in --git-common-dir
|
||||
* az/p4-bare-no-rebase (2016-02-19) 1 commit
|
||||
- git-p4.py: Don't try to rebase on submit from bare repository
|
||||
|
||||
"git p4 submit" attempts to do a rebase, which would fail if done
|
||||
in a bare repository. Not doing this rebase would paper over the
|
||||
failure, which is what this patch does, but it is unclear what the
|
||||
side effect of not rebasing is.
|
||||
|
||||
Needs a better explanation.
|
||||
|
||||
|
||||
* ak/git-strip-extension-from-dashed-command (2016-02-21) 1 commit
|
||||
- git.c: simplify stripping extension of a file in handle_builtin()
|
||||
|
||||
Code simplification.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* sp/remote-curl-ssl-strerror (2016-02-15) 1 commit
|
||||
- remote-curl: include curl_errorstr on SSL setup failures
|
||||
* jk/grep-binary-workaround-in-test (2016-02-21) 2 commits
|
||||
- t9200: avoid grep on non-ASCII data
|
||||
- t8005: avoid grep on non-ASCII data
|
||||
|
||||
Help those who debug http(s) part of the system.
|
||||
Will see a reroll.
|
||||
|
||||
|
||||
* mg/work-tree-tests (2016-02-20) 1 commit
|
||||
- tests: rename work-tree tests to *work-tree*
|
||||
|
||||
Traditionally, the tests that try commands that work on the
|
||||
contents in the working tree were named with "worktree" in their
|
||||
filenames, but with the recent addition of "git worktree"
|
||||
subcommand, whose tests are also named similarly, it has become
|
||||
harder to tell them apart. The traditional tests have been renamed
|
||||
to use "work-tree" instead in an attempt to differentiate them.
|
||||
|
||||
|
||||
* jk/more-comments-on-textconv (2016-02-22) 1 commit
|
||||
- diff: clarify textconv interface
|
||||
|
||||
The memory ownership rule of fill_textconv() API, which was a bit
|
||||
tricky, has been documented a bit better.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* bc/http-empty-auth (2016-02-15) 1 commit
|
||||
- http: add option to try authentication without username
|
||||
|
||||
Some authentication methods do not need username or password, but
|
||||
libcurl needs some hint that it needs to perform authentication.
|
||||
Supplying an empty username and password string is a valid way to
|
||||
do so, but you can set the http.[<url>.]emptyAuth configuration
|
||||
variable to achieve the same, if you find it cleaner.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* ce/https-public-key-pinning (2016-02-15) 1 commit
|
||||
- http: implement public key pinning
|
||||
|
||||
You can now set http.[<url>.]pinnedpubkey to specify the pinned
|
||||
public key when building with recent enough versions of libcURL.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* ew/connect-verbose (2016-02-15) 1 commit
|
||||
- t5570: add tests for "git {clone,fetch,pull} -v"
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* fa/merge-recursive-no-rename (2016-02-17) 2 commits
|
||||
- merge-recursive: more consistent interface
|
||||
- merge-recursive: option to disable renames
|
||||
|
||||
"git merge-recursive" learned "--no-renames" option to disable its
|
||||
rename detection logic.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* jc/am-i-v-fix (2016-02-17) 3 commits
|
||||
- am -i: fix "v"iew
|
||||
- pager: factor out a helper to prepare a child process to run the pager
|
||||
- pager: lose a separate argv[]
|
||||
|
||||
The "v(iew)" subcommand of the interactive "git am -i" command was
|
||||
broken in 2.6.0 timeframe when the command was rewritten in C.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* jk/merge-tree-merge-blobs (2016-02-16) 1 commit
|
||||
- merge_blobs: use strbuf instead of manually-sized mmfile_t
|
||||
|
||||
"git merge-tree" (a throw-away demonstration) did not work very
|
||||
well when merging "both sides added a new file at the same path"
|
||||
case.
|
||||
|
||||
Undecided; we might be better off deleting it altogether.
|
||||
|
||||
|
||||
* jk/tighten-alloc (2016-02-15) 18 commits
|
||||
- ewah: convert to REALLOC_ARRAY, etc
|
||||
- convert ewah/bitmap code to use xmalloc
|
||||
- diff_populate_gitlink: use a strbuf
|
||||
- transport_anonymize_url: use xstrfmt
|
||||
- git-compat-util: drop mempcpy compat code
|
||||
- sequencer: simplify memory allocation of get_message
|
||||
- test-path-utils: fix normalize_path_copy output buffer size
|
||||
- fetch-pack: simplify add_sought_entry
|
||||
- fast-import: simplify allocation in start_packfile
|
||||
- write_untracked_extension: use FLEX_ALLOC helper
|
||||
- use st_add and st_mult for allocation size computation
|
||||
- convert trivial cases to FLEX_ARRAY macros
|
||||
- use xmallocz to avoid size arithmetic
|
||||
- convert trivial cases to ALLOC_ARRAY
|
||||
- add helpers for allocating flex-array structs
|
||||
- harden REALLOC_ARRAY and xcalloc against size_t overflow
|
||||
- tree-diff: catch integer overflow in combine_diff_path allocation
|
||||
- add helpers for detecting size_t overflow
|
||||
|
||||
Update various codepaths to avoid manually-counted malloc().
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* js/git-remote-add-url-insteadof-test (2016-02-17) 1 commit
|
||||
- t5505: 'remote add x y' should work when url.y.insteadOf = x
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* nd/dwim-wildcards-as-pathspecs (2016-02-10) 3 commits
|
||||
- get_sha1: don't die() on bogus search strings
|
||||
- check_filename: tighten dwim-wildcard ambiguity
|
||||
- checkout: reorder check_filename conditional
|
||||
|
||||
"git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a
|
||||
rev, i.e. the object named by the the pathname with wildcard
|
||||
characters in a tree object.
|
||||
|
||||
I lost track of this topic; did we decide that this is a good thing
|
||||
to do, or unnecessary noise to only cater to a crazy use case?
|
||||
|
||||
|
||||
* nd/exclusion-regression-fix (2016-02-15) 4 commits
|
||||
- dir.c: don't exclude whole dir prematurely
|
||||
- dir.c: support marking some patterns already matched
|
||||
- dir.c: support tracing exclude
|
||||
- dir.c: fix match_pathname()
|
||||
|
||||
Another try to add support to the ignore mechanism that lets you
|
||||
say "this is excluded" and then later say "oh, no, this part (that
|
||||
is a subset of the previous part) is not exlucded".
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* nd/worktree-add-B (2016-02-15) 2 commits
|
||||
- worktree add -B: do the checkout test before update branch
|
||||
- worktree: fix "add -B"
|
||||
|
||||
"git worktree add -B <branchname>" did not work.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* ps/config-error (2016-02-17) 16 commits
|
||||
- SQUASH
|
||||
- config: rename git_config_set_or_die to git_config_set
|
||||
- config: rename git_config_set to git_config_set_gently
|
||||
- compat: die when unable to set core.precomposeunicode
|
||||
- sequencer: die on config error when saving replay opts
|
||||
- init-db: die on config errors when initializing empty repo
|
||||
- clone: die on config error in cmd_clone
|
||||
- remote: die on config error when manipulating remotes
|
||||
- remote: die on config error when setting/adding branches
|
||||
- remote: die on config error when setting URL
|
||||
- submodule--helper: die on config error when cloning module
|
||||
- submodule: die on config error when linking modules
|
||||
- branch: die on config error when editing branch description
|
||||
- branch: die on config error when unsetting upstream
|
||||
- branch: report errors in tracking branch setup
|
||||
- config: introduce set_or_die wrappers
|
||||
|
||||
Many codepaths forget to check return value from git_config_set();
|
||||
the function is made to die() to make sure we do not proceed when
|
||||
setting a configuration variable failed.
|
||||
|
||||
Need to squash the tip two commits into one before moving forward.
|
||||
|
||||
|
||||
* ss/commit-dry-run-resolve-merge-to-no-op (2016-02-17) 1 commit
|
||||
- wt-status.c: set commitable bit if there is a meaningful merge.
|
||||
|
||||
"git commit --dry-run" reported "No, no, you cannot commit." in one
|
||||
case where "git commit" would have allowed you to commit, and this
|
||||
improves it a little bit ("git commit --dry-run --short" still does
|
||||
not give you the correct answer, for example).
|
||||
|
||||
|
||||
* tg/git-remote (2016-02-16) 4 commits
|
||||
- remote: use remote_is_configured() for add and rename
|
||||
- remote: actually check if remote exits
|
||||
- remote: simplify remote_is_configured()
|
||||
- remote: use parse_config_key
|
||||
|
||||
The internal API to interact with "remote.*" configuration
|
||||
variables has been streamlined.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* ls/config-origin (2016-02-17) 3 commits
|
||||
- config: add '--show-origin' option to print the origin of a config value
|
||||
- config: add 'type' to config_source struct that identifies config type
|
||||
- t: do not hide Git's exit code in tests using 'nul_to_q'
|
||||
|
||||
--------------------------------------------------
|
||||
[Stalled]
|
||||
|
||||
@@ -431,57 +193,238 @@ repositories listed at
|
||||
--------------------------------------------------
|
||||
[Cooking]
|
||||
|
||||
* ep/format-printf (2016-02-11) 22 commits
|
||||
- wt-status.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- utf8.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- transport-helper.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- trace.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- strbuf.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- remote.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- pkt-line.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- merge-recursive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- imap-send.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- http-backend.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- fsck.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- daemon.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- config.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- color.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- cache.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- builtin/upload-archive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- builtin/update-index.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- builtin/receive-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- builtin/index-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- argv-array.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- advice.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
- git-compat-util.h: add the FORMAT_PRINTF macro
|
||||
* cn/deprecate-ssh-git-url (2016-02-15) 1 commit
|
||||
- Disown ssh+git and git+ssh
|
||||
|
||||
Undecided.
|
||||
Needs toning down by replacing the condescendence with an
|
||||
explanation and enlightenment.
|
||||
($gmane/286222)
|
||||
|
||||
|
||||
* ew/force-ipv4 (2016-02-12) 1 commit
|
||||
- connect & http: support -4 and -6 switches for remote operations
|
||||
* nd/git-common-dir-fix (2016-02-12) 1 commit
|
||||
(merged to 'next' on 2016-02-18 at 957afc5)
|
||||
+ rev-parse: take prefix into account in --git-common-dir
|
||||
|
||||
"git fetch" and friends that make network connections can now be
|
||||
told to only use ipv4 (or ipv6).
|
||||
"git rev-parse --git-common-dir" used in the worktree feature
|
||||
misbehaved when run from a subdirectory.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* sp/remote-curl-ssl-strerror (2016-02-15) 1 commit
|
||||
(merged to 'next' on 2016-02-18 at 1339fe4)
|
||||
+ remote-curl: include curl_errorstr on SSL setup failures
|
||||
|
||||
Help those who debug http(s) part of the system.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* bc/http-empty-auth (2016-02-15) 1 commit
|
||||
(merged to 'next' on 2016-02-18 at 6d2fc88)
|
||||
+ http: add option to try authentication without username
|
||||
|
||||
Some authentication methods do not need username or password, but
|
||||
libcurl needs some hint that it needs to perform authentication.
|
||||
Supplying an empty username and password string is a valid way to
|
||||
do so, but you can set the http.[<url>.]emptyAuth configuration
|
||||
variable to achieve the same, if you find it cleaner.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* ce/https-public-key-pinning (2016-02-15) 1 commit
|
||||
(merged to 'next' on 2016-02-18 at f382cf0)
|
||||
+ http: implement public key pinning
|
||||
|
||||
You can now set http.[<url>.]pinnedpubkey to specify the pinned
|
||||
public key when building with recent enough versions of libcURL.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* fa/merge-recursive-no-rename (2016-02-22) 4 commits
|
||||
- merge-recursive: find-renames resets threshold
|
||||
- merge-strategies.txt: fix typo
|
||||
(merged to 'next' on 2016-02-18 at dd6125b)
|
||||
+ merge-recursive: more consistent interface
|
||||
+ merge-recursive: option to disable renames
|
||||
|
||||
"git merge-recursive" learned "--no-renames" option to disable its
|
||||
rename detection logic.
|
||||
|
||||
|
||||
* jc/am-i-v-fix (2016-02-17) 3 commits
|
||||
(merged to 'next' on 2016-02-18 at 331e518)
|
||||
+ am -i: fix "v"iew
|
||||
+ pager: factor out a helper to prepare a child process to run the pager
|
||||
+ pager: lose a separate argv[]
|
||||
|
||||
The "v(iew)" subcommand of the interactive "git am -i" command was
|
||||
broken in 2.6.0 timeframe when the command was rewritten in C.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jk/merge-tree-merge-blobs (2016-02-16) 1 commit
|
||||
- merge_blobs: use strbuf instead of manually-sized mmfile_t
|
||||
|
||||
"git merge-tree" (a throw-away demonstration) did not work very
|
||||
well when merging "both sides added a new file at the same path"
|
||||
case.
|
||||
|
||||
Undecided; we might be better off deleting it altogether.
|
||||
|
||||
|
||||
* jk/tighten-alloc (2016-02-19) 21 commits
|
||||
- ewah: convert to REALLOC_ARRAY, etc
|
||||
- convert ewah/bitmap code to use xmalloc
|
||||
- diff_populate_gitlink: use a strbuf
|
||||
- transport_anonymize_url: use xstrfmt
|
||||
- git-compat-util: drop mempcpy compat code
|
||||
- sequencer: simplify memory allocation of get_message
|
||||
- test-path-utils: fix normalize_path_copy output buffer size
|
||||
- fetch-pack: simplify add_sought_entry
|
||||
- fast-import: simplify allocation in start_packfile
|
||||
- write_untracked_extension: use FLEX_ALLOC helper
|
||||
- prepare_{git,shell}_cmd: use argv_array
|
||||
- use st_add and st_mult for allocation size computation
|
||||
- convert trivial cases to FLEX_ARRAY macros
|
||||
- use xmallocz to avoid size arithmetic
|
||||
- convert trivial cases to ALLOC_ARRAY
|
||||
- convert manual allocations to argv_array
|
||||
- add helpers for allocating flex-array structs
|
||||
- harden REALLOC_ARRAY and xcalloc against size_t overflow
|
||||
- tree-diff: catch integer overflow in combine_diff_path allocation
|
||||
- add helpers for detecting size_t overflow
|
||||
- reflog_expire_cfg: NUL-terminate pattern field
|
||||
|
||||
Update various codepaths to avoid manually-counted malloc().
|
||||
|
||||
|
||||
* nd/dwim-wildcards-as-pathspecs (2016-02-10) 3 commits
|
||||
(merged to 'next' on 2016-02-18 at fc7caf4)
|
||||
+ get_sha1: don't die() on bogus search strings
|
||||
+ check_filename: tighten dwim-wildcard ambiguity
|
||||
+ checkout: reorder check_filename conditional
|
||||
|
||||
"git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a
|
||||
rev, i.e. the object named by the the pathname with wildcard
|
||||
characters in a tree object.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* nd/exclusion-regression-fix (2016-02-15) 4 commits
|
||||
(merged to 'next' on 2016-02-18 at 85412ab)
|
||||
+ dir.c: don't exclude whole dir prematurely
|
||||
+ dir.c: support marking some patterns already matched
|
||||
+ dir.c: support tracing exclude
|
||||
+ dir.c: fix match_pathname()
|
||||
|
||||
Another try to add support to the ignore mechanism that lets you
|
||||
say "this is excluded" and then later say "oh, no, this part (that
|
||||
is a subset of the previous part) is not excluded".
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* nd/worktree-add-B (2016-02-15) 2 commits
|
||||
(merged to 'next' on 2016-02-18 at bf77016)
|
||||
+ worktree add -B: do the checkout test before update branch
|
||||
+ worktree: fix "add -B"
|
||||
|
||||
"git worktree add -B <branchname>" did not work.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* ps/config-error (2016-02-22) 15 commits
|
||||
- config: rename git_config_set_or_die to git_config_set
|
||||
- config: rename git_config_set to git_config_set_gently
|
||||
- compat: die when unable to set core.precomposeunicode
|
||||
- sequencer: die on config error when saving replay opts
|
||||
- init-db: die on config errors when initializing empty repo
|
||||
- clone: die on config error in cmd_clone
|
||||
- remote: die on config error when manipulating remotes
|
||||
- remote: die on config error when setting/adding branches
|
||||
- remote: die on config error when setting URL
|
||||
- submodule--helper: die on config error when cloning module
|
||||
- submodule: die on config error when linking modules
|
||||
- branch: die on config error when editing branch description
|
||||
- branch: die on config error when unsetting upstream
|
||||
- branch: report errors in tracking branch setup
|
||||
- config: introduce set_or_die wrappers
|
||||
|
||||
Many codepaths forget to check return value from git_config_set();
|
||||
the function is made to die() to make sure we do not proceed when
|
||||
setting a configuration variable failed.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* ss/commit-dry-run-resolve-merge-to-no-op (2016-02-17) 1 commit
|
||||
- wt-status.c: set commitable bit if there is a meaningful merge.
|
||||
|
||||
"git commit --dry-run" reported "No, no, you cannot commit." in one
|
||||
case where "git commit" would have allowed you to commit, and this
|
||||
improves it a little bit ("git commit --dry-run --short" still does
|
||||
not give you the correct answer, for example).
|
||||
|
||||
|
||||
* tg/git-remote (2016-02-16) 4 commits
|
||||
(merged to 'next' on 2016-02-18 at 091d43e)
|
||||
+ remote: use remote_is_configured() for add and rename
|
||||
+ remote: actually check if remote exits
|
||||
+ remote: simplify remote_is_configured()
|
||||
+ remote: use parse_config_key
|
||||
|
||||
The internal API to interact with "remote.*" configuration
|
||||
variables has been streamlined.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* ls/config-origin (2016-02-22) 4 commits
|
||||
- config: add '--show-origin' option to print the origin of a config value
|
||||
- config: add 'origin_type' to config_source struct
|
||||
- rename git_config_from_buf to git_config_from_mem
|
||||
- t: do not hide Git's exit code in tests using 'nul_to_q'
|
||||
|
||||
The configuration system has been taught to phrase where it found a
|
||||
bad configuration variable in a better way in its error messages.
|
||||
"git config" learnt a new "--show-origin" option to indicate where
|
||||
the values come from.
|
||||
|
||||
Will merge to 'next'.
|
||||
|
||||
|
||||
* ew/force-ipv4 (2016-02-12) 1 commit
|
||||
(merged to 'next' on 2016-02-18 at d0211b0)
|
||||
+ connect & http: support -4 and -6 switches for remote operations
|
||||
|
||||
"git fetch" and friends that make network connections can now be
|
||||
told to only use ipv4 (or ipv6).
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jk/lose-name-path (2016-02-12) 5 commits
|
||||
- list-objects: pass full pathname to callbacks
|
||||
- list-objects: drop name_path entirely
|
||||
- list-objects: convert name_path to a strbuf
|
||||
- show_object_with_name: simplify by using path_name()
|
||||
- http-push: stop using name_path
|
||||
(merged to 'next' on 2016-02-18 at 85831a6)
|
||||
+ list-objects: pass full pathname to callbacks
|
||||
+ list-objects: drop name_path entirely
|
||||
+ list-objects: convert name_path to a strbuf
|
||||
+ show_object_with_name: simplify by using path_name()
|
||||
+ http-push: stop using name_path
|
||||
|
||||
The "name_path" API was an attempt to reduce the need to construct
|
||||
the full path out of a series of path components while walking a
|
||||
tree hierarchy, but over time made less efficient because the path
|
||||
needs to be flattened, e.g. to be compared with another path that
|
||||
is already flat. Remove the API and rewrite its users to simplify
|
||||
overall code complexity.
|
||||
is already flat. The API has been removed and its users have been
|
||||
rewritten to simplify the overall code complexity.
|
||||
|
||||
Will merge to 'next'.
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* nd/icase (2016-02-15) 12 commits
|
||||
@@ -500,10 +443,12 @@ repositories listed at
|
||||
|
||||
"git grep -i" has been taught to fold case in non-ascii locales.
|
||||
|
||||
Comments?
|
||||
($gmane/286137)
|
||||
|
||||
|
||||
* tb/conversion (2016-02-10) 6 commits
|
||||
* tb/conversion (2016-02-21) 7 commits
|
||||
- convert.c: correct attr_action()
|
||||
(merged to 'next' on 2016-02-12 at 6faf27b)
|
||||
+ convert.c: simplify text_stat
|
||||
+ convert.c: refactor crlf_action
|
||||
@@ -512,11 +457,8 @@ repositories listed at
|
||||
+ convert.c: remove unused parameter 'path'
|
||||
+ t0027: add tests for get_stream_filter()
|
||||
|
||||
Will be rerolled.
|
||||
($gmane/286219)
|
||||
|
||||
|
||||
* sb/submodule-parallel-update (2016-02-13) 7 commits
|
||||
* sb/submodule-parallel-update (2016-02-19) 7 commits
|
||||
- clone: allow an explicit argument for parallel submodule clones
|
||||
- submodule update: expose parallelism to the user
|
||||
- git submodule update: have a dedicated helper for cloning
|
||||
@@ -530,58 +472,62 @@ repositories listed at
|
||||
advantage of the recently added framework to run download tasks in
|
||||
parallel.
|
||||
|
||||
Comments?
|
||||
|
||||
|
||||
* dt/refs-backend-lmdb (2016-02-13) 22 commits
|
||||
* dt/refs-backend-lmdb (2016-02-19) 28 commits
|
||||
- tests: add ref-storage argument
|
||||
- refs: tests for lmdb backend
|
||||
- refs: add LMDB refs storage backend
|
||||
- refs: add register_ref_storage_backends()
|
||||
- svn: learn ref-storage argument
|
||||
- clone: allow ref storage backend to be set for clone
|
||||
- refs: check submodules ref storage config
|
||||
- refs: check submodules' ref storage config
|
||||
- init: allow alternate ref strorage to be set for new repos
|
||||
- refs: always handle non-normal refs in files backend
|
||||
- refs: resolve symbolic refs first
|
||||
- refs: on symref reflog expire, lock symref not referrent
|
||||
- refs: don't dereference on rename
|
||||
- refs: allow log-only updates
|
||||
- refs: move duplicate check to common code
|
||||
- refs: make lock generic
|
||||
- refs: forbid cross-backend ref renames
|
||||
- refs: add method to rename refs
|
||||
- refs: add methods to init refs db
|
||||
- refs: add method for delete_refs
|
||||
- refs: add method for initial ref transaction commit
|
||||
- refs: add methods for reflog
|
||||
- refs: add do_for_each_per_worktree_ref
|
||||
- refs: add methods for the ref iterators
|
||||
- refs: add method for do_for_each_ref
|
||||
- refs: add methods for misc ref operations
|
||||
- refs: add a backend method structure with transaction functions
|
||||
- refs: move for_each_*ref* functions into common code
|
||||
- refs: move head_ref{,_submodule} to the common code
|
||||
- Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
|
||||
(this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.)
|
||||
|
||||
Building on top of a few refs-backend preparatory series, LMDB
|
||||
based refs backend has been plugged into the system.
|
||||
|
||||
Will be rerolled.
|
||||
($gmane/285604)
|
||||
($gmane/286572)
|
||||
|
||||
|
||||
* kn/ref-filter-atom-parsing (2016-02-17) 11 commits
|
||||
- ref-filter: introduce objectname_atom_parser()
|
||||
- ref-filter: introduce contents_atom_parser()
|
||||
- ref-filter: introduce remote_ref_atom_parser()
|
||||
- ref-filter: align: introduce long-form syntax
|
||||
- ref-filter: introduce align_atom_parser()
|
||||
- ref-filter: introduce parse_align_position()
|
||||
- ref-filter: introduce color_atom_parser()
|
||||
- ref-filter: introduce parsing functions for each valid atom
|
||||
- ref-filter: introduce struct used_atom
|
||||
- ref-filter: bump 'used_atom' and related code to the top
|
||||
- ref-filter: use string_list_split over strbuf_split
|
||||
(merged to 'next' on 2016-02-18 at 9606218)
|
||||
+ ref-filter: introduce objectname_atom_parser()
|
||||
+ ref-filter: introduce contents_atom_parser()
|
||||
+ ref-filter: introduce remote_ref_atom_parser()
|
||||
+ ref-filter: align: introduce long-form syntax
|
||||
+ ref-filter: introduce align_atom_parser()
|
||||
+ ref-filter: introduce parse_align_position()
|
||||
+ ref-filter: introduce color_atom_parser()
|
||||
+ ref-filter: introduce parsing functions for each valid atom
|
||||
+ ref-filter: introduce struct used_atom
|
||||
+ ref-filter: bump 'used_atom' and related code to the top
|
||||
+ ref-filter: use string_list_split over strbuf_split
|
||||
|
||||
Refactoring of ref-filter's format-parsing code, in preparation
|
||||
for "branch --format" and friends.
|
||||
The ref-filter's format-parsing code has been refactored, in
|
||||
preparation for "branch --format" and friends.
|
||||
|
||||
Will merge to 'next'.
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* ad/cygwin-wants-rename (2015-08-07) 1 commit
|
||||
@@ -624,3 +570,38 @@ repositories listed at
|
||||
|
||||
bc/http-empty-auth satisfies the original need that triggered this
|
||||
topic better.
|
||||
|
||||
|
||||
* ep/format-printf (2016-02-11) 22 commits
|
||||
. wt-status.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. utf8.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. transport-helper.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. trace.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. strbuf.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. remote.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. pkt-line.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. merge-recursive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. imap-send.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. http-backend.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. fsck.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. daemon.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. config.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. color.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. cache.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. builtin/upload-archive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. builtin/update-index.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. builtin/receive-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. builtin/index-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. argv-array.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. advice.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
|
||||
. git-compat-util.h: add the FORMAT_PRINTF macro
|
||||
|
||||
Replace __attribute__((format(printf, a, b))) with
|
||||
FORMAT_PRINTF(a,b) everywhere in the code.
|
||||
|
||||
It would be a different story if another compiler had the same
|
||||
feature implemented using a different syntax, in which case we
|
||||
could use conditionally #define what FORMAT_PRINTF(a,b) expands to,
|
||||
but because we do not have such a compiler supported, this change
|
||||
is a net negative, churning the code without buying us anything
|
||||
(yet).
|
||||
|
||||
Reference in New Issue
Block a user