OSDN Git Service
Junio C Hamano [Wed, 22 Nov 2017 05:57:52 +0000 (14:57 +0900)]
Merge branch 'jn/reproducible-build' of ../git-gui into jn/reproducible-build
* 'jn/reproducible-build' of ../git-gui:
git-gui: sort entries in optimized tclIndex
Jonathan Nieder [Sat, 2 Jul 2016 00:32:00 +0000 (17:32 -0700)]
generate-cmdlist: avoid non-deterministic output
Non-determinism makes it harder for build tools to discover when a
target needs to be rebuilt.
generate-cmdlist.sh stores the full path in a comment:
/* Automatically generated by /build/git-agojiD/git-2.15.0/generate-cmdlist.sh */
Use the file name alone instead.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Anders Kaseorg [Wed, 16 Nov 2016 21:37:17 +0000 (16:37 -0500)]
git-gui: sort entries in optimized tclIndex
auto_mkindex expands wildcards in directory order, which depends on
the underlying filesystem. To improve build reproducibility, sort the
list of *.tcl files in the Makefile.
The unoptimized loading case was previously fixed in gitgui-0.21.0~14
(git-gui: sort entries in tclIndex, 2015-01-26).
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 21 Nov 2017 05:11:40 +0000 (14:11 +0900)]
Sync with maint
* maint:
Almost ready for 2.15.1
Junio C Hamano [Tue, 21 Nov 2017 05:11:06 +0000 (14:11 +0900)]
RelNotes: the fifth batch for 2.16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 21 Nov 2017 05:07:52 +0000 (14:07 +0900)]
Merge branch 'rs/apply-fuzzy-match-fix'
A fix for an ancient bug in "git apply --ignore-space-change" codepath.
* rs/apply-fuzzy-match-fix:
apply: avoid out-of-bounds access in fuzzy_matchlines()
Junio C Hamano [Tue, 21 Nov 2017 05:07:51 +0000 (14:07 +0900)]
Merge branch 'ad/submitting-patches-title-decoration'
Doc update around use of "format-patch --subject-prefix" etc.
* ad/submitting-patches-title-decoration:
doc/SubmittingPatches: correct subject guidance
Junio C Hamano [Tue, 21 Nov 2017 05:07:51 +0000 (14:07 +0900)]
Merge branch 'av/fsmonitor'
Various fixes to bp/fsmonitor topic.
* av/fsmonitor:
fsmonitor: simplify determining the git worktree under Windows
fsmonitor: store fsmonitor bitmap before splitting index
fsmonitor: read from getcwd(), not the PWD environment variable
fsmonitor: delay updating state until after split index is merged
fsmonitor: document GIT_TRACE_FSMONITOR
fsmonitor: don't bother pretty-printing JSON from watchman
fsmonitor: set the PWD to the top of the working tree
Junio C Hamano [Tue, 21 Nov 2017 05:07:50 +0000 (14:07 +0900)]
Merge branch 'bp/fsmonitor'
We learned to talk to watchman to speed up "git status" and other
operations that need to see which paths have been modified.
* bp/fsmonitor:
fsmonitor: preserve utf8 filenames in fsmonitor-watchman log
fsmonitor: read entirety of watchman output
fsmonitor: MINGW support for watchman integration
fsmonitor: add a performance test
fsmonitor: add a sample integration script for Watchman
fsmonitor: add test cases for fsmonitor extension
split-index: disable the fsmonitor extension when running the split index test
fsmonitor: add a test tool to dump the index extension
update-index: add fsmonitor support to update-index
ls-files: Add support in ls-files to display the fsmonitor valid bit
fsmonitor: add documentation for the fsmonitor extension.
fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
update-index: add a new --force-write-index option
preload-index: add override to enable testing preload-index
bswap: add 64 bit endianness helper get_be64
Junio C Hamano [Tue, 21 Nov 2017 05:07:08 +0000 (14:07 +0900)]
Almost ready for 2.15.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 21 Nov 2017 05:05:33 +0000 (14:05 +0900)]
Merge branch 'rs/sequencer-rewrite-file-cleanup' into maint
Code cleanup.
* rs/sequencer-rewrite-file-cleanup:
sequencer.c: check return value of close() in rewrite_file()
sequencer: use O_TRUNC to truncate files
sequencer: factor out rewrite_file()
Junio C Hamano [Tue, 21 Nov 2017 05:05:33 +0000 (14:05 +0900)]
Merge branch 'cb/t4201-robustify' into maint
A test update.
* cb/t4201-robustify:
t4201: make use of abbreviation in the test more robust
Junio C Hamano [Tue, 21 Nov 2017 05:05:32 +0000 (14:05 +0900)]
Merge branch 'tz/fsf-address-update' into maint
Replace the mailing address of FSF to a URL, as FSF prefers.
* tz/fsf-address-update:
Replace Free Software Foundation address in license notices
Replace Free Software Foundation address in license notices
Junio C Hamano [Tue, 21 Nov 2017 05:05:32 +0000 (14:05 +0900)]
Merge branch 'ad/rebase-i-serie-typofix' into maint
Typofix.
* ad/rebase-i-serie-typofix:
rebase -i: fix comment typo
Junio C Hamano [Tue, 21 Nov 2017 05:05:31 +0000 (14:05 +0900)]
Merge branch 'jk/info-alternates-fix' into maint
We used to add an empty alternate object database to the system
that does not help anything; it has been corrected.
* jk/info-alternates-fix:
link_alt_odb_entries: make empty input a noop
Junio C Hamano [Tue, 21 Nov 2017 05:05:30 +0000 (14:05 +0900)]
Merge branch 'ab/pcre-v2' into maint
Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed.
* ab/pcre-v2:
grep: fix NO_LIBPCRE1_JIT to fully disable JIT
Junio C Hamano [Tue, 21 Nov 2017 05:05:29 +0000 (14:05 +0900)]
Merge branch 'sr/wrapper-quote-filenames' into maint
Some error messages did not quote filenames shown in it, which have
been fixed.
* sr/wrapper-quote-filenames:
wrapper.c: consistently quote filenames in error messages
Junio C Hamano [Tue, 21 Nov 2017 05:05:29 +0000 (14:05 +0900)]
Merge branch 'bw/rebase-i-ignored-submodule-fix' into maint
"git rebase -i" recently started misbehaving when a submodule that
is configured with 'submodule.<name>.ignore' is dirty; this has
been corrected.
* bw/rebase-i-ignored-submodule-fix:
wt-status: actually ignore submodules when requested
Jeff King [Mon, 20 Nov 2017 19:18:46 +0000 (14:18 -0500)]
git-jump: give contact instructions in the README
Let's make it clear how patches should flow into
contrib/git-jump. The normal Git maintainer does not
necessarily care about things in contrib/, and authors of
individual components should be the ones giving the final
review/ack for a patch. Ditto for bug reports, which are
likely to get more attention from the area expert.
Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Beat Bolli [Sun, 19 Nov 2017 23:05:36 +0000 (00:05 +0100)]
contrib/git-jump: allow to configure the grep command
Add the configuration option "jump.grepCmd" that allows to configure the
command that is used to search in grep mode. This allows the users of
git-jump to use ag(1) or ack(1) as search engines.
Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 15 Nov 2017 03:17:43 +0000 (12:17 +0900)]
Sync with maint
Junio C Hamano [Wed, 15 Nov 2017 03:17:08 +0000 (12:17 +0900)]
RelNotes: the fourth batch for 2.16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 15 Nov 2017 03:14:37 +0000 (12:14 +0900)]
Merge branch 'bp/read-index-from-skip-verification'
Drop (perhaps overly cautious) sanity check before using the index
read from the filesystem at runtime.
* bp/read-index-from-skip-verification:
read_index_from(): speed index loading by skipping verification of the entry order
Junio C Hamano [Wed, 15 Nov 2017 03:14:36 +0000 (12:14 +0900)]
Merge branch 'bc/submitting-patches-in-asciidoc'
The SubmittingPatches document has been converted to produce an
HTML version via AsciiDoc/Asciidoctor.
* bc/submitting-patches-in-asciidoc:
Documentation: convert SubmittingPatches to AsciiDoc
Documentation: enable compat-mode for Asciidoctor
Junio C Hamano [Wed, 15 Nov 2017 03:14:36 +0000 (12:14 +0900)]
Merge branch 'sb/bisect-run-empty'
"git bisect run" that did not specify any command to run used to go
ahead and treated all commits to be tested as 'good'. This has
been corrected by making the command error out.
* sb/bisect-run-empty:
bisect run: die if no command is given
Junio C Hamano [Wed, 15 Nov 2017 03:14:36 +0000 (12:14 +0900)]
Merge branch 'rd/bisect-view-is-visualize'
Doc and message updates to teach users "bisect view" is a synonym
for "bisect visualize".
* rd/bisect-view-is-visualize:
bisect: mention "view" as an alternative to "visualize"
Junio C Hamano [Wed, 15 Nov 2017 03:14:36 +0000 (12:14 +0900)]
Merge branch 'jk/info-alternates-fix'
We used to add an empty alternate object database to the system
that does not help anything; it has been corrected.
* jk/info-alternates-fix:
link_alt_odb_entries: make empty input a noop
Junio C Hamano [Wed, 15 Nov 2017 03:14:35 +0000 (12:14 +0900)]
Merge branch 'cb/t4201-robustify'
A test update.
* cb/t4201-robustify:
t4201: make use of abbreviation in the test more robust
Junio C Hamano [Wed, 15 Nov 2017 03:14:34 +0000 (12:14 +0900)]
Merge branch 'ab/pcre-v2'
Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed.
* ab/pcre-v2:
grep: fix NO_LIBPCRE1_JIT to fully disable JIT
Junio C Hamano [Wed, 15 Nov 2017 03:14:33 +0000 (12:14 +0900)]
Merge branch 'tz/fsf-address-update'
* tz/fsf-address-update:
Replace Free Software Foundation address in license notices
Replace Free Software Foundation address in license notices
Junio C Hamano [Wed, 15 Nov 2017 03:14:33 +0000 (12:14 +0900)]
Merge branch 'ad/rebase-i-serie-typofix'
* ad/rebase-i-serie-typofix:
rebase -i: fix comment typo
Junio C Hamano [Wed, 15 Nov 2017 03:14:32 +0000 (12:14 +0900)]
Merge branch 'ab/mediawiki-namespace'
The remote-helper for talking to MediaWiki has been updated to
work with mediawiki namespaces.
* ab/mediawiki-namespace:
remote-mediawiki: show progress while fetching namespaces
remote-mediawiki: process namespaces in order
remote-mediawiki: support fetching from (Main) namespace
remote-mediawiki: skip virtual namespaces
remote-mediawiki: show known namespace choices on failure
remote-mediawiki: allow fetching namespaces with spaces
remote-mediawiki: add namespace support
Junio C Hamano [Wed, 15 Nov 2017 03:14:32 +0000 (12:14 +0900)]
Merge branch 'ma/reduce-heads-leakfix'
Leak fixes.
* ma/reduce-heads-leakfix:
reduce_heads: fix memory leaks
builtin/merge-base: free commit lists
Junio C Hamano [Wed, 15 Nov 2017 03:14:32 +0000 (12:14 +0900)]
Merge branch 'js/for-each-ref-remote-name-and-ref'
The "--format=..." option "git for-each-ref" takes learned to show
the name of the 'remote' repository and the ref at the remote side
that is affected for 'upstream' and 'push' via "%(push:remotename)"
and friends.
* js/for-each-ref-remote-name-and-ref:
for-each-ref: test :remotename and :remoteref
for-each-ref: let upstream/push report the remote ref name
for-each-ref: let upstream/push optionally report the remote name
Junio C Hamano [Wed, 15 Nov 2017 03:14:31 +0000 (12:14 +0900)]
Merge branch 'jt/submodule-tests-cleanup'
* jt/submodule-tests-cleanup:
Tests: clean up and document submodule helpers
Junio C Hamano [Wed, 15 Nov 2017 03:14:31 +0000 (12:14 +0900)]
Merge branch 'cc/git-packet-pm'
Parts of a test to drive the long-running content filter interface
has been split into its own module, hopefully to eventually become
reusable.
* cc/git-packet-pm:
Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse
t0021/rot13-filter: add capability functions
t0021/rot13-filter: refactor checking final lf
t0021/rot13-filter: add packet_initialize()
t0021/rot13-filter: improve error message
t0021/rot13-filter: improve 'if .. elsif .. else' style
t0021/rot13-filter: refactor packet reading functions
t0021/rot13-filter: fix list comparison
Junio C Hamano [Wed, 15 Nov 2017 03:14:30 +0000 (12:14 +0900)]
Merge branch 'bw/rebase-i-ignored-submodule-fix'
"git rebase -i" recently started misbehaving when a submodule that
is configured with 'submodule.<name>.ignore' is dirty; this has
been corrected.
* bw/rebase-i-ignored-submodule-fix:
wt-status: actually ignore submodules when requested
Junio C Hamano [Wed, 15 Nov 2017 03:14:29 +0000 (12:14 +0900)]
Merge branch 'mh/tidy-ref-update-flags'
Code clean-up in refs API implementation.
* mh/tidy-ref-update-flags:
refs: update some more docs to use "oid" rather than "sha1"
write_packed_entry(): take `object_id` arguments
refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING`
refs: rename constant `REF_NODEREF` to `REF_NO_DEREF`
refs: tidy up and adjust visibility of the `ref_update` flags
ref_transaction_add_update(): remove a check
ref_transaction_update(): die on disallowed flags
prune_ref(): call `ref_transaction_add_update()` directly
files_transaction_prepare(): don't leak flags to packed transaction
Junio C Hamano [Wed, 15 Nov 2017 03:14:29 +0000 (12:14 +0900)]
Merge branch 'sr/wrapper-quote-filenames'
Some error messages did not quote filenames shown in it, which have
been fixed.
* sr/wrapper-quote-filenames:
wrapper.c: consistently quote filenames in error messages
Junio C Hamano [Wed, 15 Nov 2017 03:14:28 +0000 (12:14 +0900)]
Merge branch 'ma/bisect-leakfix'
Leak fixes.
* ma/bisect-leakfix:
bisect: fix memory leak when returning best element
bisect: fix off-by-one error in `best_bisection_sorted()`
bisect: fix memory leak in `find_bisection()`
bisect: change calling-convention of `find_bisection()`
Junio C Hamano [Wed, 15 Nov 2017 03:14:28 +0000 (12:14 +0900)]
Merge branch 'rs/sequencer-rewrite-file-cleanup'
Code cleanup.
* rs/sequencer-rewrite-file-cleanup:
sequencer.c: check return value of close() in rewrite_file()
sequencer: use O_TRUNC to truncate files
sequencer: factor out rewrite_file()
Junio C Hamano [Wed, 15 Nov 2017 03:14:28 +0000 (12:14 +0900)]
Merge branch 'ao/merge-verbosity-getenv-just-once'
Code cleanup.
* ao/merge-verbosity-getenv-just-once:
merge-recursive: check GIT_MERGE_VERBOSITY only once
Junio C Hamano [Wed, 15 Nov 2017 03:14:27 +0000 (12:14 +0900)]
Merge branch 'mh/avoid-rewriting-packed-refs'
Recent update to the refs infrastructure implementation started
rewriting packed-refs file more often than before; this has been
optimized again for most trivial cases.
* mh/avoid-rewriting-packed-refs:
files-backend: don't rewrite the `packed-refs` file unnecessarily
t1409: check that `packed-refs` is not rewritten unnecessarily
Junio C Hamano [Wed, 15 Nov 2017 03:14:26 +0000 (12:14 +0900)]
Merge branch 'rs/imap-send-next-arg-fix'
Error checking in "git imap-send" for empty response has been
improved.
* rs/imap-send-next-arg-fix:
imap-send: handle missing response codes gracefully
imap-send: handle NULL return of next_arg()
Junio C Hamano [Wed, 15 Nov 2017 03:14:25 +0000 (12:14 +0900)]
Merge branch 'ab/mediawiki-name-truncation'
The remote-helper for talking to MediaWiki has been updated to
truncate an overlong pagename so that ".mw" suffix can still be
added.
* ab/mediawiki-name-truncation:
remote-mediawiki: limit filenames to legal
Junio C Hamano [Wed, 15 Nov 2017 03:04:22 +0000 (12:04 +0900)]
Start preparation for 2.15.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 15 Nov 2017 03:05:04 +0000 (12:05 +0900)]
Merge branch 'ks/mailmap' into maint
* ks/mailmap:
mailmap: use Kaartic Sivaraam's new address
Junio C Hamano [Wed, 15 Nov 2017 03:05:04 +0000 (12:05 +0900)]
Merge branch 'jm/relnotes-2.15-typofix' into maint
Typofix.
* jm/relnotes-2.15-typofix:
fix typos in 2.15.0 release notes
Junio C Hamano [Wed, 15 Nov 2017 03:05:04 +0000 (12:05 +0900)]
Merge branch 'cn/diff-indent-no-longer-is-experimental' into maint
Doc update.
* cn/diff-indent-no-longer-is-experimental:
diff: --indent-heuristic is no longer experimental
Junio C Hamano [Wed, 15 Nov 2017 03:05:03 +0000 (12:05 +0900)]
Merge branch 'js/mingw-redirect-std-handles' into maint
MinGW updates.
* js/mingw-redirect-std-handles:
mingw: document the standard handle redirection
mingw: optionally redirect stderr/stdout via the same handle
mingw: add experimental feature to redirect standard handles
Junio C Hamano [Wed, 15 Nov 2017 03:05:03 +0000 (12:05 +0900)]
Merge branch 'js/wincred-empty-cred' into maint
MinGW updates.
* js/wincred-empty-cred:
wincred: handle empty username/password correctly
t0302: check helper can handle empty credentials
Junio C Hamano [Wed, 15 Nov 2017 03:05:03 +0000 (12:05 +0900)]
Merge branch 'js/mingw-full-version-in-resources' into maint
MinGW updates.
* js/mingw-full-version-in-resources:
mingw: include the full version information in the resources
Junio C Hamano [Wed, 15 Nov 2017 03:05:02 +0000 (12:05 +0900)]
Merge branch 'dk/libsecret-unlock-to-load-fix' into maint
The credential helper for libsecret (in contrib/) has been improved
to allow possibly prompting the end user to unlock secrets that are
currently locked (otherwise the secrets may not be loaded).
* dk/libsecret-unlock-to-load-fix:
credential-libsecret: unlock locked secrets
Junio C Hamano [Wed, 15 Nov 2017 03:05:01 +0000 (12:05 +0900)]
Merge branch 'js/early-config' into maint
Correct start-up sequence so that a repository could be placed
immediately under the root directory again (which was broken at
around Git 2.13).
* js/early-config:
setup: avoid double slashes when looking for HEAD
Junio C Hamano [Wed, 15 Nov 2017 03:05:00 +0000 (12:05 +0900)]
Merge branch 'ad/5580-unc-tests-on-cygwin' into maint
UNC paths are also relevant in Cygwin builds and they are now
tested just like Mingw builds.
* ad/5580-unc-tests-on-cygwin:
t5580: add Cygwin support
Junio C Hamano [Wed, 15 Nov 2017 03:04:59 +0000 (12:04 +0900)]
Merge branch 'ao/diff-populate-filespec-lstat-errorpath-fix' into maint
After an error from lstat(), diff_populate_filespec() function
sometimes still went ahead and used invalid data in struct stat,
which has been fixed.
* ao/diff-populate-filespec-lstat-errorpath-fix:
diff: fix lstat() error handling in diff_populate_filespec()
Junio C Hamano [Wed, 15 Nov 2017 03:04:59 +0000 (12:04 +0900)]
Merge branch 'sb/blame-config-doc' into maint
Description of blame.{showroot,blankboundary,showemail,date}
configuration variables have been added to "git config --help".
* sb/blame-config-doc:
config: document blame configuration
Junio C Hamano [Wed, 15 Nov 2017 03:04:58 +0000 (12:04 +0900)]
Merge branch 'tb/complete-checkout' into maint
Command line completion (in contrib/) update.
* tb/complete-checkout:
completion: add remaining flags to checkout
Junio C Hamano [Wed, 15 Nov 2017 03:04:57 +0000 (12:04 +0900)]
Merge branch 'jc/check-ref-format-oor' into maint
"git check-ref-format --branch @{-1}" bit a "BUG()" when run
outside a repository for obvious reasons; clarify the documentation
and make sure we do not even try to expand the at-mark magic in
such a case, but still call the validation logic for branch names.
* jc/check-ref-format-oor:
check-ref-format doc: --branch validates and expands <branch>
check-ref-format --branch: strip refs/heads/ using skip_prefix
check-ref-format --branch: do not expand @{...} outside repository
Junio C Hamano [Wed, 15 Nov 2017 03:04:56 +0000 (12:04 +0900)]
Merge branch 'jc/t5601-copy-workaround' into maint
A (possibly flakey) test fix.
* jc/t5601-copy-workaround:
t5601: rm the target file of cp that could still be executing
Junio C Hamano [Wed, 15 Nov 2017 03:04:56 +0000 (12:04 +0900)]
Merge branch 'jk/rebase-i-exec-gitdir-fix' into maint
A recent regression in "git rebase -i" that broke execution of git
commands from subdirectories via "exec" insn has been fixed.
* jk/rebase-i-exec-gitdir-fix:
sequencer: pass absolute GIT_DIR to exec commands
Junio C Hamano [Wed, 15 Nov 2017 03:04:55 +0000 (12:04 +0900)]
Merge branch 'bw/grep-recurse-submodules' into maint
A broken access to object databases in recent update to "git grep
--recurse-submodules" has been fixed.
* bw/grep-recurse-submodules:
grep: take the read-lock when adding a submodule
Junio C Hamano [Wed, 15 Nov 2017 03:04:54 +0000 (12:04 +0900)]
Merge branch 'js/submodule-in-excluded' into maint
"git status --ignored -u" did not stop at a working tree of a
separate project that is embedded in an ignored directory and
listed files in that other project, instead of just showing the
directory itself as ignored.
* js/submodule-in-excluded:
status: do not get confused by submodules in excluded directories
Junio C Hamano [Wed, 15 Nov 2017 03:04:53 +0000 (12:04 +0900)]
Merge branch 'ao/check-resolve-ref-unsafe-result' into maint
"git commit", after making a commit, did not check for errors when
asking on what branch it made the commit, which has been correted.
* ao/check-resolve-ref-unsafe-result:
commit: check result of resolve_ref_unsafe
Junio C Hamano [Wed, 15 Nov 2017 03:04:52 +0000 (12:04 +0900)]
Merge branch 'jk/misc-resolve-ref-unsafe-fixes' into maint
Some codepaths did not check for errors when asking what branch the
HEAD points at, which have been fixed.
* jk/misc-resolve-ref-unsafe-fixes:
worktree: handle broken symrefs in find_shared_symref()
log: handle broken HEAD in decoration check
remote: handle broken symrefs
test-ref-store: avoid passing NULL to printf
Junio C Hamano [Wed, 15 Nov 2017 03:04:52 +0000 (12:04 +0900)]
Merge branch 'sb/diff-color-moved-use-xdl-recmatch' into maint
Instead of using custom line comparison and hashing functions to
implement "moved lines" coloring in the diff output, use the pair
of these functions from lower-layer xdiff/ code.
* sb/diff-color-moved-use-xdl-recmatch:
diff.c: get rid of duplicate implementation
xdiff-interface: export comparing and hashing strings
Junio C Hamano [Wed, 15 Nov 2017 03:04:51 +0000 (12:04 +0900)]
Merge branch 'jk/diff-color-moved-fix' into maint
The experimental "color moved lines differently in diff output"
feature was buggy around "ignore whitespace changes" edges, whihch
has been corrected.
* jk/diff-color-moved-fix:
diff: handle NULs in get_string_hash()
diff: fix whitespace-skipping with --color-moved
t4015: test the output of "diff --color-moved -b"
t4015: check "negative" case for "-w --color-moved"
t4015: refactor --color-moved whitespace test
Junio C Hamano [Wed, 15 Nov 2017 03:04:50 +0000 (12:04 +0900)]
Merge branch 'kd/auto-col-with-pager-fix' into maint
"auto" as a value for the columnar output configuration ought to
judge "is the output consumed by humans?" with the same criteria as
"auto" for coloured output configuration, i.e. either the standard
output stream is going to tty, or a pager is in use. We forgot the
latter, which has been fixed.
* kd/auto-col-with-pager-fix:
column: do not include pager.c
column: show auto columns when pager is active
Junio C Hamano [Wed, 15 Nov 2017 03:04:49 +0000 (12:04 +0900)]
Merge branch 'sg/travis-fixes' into maint
TravisCI build updates.
* sg/travis-fixes:
travis-ci: don't build Git for the static analysis job
travis-ci: fix running P4 and Git LFS tests in Linux build jobs
Junio C Hamano [Mon, 13 Nov 2017 05:44:59 +0000 (14:44 +0900)]
Merge branch 'jm/status-ignored-files-list'
The set of paths output from "git status --ignored" was tied
closely with its "--untracked=<mode>" option, but now it can be
controlled more flexibly. Most notably, a directory that is
ignored because it is listed to be ignored in the ignore/exclude
mechanism can be handled differently from a directory that ends up
to be ignored only because all files in it are ignored.
* jm/status-ignored-files-list:
status: test ignored modes
status: document options to show matching ignored files
status: report matching ignored and normal untracked
status: add option to show ignored files differently
Jeff King [Sun, 12 Nov 2017 10:27:39 +0000 (10:27 +0000)]
link_alt_odb_entries: make empty input a noop
If an empty string is passed to link_alt_odb_entries(), our
loop finds no entries and we link nothing. But we still do
some preparatory work to normalize the object directory
path, even though we'll never look at the result. This
triggers in basically every git process, since we feed the
usually-empty ALTERNATE_DB_ENVIRONMENT to the function.
Let's detect early that there's nothing to do and return.
While we're at it, let's treat NULL the same as an empty
string as a favor to our callers. That saves
prepare_alt_odb() from having to cover this case.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
brian m. carlson [Sun, 12 Nov 2017 22:07:18 +0000 (22:07 +0000)]
Documentation: convert SubmittingPatches to AsciiDoc
The SubmittingPatches document is often cited by outside parties as an
example of good practices to follow, including logical, independent
commits; patch sign-offs; and sending patches to a mailing list.
Currently, people who want to cite a particular section tend to either
refer to it by name and let the interested party search through the
document to find it, or link to a given line number on GitHub and hope
the file doesn't change.
Instead, convert the document to AsciiDoc. Build it as part of the
technical documentation, since it is likely of interest to the same
group of people. Provide stable links to the sections which outside
parties are likely to want to link to. Make some minor structural
changes to organize it so that it can be formatted sanely.
Since the makefile needs a .txt extension in order to build with the
rest of the documentation, simply copy the file. Ignore the temporary
file so it doesn't get checked in accidentally, and remove it as part of
the clean process. Do this instead of renaming the file so that people
who have already linked to the documentation (who we're trying to help)
don't find their links broken. Avoid symlinking since Windows will not
like that.
This allows us to render the document as part of the website for the
benefit of others who wish to link to it as well as providing a more
nicely formatted display for our community and potential contributors.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stephan Beyer [Sun, 12 Nov 2017 20:55:33 +0000 (21:55 +0100)]
bisect run: die if no command is given
It was possible to invoke "git bisect run" without any command.
This considers all commits as good commits since "$@"'s return
value for empty $@ is 0.
This is most probably not what a user wants (otherwise she would
invoke "git bisect run true"), so not providing a command now
results in an error.
Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Charles Bailey [Sun, 12 Nov 2017 16:59:38 +0000 (16:59 +0000)]
grep: fix NO_LIBPCRE1_JIT to fully disable JIT
If you have a pcre1 library which is compiled with JIT enabled then
PCRE_STUDY_JIT_COMPILE will be defined whether or not the
NO_LIBPCRE1_JIT configuration is set.
This means that we enable JIT functionality when calling pcre_study
even if NO_LIBPCRE1_JIT has been explicitly set and we just use plain
pcre_exec later.
Fix this by using own macro (GIT_PCRE_STUDY_JIT_COMPILE) which we set to
PCRE_STUDY_JIT_COMPILE only if NO_LIBPCRE1_JIT is not set and define to
0 otherwise, as before.
Reviewed-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Charles Bailey [Sun, 12 Nov 2017 15:25:23 +0000 (15:25 +0000)]
t4201: make use of abbreviation in the test more robust
The test for '--abbrev' in t4201-shortlog.sh assumes that the commits
generated in the test can always be uniquely abbreviated to 5 hex digits
but this is not always the case. If you were unlucky and happened to run
the test at (say) Thu Jun 22 03:04:49 2017 +0000, you would find that
the first commit generated would collide with a tree object created
later in the same test.
This can be simulated in the version of t4201-shortlog.sh prior to this
commit by setting GIT_COMMITTER_DATE and GIT_AUTHOR_DATE to
1498100689
after sourcing test-lib.sh.
Change the test to test --abbrev=35 instead of --abbrev=5 to almost
completely avoid the possibility of a partial collision and add a call
to test_tick in the setup to make the test repeatable (the latter alone
is sufficient to make it robust enough).
Signed-off-by: Charles Bailey <cbailey32@bloomberg.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Robert P. J. Day [Sun, 12 Nov 2017 09:30:38 +0000 (04:30 -0500)]
bisect: mention "view" as an alternative to "visualize"
Tweak a small number of files to mention "view" as an alternative to
"visualize".
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ben Peart [Fri, 10 Nov 2017 21:03:11 +0000 (16:03 -0500)]
fsmonitor: simplify determining the git worktree under Windows
Simplify and speed up the process of finding the git worktree when
running on Windows by keeping it in perl and avoiding spawning helper
processes.
Signed-off-by: Ben Peart <benpeart@microsoft.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sat, 11 Nov 2017 14:10:19 +0000 (15:10 +0100)]
apply: avoid out-of-bounds access in fuzzy_matchlines()
fuzzy_matchlines() uses a pointers to the first and last characters of
two lines to keep track while matching them. This makes it impossible
to deal with empty strings. It accesses characters before the start of
empty lines. It can also access characters after the end when checking
for trailing whitespace in the main loop.
Avoid that by using pointers to the first character and the one *after*
the last one. This is well-defined as long as the latter is not
dereferenced. Basically rewrite the function based on that premise; it
becomes much simpler as a result. There is no need to check for
leading whitespace outside of the main loop anymore.
Reported-by: Mahmoud Al-Qudsi <mqudsi@neosmart.net>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Dinwoodie [Fri, 10 Nov 2017 15:02:50 +0000 (15:02 +0000)]
doc/SubmittingPatches: correct subject guidance
The examples and common practice for adding markers such as "RFC" or
"v2" to the subject of patch emails is to have them within the same
brackets as the "PATCH" text, not after the closing bracket. Further,
the practice of `git format-patch` and the like, as well as what appears
to be the more common pratice on the mailing list, is to use "[RFC
PATCH]", not "[PATCH/RFC]".
Update the SubmittingPatches article to match and to reference the
`format-patch` helper arguments, and also make some minor text
clarifications in the area.
Signed-off-by: Adam Dinwoodie <adam@dinwoodie.org>
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Alex Vandiver [Thu, 9 Nov 2017 19:58:10 +0000 (11:58 -0800)]
fsmonitor: store fsmonitor bitmap before splitting index
ba1b9cac ("fsmonitor: delay updating state until after split index
is merged", 2017-10-27) resolved the problem of the fsmonitor data
being applied to the non-base index when reading; however, a similar
problem exists when writing the index. Specifically, writing of the
fsmonitor extension happens only after the work to split the index
has been applied -- as such, the information in the index is only
for the non-"base" index, and thus the extension information
contains only partial data.
When saving, compute the ewah bitmap before the index is split, and
store it in the fsmonitor_dirty field, mirroring the behavior that
occurred during reading. fsmonitor_dirty is kept from being leaked by
being freed when the extension data is written -- which always happens
precisely once, no matter the split index configuration.
Signed-off-by: Alex Vandiver <alexmv@dropbox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Alex Vandiver [Thu, 9 Nov 2017 19:58:09 +0000 (11:58 -0800)]
fsmonitor: read from getcwd(), not the PWD environment variable
Though the process has chdir'd to the root of the working tree, the
PWD environment variable is only guaranteed to be updated accordingly
if a shell is involved -- which is not guaranteed to be the case.
That is, if `/usr/bin/perl` is a binary, $ENV{PWD} is unchanged from
whatever spawned `git` -- if `/usr/bin/perl` is a trivial shell
wrapper to the real `perl`, `$ENV{PWD}` will have been updated to the
root of the working copy.
Update to read from the Cwd module using the `getcwd` syscall, not the
PWD environment variable. The Cygwin case is left unchanged, as it
necessarily _does_ go through a shell.
Signed-off-by: Alex Vandiver <alexmv@dropbox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 9 Nov 2017 05:36:39 +0000 (14:36 +0900)]
RelNotes: the third batch for 2.16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 9 Nov 2017 05:31:31 +0000 (14:31 +0900)]
Merge branch 'js/mingw-redirect-std-handles'
MinGW updates.
* js/mingw-redirect-std-handles:
mingw: document the standard handle redirection
mingw: optionally redirect stderr/stdout via the same handle
mingw: add experimental feature to redirect standard handles
Junio C Hamano [Thu, 9 Nov 2017 05:31:31 +0000 (14:31 +0900)]
Merge branch 'js/wincred-empty-cred'
MinGW updates.
* js/wincred-empty-cred:
wincred: handle empty username/password correctly
t0302: check helper can handle empty credentials
Junio C Hamano [Thu, 9 Nov 2017 05:31:31 +0000 (14:31 +0900)]
Merge branch 'js/mingw-full-version-in-resources'
MinGW updates.
* js/mingw-full-version-in-resources:
mingw: include the full version information in the resources
Junio C Hamano [Thu, 9 Nov 2017 05:31:30 +0000 (14:31 +0900)]
Merge branch 'dk/libsecret-unlock-to-load-fix'
The credential helper for libsecret (in contrib/) has been improved
to allow possibly prompting the end user to unlock secrets that are
currently locked (otherwise the secrets may not be loaded).
* dk/libsecret-unlock-to-load-fix:
credential-libsecret: unlock locked secrets
Junio C Hamano [Thu, 9 Nov 2017 05:31:29 +0000 (14:31 +0900)]
Merge branch 'ks/mailmap'
* ks/mailmap:
mailmap: use Kaartic Sivaraam's new address
Junio C Hamano [Thu, 9 Nov 2017 05:31:29 +0000 (14:31 +0900)]
Merge branch 'js/early-config'
Correct start-up sequence so that a repository could be placed
immediately under the root directory again (which was broken at
around Git 2.13).
* js/early-config:
setup: avoid double slashes when looking for HEAD
Junio C Hamano [Thu, 9 Nov 2017 05:31:28 +0000 (14:31 +0900)]
Merge branch 'sg/travis-fixes'
TravisCI build updates.
* sg/travis-fixes:
travis-ci: don't build Git for the static analysis job
travis-ci: fix running P4 and Git LFS tests in Linux build jobs
Junio C Hamano [Thu, 9 Nov 2017 05:31:27 +0000 (14:31 +0900)]
Merge branch 'bw/diff-opt-impl-to-bitfields'
A single-word "unsigned flags" in the diff options is being split
into a structure with many bitfields.
* bw/diff-opt-impl-to-bitfields:
diff: make struct diff_flags members lowercase
diff: remove DIFF_OPT_CLR macro
diff: remove DIFF_OPT_SET macro
diff: remove DIFF_OPT_TST macro
diff: remove touched flags
diff: add flag to indicate textconv was set via cmdline
diff: convert flags to be stored in bitfields
add, reset: use DIFF_OPT_SET macro to set a diff flag
Junio C Hamano [Thu, 9 Nov 2017 05:31:27 +0000 (14:31 +0900)]
Merge branch 'rs/hex-to-bytes-cleanup'
Code cleanup.
* rs/hex-to-bytes-cleanup:
sha1_file: use hex_to_bytes()
http-push: use hex_to_bytes()
notes: move hex_to_bytes() to hex.c and export it
Junio C Hamano [Thu, 9 Nov 2017 05:31:27 +0000 (14:31 +0900)]
Merge branch 'ad/5580-unc-tests-on-cygwin'
UNC paths are also relevant in Cygwin builds and they are now
tested just like Mingw builds.
* ad/5580-unc-tests-on-cygwin:
t5580: add Cygwin support
Junio C Hamano [Thu, 9 Nov 2017 05:31:26 +0000 (14:31 +0900)]
Merge branch 'ao/diff-populate-filespec-lstat-errorpath-fix'
After an error from lstat(), diff_populate_filespec() function
sometimes still went ahead and used invalid data in struct stat,
which has been fixed.
* ao/diff-populate-filespec-lstat-errorpath-fix:
diff: fix lstat() error handling in diff_populate_filespec()
Junio C Hamano [Thu, 9 Nov 2017 05:31:25 +0000 (14:31 +0900)]
Merge branch 'sb/blame-config-doc'
Description of blame.{showroot,blankboundary,showemail,date}
configuration variables have been added to "git config --help".
* sb/blame-config-doc:
config: document blame configuration
Junio C Hamano [Thu, 9 Nov 2017 05:31:25 +0000 (14:31 +0900)]
Merge branch 'jm/relnotes-2.15-typofix'
Typofix.
* jm/relnotes-2.15-typofix:
fix typos in 2.15.0 release notes
Junio C Hamano [Thu, 9 Nov 2017 04:24:43 +0000 (13:24 +0900)]
Merge branch 'tz/fsf-address-update' of ../git-gui into tz/fsf-address-update
* 'tz/fsf-address-update' of ../git-gui:
Replace Free Software Foundation address in license notices
Todd Zullinger [Tue, 7 Nov 2017 05:39:33 +0000 (00:39 -0500)]
Replace Free Software Foundation address in license notices
The mailing address for the FSF has changed over the years. Rather than
updating the address across all files, refer readers to gnu.org, as the
GNU GPL documentation now suggests for license notices. The mailing
address is retained in the full license files (COPYING and LGPL-2.1).
Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Todd Zullinger [Tue, 7 Nov 2017 05:39:33 +0000 (00:39 -0500)]
Replace Free Software Foundation address in license notices
The mailing address for the FSF has changed over the years. Rather than
updating the address across all files, refer readers to gnu.org, as the
GNU GPL documentation now suggests for license notices. The mailing
address is retained in the full license files (COPYING and LGPL-2.1).
The old address is still present in t/diff-lib/COPYING. This is
intentional, as the file is used in tests and the contents are not
expected to change.
Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Dinwoodie [Wed, 8 Nov 2017 13:20:20 +0000 (13:20 +0000)]
rebase -i: fix comment typo
Signed-off-by: Adam Dinwoodie <adam@dinwoodie.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin Ågren [Tue, 7 Nov 2017 20:39:45 +0000 (21:39 +0100)]
reduce_heads: fix memory leaks
We currently have seven callers of `reduce_heads(foo)`. Six of them do
not use the original list `foo` again, and actually, all six of those
end up leaking it.
Introduce and use `reduce_heads_replace(&foo)` as a leak-free version of
`foo = reduce_heads(foo)` to fix several of these. Fix the remaining
leaks using `free_commit_list()`.
While we're here, document `reduce_heads()` and mark it as `extern`.
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>