mirror of
https://github.com/git/git.git
synced 2026-08-09 09:34:14 +00:00
What's cooking (2016/02 #08)
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, #07; Thu, 25)
|
||||
X-master-at: 56f37fda511e1615dc6df86c68f3b841711a7828
|
||||
X-next-at: 947c399e45ebc1a76d1e80d7152aa630726ed7e6
|
||||
Subject: What's cooking in git.git (Feb 2016, #08; Fri, 26)
|
||||
X-master-at: f02fbc4f9433937ee0463d0342d6d7d97e1f6f1e
|
||||
X-next-at: f92f5fe29a68d654894c6a10c5f5b3f0ce4bb1a5
|
||||
|
||||
What's cooking in git.git (Feb 2016, #07; Thu, 25)
|
||||
What's cooking in git.git (Feb 2016, #08; Fri, 26)
|
||||
--------------------------------------------------
|
||||
|
||||
Here are the topics that have been cooking. Commits prefixed with
|
||||
@@ -12,6 +12,24 @@ 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.
|
||||
|
||||
v2.8-rc0 has been tagged; this is a preview for the next release.
|
||||
|
||||
In previous cycles, I often left many topics in 'next' when tagging
|
||||
this zero-th preview, but eventually merged them before the final.
|
||||
I decided to do things a bit differently for this cycle: a topic,
|
||||
once it hits 'next', will not be rewound and only refined and
|
||||
corrected with incremental updates, so the only effect such a late
|
||||
merge to 'master' before the final is that some topics are not as
|
||||
widely tested on 'master' before the final one is tagged.
|
||||
|
||||
So this -rc0 is deliberately aggressive in that it includes all
|
||||
topics that have been cooking in 'next' that I think we can fix bugs
|
||||
that might still lurking in them before the final (it merges 25
|
||||
topics since the last batch to 'master'). The topics not merged to
|
||||
this preview, on the other hand, will not be considered for 2.8
|
||||
final, even though I might later succumb to the temptation to pick
|
||||
up ones that are in 'next' as of today ;-)
|
||||
|
||||
You can find the changes described here in the integration branches of the
|
||||
repositories listed at
|
||||
|
||||
@@ -20,107 +38,40 @@ repositories listed at
|
||||
--------------------------------------------------
|
||||
[Graduated 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
|
||||
* ak/extract-argv0-last-dir-sep (2016-02-19) 1 commit
|
||||
(merged to 'next' on 2016-02-24 at f590eb0)
|
||||
+ exec_cmd.c: use find_last_dir_sep() for code simplification
|
||||
|
||||
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.
|
||||
Code simplification.
|
||||
|
||||
|
||||
* ce/https-public-key-pinning (2016-02-15) 1 commit
|
||||
(merged to 'next' on 2016-02-18 at f382cf0)
|
||||
+ http: implement public key pinning
|
||||
* ak/git-strip-extension-from-dashed-command (2016-02-21) 1 commit
|
||||
(merged to 'next' on 2016-02-24 at 8a84f91)
|
||||
+ git.c: simplify stripping extension of a file in handle_builtin()
|
||||
|
||||
You can now set http.[<url>.]pinnedpubkey to specify the pinned
|
||||
public key when building with recent enough versions of libcURL.
|
||||
Code simplification.
|
||||
|
||||
|
||||
* 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).
|
||||
* dt/initial-ref-xn-commit-doc (2016-02-25) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at e32d0f6)
|
||||
+ refs: document transaction semantics
|
||||
|
||||
|
||||
* 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[]
|
||||
* fa/merge-recursive-no-rename (2016-02-24) 7 commits
|
||||
(merged to 'next' on 2016-02-25 at 8f18cc1)
|
||||
+ t3034: test deprecated interface
|
||||
+ t3034: test option to disable renames
|
||||
+ t3034: add rename threshold tests
|
||||
+ 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
|
||||
|
||||
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.
|
||||
"git merge-recursive" learned "--no-renames" option to disable its
|
||||
rename detection logic.
|
||||
|
||||
|
||||
* jk/lose-name-path (2016-02-12) 5 commits
|
||||
(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. The API has been removed and its users have been
|
||||
rewritten to simplify the overall code complexity.
|
||||
|
||||
|
||||
* 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.
|
||||
|
||||
|
||||
* 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".
|
||||
|
||||
|
||||
* 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 rev-parse --git-common-dir" used in the worktree feature
|
||||
misbehaved when run from a subdirectory.
|
||||
|
||||
|
||||
* 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.
|
||||
|
||||
|
||||
* 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.
|
||||
|
||||
--------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* jg/credential-cache-chdir-to-sockdir (2016-02-23) 3 commits
|
||||
(merged to 'next' on 2016-02-25 at ad35811)
|
||||
+ credential-cache--daemon: change to the socket dir on startup
|
||||
@@ -132,92 +83,6 @@ repositories listed at
|
||||
filesystem that houses the repository harder; now the process
|
||||
chdir()s to the directory that house its own socket on startup.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jk/no-diff-emit-common (2016-02-22) 3 commits
|
||||
(merged to 'next' on 2016-02-24 at 72626ea)
|
||||
+ xdiff: drop XDL_EMIT_COMMON
|
||||
+ merge-tree: drop generate_common strategy
|
||||
+ merge-one-file: use empty blob for add/add base
|
||||
|
||||
"git merge-tree" used to mishandle "both sides added" conflict with
|
||||
its own "create a fake ancestor file that has the common parts of
|
||||
what both sides have added and do a 3-way merge" logic; this has
|
||||
been updated to use the usual "3-way merge with an empty blob as
|
||||
the fake common ancestore file" approach used in the rest of the
|
||||
system.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* mm/push-default-warning (2016-02-25) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at 753352f)
|
||||
+ push: remove "push.default is unset" warning message
|
||||
|
||||
Across the transition at around Git version 2.0, the user used to
|
||||
get a pretty loud warning when running "git push" without setting
|
||||
push.default configuration variable. We started to tone down the
|
||||
warning message, given that the transition is over long time ago.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* mm/push-simple-doc (2016-02-23) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at dc4f57c)
|
||||
+ Documentation/git-push: document that 'simple' is the default
|
||||
|
||||
The documentation did not clearly state that the 'simple' mode is
|
||||
now the default for "git push" when push.default configuration is
|
||||
not set.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* nd/shallow-deepen (2016-02-23) 25 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: 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: 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.
|
||||
|
||||
|
||||
* ps/plug-xdl-merge-leak (2016-02-23) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at 523609e)
|
||||
+ xdiff/xmerge: fix memory leak in xdl_merge
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jk/epipe-in-async (2016-02-25) 4 commits
|
||||
(merged to 'next' on 2016-02-25 at 4482ddf)
|
||||
@@ -230,7 +95,65 @@ repositories listed at
|
||||
process has been made more robust, which reduces flakiness in our
|
||||
tests.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
* jk/grep-binary-workaround-in-test (2016-02-23) 2 commits
|
||||
(merged to 'next' on 2016-02-25 at 0e96ae8)
|
||||
+ t9200: avoid grep on non-ASCII data
|
||||
+ t8005: avoid grep on non-ASCII data
|
||||
|
||||
Recent versions of GNU grep are pickier when their input contains
|
||||
arbitrary binary data, which some of our tests uses. Rewrite the
|
||||
tests to sidestep the problem.
|
||||
|
||||
|
||||
* jk/more-comments-on-textconv (2016-02-22) 1 commit
|
||||
(merged to 'next' on 2016-02-24 at 4ccfdc5)
|
||||
+ diff: clarify textconv interface
|
||||
|
||||
The memory ownership rule of fill_textconv() API, which was a bit
|
||||
tricky, has been documented a bit better.
|
||||
|
||||
|
||||
* jk/no-diff-emit-common (2016-02-22) 3 commits
|
||||
(merged to 'next' on 2016-02-24 at 72626ea)
|
||||
+ xdiff: drop XDL_EMIT_COMMON
|
||||
+ merge-tree: drop generate_common strategy
|
||||
+ merge-one-file: use empty blob for add/add base
|
||||
|
||||
"git merge-tree" used to mishandle "both sides added" conflict with
|
||||
its own "create a fake ancestor file that has the common parts of
|
||||
what both sides have added and do a 3-way merge" logic; this has
|
||||
been updated to use the usual "3-way merge with an empty blob as
|
||||
the fake common ancestor file" approach used in the rest of the
|
||||
system.
|
||||
|
||||
|
||||
* jk/tighten-alloc (2016-02-22) 22 commits
|
||||
(merged to 'next' on 2016-02-24 at 78b3251)
|
||||
+ 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
|
||||
+ argv-array: add detach function
|
||||
+ 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().
|
||||
|
||||
|
||||
* js/config-set-in-non-repository (2016-02-25) 1 commit
|
||||
@@ -238,21 +161,123 @@ repositories listed at
|
||||
+ git config: report when trying to modify a non-existing repo config
|
||||
|
||||
"git config section.var value" to set a value in per-repository
|
||||
configuration file should have failed when it was run outside any
|
||||
repository, but didn't.
|
||||
|
||||
Will merge to 'master'.
|
||||
configuration file failed when it was run outside any repository,
|
||||
but didn't say the reason correctly.
|
||||
|
||||
|
||||
* sb/submodule-module-list-fix (2016-02-24) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at 21be607)
|
||||
+ submodule helper list: respect correct path prefix
|
||||
* kn/ref-filter-atom-parsing (2016-02-17) 11 commits
|
||||
(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
|
||||
|
||||
A helper function "git submodule" uses since v2.7.0 to list the
|
||||
modules that match the pathspec argument given to its subcommands
|
||||
(e.g. "submodule add <repo> <path>") has been fixed.
|
||||
The ref-filter's format-parsing code has been refactored, in
|
||||
preparation for "branch --format" and friends.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
* ls/config-origin (2016-02-22) 4 commits
|
||||
(merged to 'next' on 2016-02-24 at 239fcc2)
|
||||
+ 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.
|
||||
|
||||
|
||||
* ls/makefile-cflags-developer-tweak (2016-02-25) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at 14bb065)
|
||||
+ add DEVELOPER makefile knob to check for acknowledged warnings
|
||||
|
||||
There is a new DEVELOPER knob that enables many compiler warning
|
||||
options in the Makefile.
|
||||
|
||||
|
||||
* ma/update-hooks-sample-typofix (2016-02-25) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at be49c79)
|
||||
+ templates/hooks: fix minor typo in the sample update-hook
|
||||
|
||||
|
||||
* mg/work-tree-tests (2016-02-20) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at ca8cbb0)
|
||||
+ 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.
|
||||
|
||||
|
||||
* mm/push-default-warning (2016-02-25) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at 753352f)
|
||||
+ push: remove "push.default is unset" warning message
|
||||
|
||||
Across the transition at around Git version 2.0, the user used to
|
||||
get a pretty loud warning when running "git push" without setting
|
||||
push.default configuration variable. We no longer warn, given that
|
||||
the transition is over long time ago.
|
||||
|
||||
|
||||
* mm/push-simple-doc (2016-02-23) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at dc4f57c)
|
||||
+ Documentation/git-push: document that 'simple' is the default
|
||||
|
||||
The documentation did not clearly state that the 'simple' mode is
|
||||
now the default for "git push" when push.default configuration is
|
||||
not set.
|
||||
|
||||
|
||||
* mm/readme-markdown (2016-02-25) 5 commits
|
||||
(merged to 'next' on 2016-02-25 at b8bda29)
|
||||
+ README.md: move down historical explanation about the name
|
||||
+ README.md: don't call git stupid in the title
|
||||
+ README.md: move the link to git-scm.com up
|
||||
+ README.md: add hyperlinks on filenames
|
||||
+ README: use markdown syntax
|
||||
|
||||
README has been renamed to README.md and its contents got tweaked
|
||||
slightly to make it easier on the eyes.
|
||||
|
||||
|
||||
* ps/config-error (2016-02-22) 15 commits
|
||||
(merged to 'next' on 2016-02-25 at b378629)
|
||||
+ 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.
|
||||
|
||||
|
||||
* ps/plug-xdl-merge-leak (2016-02-23) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at 523609e)
|
||||
+ xdiff/xmerge: fix memory leak in xdl_merge
|
||||
|
||||
|
||||
* sb/submodule-fetch-nontip (2016-02-24) 1 commit
|
||||
@@ -265,81 +290,59 @@ repositories listed at
|
||||
that commit that may not be connected to the refs it usually
|
||||
fetches.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
* sb/submodule-module-list-fix (2016-02-24) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at 21be607)
|
||||
+ submodule helper list: respect correct path prefix
|
||||
|
||||
A helper function "git submodule" uses since v2.7.0 to list the
|
||||
modules that match the pathspec argument given to its subcommands
|
||||
(e.g. "submodule add <repo> <path>") has been fixed.
|
||||
|
||||
|
||||
* dt/initial-ref-xn-commit-doc (2016-02-25) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at e32d0f6)
|
||||
+ refs: document transaction semantics
|
||||
* tb/conversion (2016-02-23) 7 commits
|
||||
(merged to 'next' on 2016-02-25 at 1bb466d)
|
||||
+ convert.c: correct attr_action()
|
||||
(merged to 'next' on 2016-02-12 at 6faf27b)
|
||||
+ convert.c: simplify text_stat
|
||||
+ convert.c: refactor crlf_action
|
||||
+ convert.c: use text_eol_is_crlf()
|
||||
+ convert.c: remove input_crlf_action()
|
||||
+ convert.c: remove unused parameter 'path'
|
||||
+ t0027: add tests for get_stream_filter()
|
||||
|
||||
Will merge to 'master'.
|
||||
Code simplification.
|
||||
|
||||
|
||||
* jk/pack-idx-corruption-safety (2016-02-25) 3 commits
|
||||
- use_pack: handle signed off_t overflow
|
||||
- nth_packed_object_offset: bounds-check extended offset
|
||||
- t5313: test bounds-checks of corrupted/malicious pack/idx files
|
||||
* 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 code to read the pack data using the offsets stored in the pack
|
||||
idx file has been made more carefully check the validity of the
|
||||
data in the idx.
|
||||
The internal API to interact with "remote.*" configuration
|
||||
variables has been streamlined.
|
||||
|
||||
Will merge to 'next'.
|
||||
--------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* jk/credential-clear-config (2016-02-26) 1 commit
|
||||
- credential: let empty credential specs reset helper list
|
||||
|
||||
The credential.helper configuration variable is cumulative and
|
||||
there is no good way to override it from the command line. As
|
||||
a special case, giving an empty string as its value now serves
|
||||
as the signal to clear the values specified in various files.
|
||||
|
||||
|
||||
* ls/makefile-cflags-developer-tweak (2016-02-25) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at 14bb065)
|
||||
+ add DEVELOPER makefile knob to check for acknowledged warnings
|
||||
* jk/submodule-c-credential (2016-02-25) 1 commit
|
||||
- git: submodule honor -c credential.* from command line
|
||||
(this branch uses mg/httpd-tests-update-for-apache-2.4.)
|
||||
|
||||
There is a new DEVELOPER knob that enables many compiler warning
|
||||
options in the Makefile.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* ma/update-hooks-sample-typofix (2016-02-25) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at be49c79)
|
||||
+ templates/hooks: fix minor typo in the sample update-hook
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* mm/diff-renames-default (2016-02-25) 5 commits
|
||||
(merged to 'next' on 2016-02-25 at 947c399)
|
||||
+ diff: activate diff.renames by default
|
||||
+ log: introduce init_log_defaults()
|
||||
+ t: add tests for diff.renames (true/false/unset)
|
||||
+ t4001-diff-rename: wrap file creations in a test
|
||||
+ Documentation/diff-config: fix description of diff.renames
|
||||
|
||||
The end-user facing Porcelain level commands like "diff" and "log"
|
||||
now enables the rename detection by default.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* mm/readme-markdown (2016-02-25) 5 commits
|
||||
(merged to 'next' on 2016-02-25 at b8bda29)
|
||||
+ README.md: move down historical explanation about the name
|
||||
+ README.md: don't call git stupid in the title
|
||||
+ README.md: move the link to git-scm.com up
|
||||
+ README.md: add hyperlinks on filenames
|
||||
+ README: use markdown syntax
|
||||
|
||||
Move README to README.md and tweak its contents slightly to make it
|
||||
easier on the eyes.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* mp/upload-pack-use-embedded-args (2016-02-25) 1 commit
|
||||
- upload-pack: use argv_array for pack_objects
|
||||
|
||||
The embedded args argv-array in the child process is used to build
|
||||
the command line to run pack-objects instead of using a separate
|
||||
array of strings.
|
||||
|
||||
Will merge to 'next'.
|
||||
"git -c credential.<var>=<value> submodule" can now be used to
|
||||
propagate configuration variables related to credential helper
|
||||
down to the submodules.
|
||||
|
||||
--------------------------------------------------
|
||||
[Stalled]
|
||||
@@ -397,17 +400,6 @@ repositories listed at
|
||||
($gmane/284368).
|
||||
|
||||
|
||||
* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
|
||||
- t/lib-git-svn: check same httpd module dirs as lib-httpd
|
||||
- t/lib-httpd: load mod_unixd
|
||||
|
||||
This is the first two commits in a three-patch series $gmane/266962
|
||||
|
||||
Becoming tired of waiting for a reroll.
|
||||
with updated log message ($gmane/268061).
|
||||
Will discard.
|
||||
|
||||
|
||||
* jc/diff-b-m (2015-02-23) 5 commits
|
||||
. WIPWIP
|
||||
. WIP: diff-b-m
|
||||
@@ -426,6 +418,87 @@ repositories listed at
|
||||
--------------------------------------------------
|
||||
[Cooking]
|
||||
|
||||
* mg/httpd-tests-update-for-apache-2.4 (2016-02-25) 1 commit
|
||||
- t/lib-httpd: load mod_unixd
|
||||
(this branch is used by jk/submodule-c-credential.)
|
||||
|
||||
|
||||
* nd/shallow-deepen (2016-02-23) 25 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: 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: 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.
|
||||
|
||||
|
||||
* jk/pack-idx-corruption-safety (2016-02-25) 3 commits
|
||||
(merged to 'next' on 2016-02-26 at ef0d6de)
|
||||
+ use_pack: handle signed off_t overflow
|
||||
+ nth_packed_object_offset: bounds-check extended offset
|
||||
+ t5313: test bounds-checks of corrupted/malicious pack/idx files
|
||||
|
||||
The code to read the pack data using the offsets stored in the pack
|
||||
idx file has been made more carefully check the validity of the
|
||||
data in the idx.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* mm/diff-renames-default (2016-02-25) 5 commits
|
||||
(merged to 'next' on 2016-02-25 at 947c399)
|
||||
+ diff: activate diff.renames by default
|
||||
+ log: introduce init_log_defaults()
|
||||
+ t: add tests for diff.renames (true/false/unset)
|
||||
+ t4001-diff-rename: wrap file creations in a test
|
||||
+ Documentation/diff-config: fix description of diff.renames
|
||||
|
||||
The end-user facing Porcelain level commands like "diff" and "log"
|
||||
now enables the rename detection by default.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* mp/upload-pack-use-embedded-args (2016-02-25) 1 commit
|
||||
(merged to 'next' on 2016-02-26 at f0a54e5)
|
||||
+ upload-pack: use argv_array for pack_objects
|
||||
|
||||
The embedded args argv-array in the child process is used to build
|
||||
the command line to run pack-objects instead of using a separate
|
||||
array of strings.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* sb/submodule-init (2016-02-25) 2 commits
|
||||
- submodule: port init from shell to C
|
||||
- submodule: port resolve_relative_url from shell to C
|
||||
@@ -437,15 +510,6 @@ repositories listed at
|
||||
($gmane/286092)
|
||||
|
||||
|
||||
* ak/extract-argv0-last-dir-sep (2016-02-19) 1 commit
|
||||
(merged to 'next' on 2016-02-24 at f590eb0)
|
||||
+ exec_cmd.c: use find_last_dir_sep() for code simplification
|
||||
|
||||
Code simplification.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* az/p4-bare-no-rebase (2016-02-19) 1 commit
|
||||
- git-p4.py: Don't try to rebase on submit from bare repository
|
||||
|
||||
@@ -457,51 +521,6 @@ repositories listed at
|
||||
Needs a better explanation.
|
||||
|
||||
|
||||
* ak/git-strip-extension-from-dashed-command (2016-02-21) 1 commit
|
||||
(merged to 'next' on 2016-02-24 at 8a84f91)
|
||||
+ git.c: simplify stripping extension of a file in handle_builtin()
|
||||
|
||||
Code simplification.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jk/grep-binary-workaround-in-test (2016-02-23) 2 commits
|
||||
(merged to 'next' on 2016-02-25 at 0e96ae8)
|
||||
+ t9200: avoid grep on non-ASCII data
|
||||
+ t8005: avoid grep on non-ASCII data
|
||||
|
||||
Recent versions of GNU grep are pickier when their input contains
|
||||
arbitrary binary data, which some of our tests uses. Rewrite the
|
||||
tests to sidestep the problem.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* mg/work-tree-tests (2016-02-20) 1 commit
|
||||
(merged to 'next' on 2016-02-25 at ca8cbb0)
|
||||
+ 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.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jk/more-comments-on-textconv (2016-02-22) 1 commit
|
||||
(merged to 'next' on 2016-02-24 at 4ccfdc5)
|
||||
+ 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 'master'.
|
||||
|
||||
|
||||
* cn/deprecate-ssh-git-url (2016-02-15) 1 commit
|
||||
- Disown ssh+git and git+ssh
|
||||
|
||||
@@ -510,78 +529,6 @@ repositories listed at
|
||||
($gmane/286222)
|
||||
|
||||
|
||||
* fa/merge-recursive-no-rename (2016-02-24) 7 commits
|
||||
(merged to 'next' on 2016-02-25 at 8f18cc1)
|
||||
+ t3034: test deprecated interface
|
||||
+ t3034: test option to disable renames
|
||||
+ t3034: add rename threshold tests
|
||||
+ 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.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* jk/tighten-alloc (2016-02-22) 22 commits
|
||||
(merged to 'next' on 2016-02-24 at 78b3251)
|
||||
+ 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
|
||||
+ argv-array: add detach function
|
||||
+ 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().
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* ps/config-error (2016-02-22) 15 commits
|
||||
(merged to 'next' on 2016-02-25 at b378629)
|
||||
+ 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 'master'.
|
||||
|
||||
|
||||
* 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.
|
||||
|
||||
@@ -591,34 +538,6 @@ repositories listed at
|
||||
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
|
||||
(merged to 'next' on 2016-02-24 at 239fcc2)
|
||||
+ 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 'master'.
|
||||
|
||||
|
||||
* nd/icase (2016-02-15) 12 commits
|
||||
- grep.c: reuse "icase" variable
|
||||
- diffcore-pickaxe: support case insensitive match on non-ascii
|
||||
@@ -639,22 +558,6 @@ repositories listed at
|
||||
($gmane/286137)
|
||||
|
||||
|
||||
* tb/conversion (2016-02-23) 7 commits
|
||||
(merged to 'next' on 2016-02-25 at 1bb466d)
|
||||
+ convert.c: correct attr_action()
|
||||
(merged to 'next' on 2016-02-12 at 6faf27b)
|
||||
+ convert.c: simplify text_stat
|
||||
+ convert.c: refactor crlf_action
|
||||
+ convert.c: use text_eol_is_crlf()
|
||||
+ convert.c: remove input_crlf_action()
|
||||
+ convert.c: remove unused parameter 'path'
|
||||
+ t0027: add tests for get_stream_filter()
|
||||
|
||||
Code simplification.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* sb/submodule-parallel-update (2016-02-25) 11 commits
|
||||
- clone: allow an explicit argument for parallel submodule clones
|
||||
- submodule update: expose parallelism to the user
|
||||
@@ -719,26 +622,6 @@ repositories listed at
|
||||
($gmane/286572)
|
||||
|
||||
|
||||
* kn/ref-filter-atom-parsing (2016-02-17) 11 commits
|
||||
(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
|
||||
|
||||
The ref-filter's format-parsing code has been refactored, in
|
||||
preparation for "branch --format" and friends.
|
||||
|
||||
Will merge to 'master'.
|
||||
|
||||
|
||||
* ad/cygwin-wants-rename (2015-08-07) 1 commit
|
||||
- config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
|
||||
|
||||
@@ -770,57 +653,3 @@ repositories listed at
|
||||
git-gui still uses the deprecated syntax, which needs to be fixed
|
||||
before this final step can proceed.
|
||||
($gmane/282594)
|
||||
|
||||
--------------------------------------------------
|
||||
[Discarded]
|
||||
|
||||
* dv/http-try-negotiate-at-least-once (2016-02-02) 1 commit
|
||||
. remote-curl: don't fall back to Basic auth if we haven't tried Negotiate
|
||||
|
||||
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).
|
||||
|
||||
|
||||
* 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.
|
||||
|
||||
Solved differently by jk/no-diff-emit-common topic.
|
||||
|
||||
Reference in New Issue
Block a user