gitweb.git
sane_grep: pass "-a" if grep accepts itJunio C Hamano Tue, 8 Mar 2016 23:47:57 +0000 (15:47 -0800)

sane_grep: pass "-a" if grep accepts it

Newer versions of GNU grep is reported to be pickier when we feed a
non-ASCII input and break some Porcelain scripts. As we know we do
not feed random binary file to our own sane_grep wrapper, allow us
to always pass "-a" by setting SANE_TEXT_GREP=-a Makefile variable
to work it around.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 2.8-rc2 v2.8.0-rc2Junio C Hamano Thu, 10 Mar 2016 19:16:23 +0000 (11:16 -0800)

Git 2.8-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with 2.7.3Junio C Hamano Thu, 10 Mar 2016 19:15:50 +0000 (11:15 -0800)

Sync with 2.7.3

Git 2.7.3 v2.7.3Junio C Hamano Thu, 10 Mar 2016 19:13:13 +0000 (11:13 -0800)

Git 2.7.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ma/update-hooks-sample-typofix' into... Junio C Hamano Thu, 10 Mar 2016 19:13:50 +0000 (11:13 -0800)

Merge branch 'ma/update-hooks-sample-typofix' into maint

* ma/update-hooks-sample-typofix:
templates/hooks: fix minor typo in the sample update-hook

Merge branch 'dt/initial-ref-xn-commit-doc' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:49 +0000 (11:13 -0800)

Merge branch 'dt/initial-ref-xn-commit-doc' into maint

* dt/initial-ref-xn-commit-doc:
refs: document transaction semantics

Merge branch 'ps/plug-xdl-merge-leak' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:49 +0000 (11:13 -0800)

Merge branch 'ps/plug-xdl-merge-leak' into maint

* ps/plug-xdl-merge-leak:
xdiff/xmerge: fix memory leak in xdl_merge

Merge branch 'ak/git-strip-extension-from-dashed-comman... Junio C Hamano Thu, 10 Mar 2016 19:13:48 +0000 (11:13 -0800)

Merge branch 'ak/git-strip-extension-from-dashed-command' into maint

Code simplification.

* ak/git-strip-extension-from-dashed-command:
git.c: simplify stripping extension of a file in handle_builtin()

Merge branch 'ak/extract-argv0-last-dir-sep' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:47 +0000 (11:13 -0800)

Merge branch 'ak/extract-argv0-last-dir-sep' into maint

Code simplification.

* ak/extract-argv0-last-dir-sep:
exec_cmd.c: use find_last_dir_sep() for code simplification

Merge branch 'jk/pack-idx-corruption-safety' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:46 +0000 (11:13 -0800)

Merge branch 'jk/pack-idx-corruption-safety' into maint

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.

* jk/pack-idx-corruption-safety:
sha1_file.c: mark strings for translation
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

Merge branch 'js/config-set-in-non-repository' into... Junio C Hamano Thu, 10 Mar 2016 19:13:45 +0000 (11:13 -0800)

Merge branch 'js/config-set-in-non-repository' into maint

"git config section.var value" to set a value in per-repository
configuration file failed when it was run outside any repository,
but didn't say the reason correctly.

* js/config-set-in-non-repository:
git config: report when trying to modify a non-existing repo config

Merge branch 'sb/submodule-module-list-fix' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:45 +0000 (11:13 -0800)

Merge branch 'sb/submodule-module-list-fix' into maint

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.

* sb/submodule-module-list-fix:
submodule helper list: respect correct path prefix

Merge branch 'jk/grep-binary-workaround-in-test' into... Junio C Hamano Thu, 10 Mar 2016 19:13:45 +0000 (11:13 -0800)

Merge branch 'jk/grep-binary-workaround-in-test' into maint

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/grep-binary-workaround-in-test:
t9200: avoid grep on non-ASCII data
t8005: avoid grep on non-ASCII data

Merge branch 'mm/push-simple-doc' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:44 +0000 (11:13 -0800)

Merge branch 'mm/push-simple-doc' into maint

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/push-simple-doc:
Documentation/git-push: document that 'simple' is the default

Merge branch 'jk/tighten-alloc' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:43 +0000 (11:13 -0800)

Merge branch 'jk/tighten-alloc' into maint

* jk/tighten-alloc: (23 commits)
compat/mingw: brown paper bag fix for 50a6c8e
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
...

Merge branch 'jk/more-comments-on-textconv' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:42 +0000 (11:13 -0800)

Merge branch 'jk/more-comments-on-textconv' into maint

The memory ownership rule of fill_textconv() API, which was a bit
tricky, has been documented a bit better.

* jk/more-comments-on-textconv:
diff: clarify textconv interface

Merge branch 'jk/no-diff-emit-common' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:41 +0000 (11:13 -0800)

Merge branch 'jk/no-diff-emit-common' into maint

"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/no-diff-emit-common:
xdiff: drop XDL_EMIT_COMMON
merge-tree: drop generate_common strategy
merge-one-file: use empty blob for add/add base

Merge branch 'jc/am-i-v-fix' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:40 +0000 (11:13 -0800)

Merge branch 'jc/am-i-v-fix' into maint

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.

* jc/am-i-v-fix:
am -i: fix "v"iew
pager: factor out a helper to prepare a child process to run the pager
pager: lose a separate argv[]

Merge branch 'nd/git-common-dir-fix' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:39 +0000 (11:13 -0800)

Merge branch 'nd/git-common-dir-fix' into maint

"git rev-parse --git-common-dir" used in the worktree feature
misbehaved when run from a subdirectory.

* nd/git-common-dir-fix:
rev-parse: take prefix into account in --git-common-dir

Merge branch 'nd/dwim-wildcards-as-pathspecs' into... Junio C Hamano Thu, 10 Mar 2016 19:13:39 +0000 (11:13 -0800)

Merge branch 'nd/dwim-wildcards-as-pathspecs' into maint

"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/dwim-wildcards-as-pathspecs:
get_sha1: don't die() on bogus search strings
check_filename: tighten dwim-wildcard ambiguity
checkout: reorder check_filename conditional

Merge branch 'jk/epipe-in-async' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:38 +0000 (11:13 -0800)

Merge branch 'jk/epipe-in-async' into maint

Handling of errors while writing into our internal asynchronous
process has been made more robust, which reduces flakiness in our
tests.

* jk/epipe-in-async:
t5504: handle expected output from SIGPIPE death
test_must_fail: report number of unexpected signal
fetch-pack: ignore SIGPIPE in sideband demuxer
write_or_die: handle EPIPE in async threads

Merge branch 'ps/config-error' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:38 +0000 (11:13 -0800)

Merge branch 'ps/config-error' into maint

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/config-error:
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

Merge branch 'mg/work-tree-tests' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:38 +0000 (11:13 -0800)

Merge branch 'mg/work-tree-tests' into maint

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.

* mg/work-tree-tests:
tests: rename work-tree tests to *work-tree*

Merge branch 'sp/remote-curl-ssl-strerror' into maintJunio C Hamano Thu, 10 Mar 2016 19:13:37 +0000 (11:13 -0800)

Merge branch 'sp/remote-curl-ssl-strerror' into maint

Help those who debug http(s) part of the system.

* sp/remote-curl-ssl-strerror:
remote-curl: include curl_errorstr on SSL setup failures

Merge branch 'jx/http-no-proxy'Junio C Hamano Thu, 10 Mar 2016 18:56:43 +0000 (10:56 -0800)

Merge branch 'jx/http-no-proxy'

* jx/http-no-proxy:
http: honor no_http env variable to bypass proxy

Merge branch 'jc/exclusion-doc'Junio C Hamano Thu, 10 Mar 2016 18:56:43 +0000 (10:56 -0800)

Merge branch 'jc/exclusion-doc'

* jc/exclusion-doc:
gitignore: document that unignoring a directory unignores everything in it

Merge branch 'js/close-packs-before-gc'Junio C Hamano Thu, 10 Mar 2016 18:56:42 +0000 (10:56 -0800)

Merge branch 'js/close-packs-before-gc'

A small future-proofing of a test added recently.

* js/close-packs-before-gc:
t5510: do not leave changed cwd

Merge branch 'sb/rebase-summary'Junio C Hamano Thu, 10 Mar 2016 18:56:41 +0000 (10:56 -0800)

Merge branch 'sb/rebase-summary'

* sb/rebase-summary:
Documentation: reword rebase summary

Disown ssh+git and git+sshCarlos Martín Nieto Mon, 15 Feb 2016 14:29:06 +0000 (15:29 +0100)

Disown ssh+git and git+ssh

Some people argue that these were silly from the beginning (see
http://thread.gmane.org/gmane.comp.version-control.git/285590/focus=285601
for example), but we have to support them for compatibility.

That doesn't mean we have to show them in the documentation. These
were already left out of the main list, but a reference in the main
manpage was left, so remove that.

Also add a note to discourage their use if anybody goes looking for them
in the source code.

Signed-off-by: Carlos Martín Nieto <cmn@dwim.me>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitignore: document that unignoring a directory unignor... Junio C Hamano Mon, 7 Mar 2016 23:27:27 +0000 (15:27 -0800)

gitignore: document that unignoring a directory unignores everything in it

Also document another limitation coming from a bug in handling the
basename match with a directory for 're-inclusion'.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: de.po: translate 48 new messagesRalf Thielow Wed, 2 Mar 2016 17:13:32 +0000 (18:13 +0100)

l10n: de.po: translate 48 new messages

Translate 48 new messages came from git.pot update in
9eb3984 (l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Matthias Rüster <matthias.ruester@gmail.com>

l10n: de.po: translate "command" as "Befehl"Ralf Thielow Thu, 3 Mar 2016 18:00:35 +0000 (19:00 +0100)

l10n: de.po: translate "command" as "Befehl"

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Phillip Sz <phillip.szelat@gmail.com>

l10n: de.po: fix interactive rebase messageRalf Thielow Wed, 2 Mar 2016 17:34:19 +0000 (18:34 +0100)

l10n: de.po: fix interactive rebase message

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>

l10n: de.po: add space to abbreviation "z. B."Ralf Thielow Wed, 2 Mar 2016 17:27:42 +0000 (18:27 +0100)

l10n: de.po: add space to abbreviation "z. B."

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Phillip Sz <phillip.szelat@gmail.com>

l10n: de.po: fix typoChristoph Hoopmann Wed, 2 Mar 2016 11:46:26 +0000 (12:46 +0100)

l10n: de.po: fix typo

Signed-off-by: Christoph Hoopmann <christophhoopmann@gmail.com>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>

l10n: TEAMS: update Ralf Thielow's email addressRalf Thielow Thu, 3 Mar 2016 20:48:25 +0000 (21:48 +0100)

l10n: TEAMS: update Ralf Thielow's email address

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

Merge branch 'master' of git://github.com/nafmo/git... Jiang Xin Sat, 5 Mar 2016 02:06:20 +0000 (10:06 +0800)

Merge branch 'master' of git://github.com/nafmo/git-l10n-sv

* 'master' of git://github.com/nafmo/git-l10n-sv:
l10n: sv.po: Update Swedish translation (2509t0f0u)
l10n: sv.po: Fix inconsistent translation of "progress meter"

Merge branch 'ko/merge-l10n' of https://github.com... Jiang Xin Sat, 5 Mar 2016 02:05:32 +0000 (10:05 +0800)

Merge branch 'ko/merge-l10n' of https://github.com/changwoo/git-l10n-ko

* 'ko/merge-l10n' of https://github.com/changwoo/git-l10n-ko:
l10n: ko.po: Update Korean translation

Git 2.8-rc1 v2.8.0-rc1Junio C Hamano Fri, 4 Mar 2016 21:48:55 +0000 (13:48 -0800)

Git 2.8-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'nd/clear-gitenv-upon-use-of-alias'Junio C Hamano Fri, 4 Mar 2016 21:46:44 +0000 (13:46 -0800)

Merge branch 'nd/clear-gitenv-upon-use-of-alias'

Hotfix for a test breakage made between 2.7 and 'master'.

* nd/clear-gitenv-upon-use-of-alias:
t0001: fix GIT_* environment variable check under --valgrind

Merge branch 'js/pthread-exit-emu-windows'Junio C Hamano Fri, 4 Mar 2016 21:46:39 +0000 (13:46 -0800)

Merge branch 'js/pthread-exit-emu-windows'

* js/pthread-exit-emu-windows:
Mark win32's pthread_exit() as NORETURN

Merge branch 'sb/submodule-parallel-fetch'Junio C Hamano Fri, 4 Mar 2016 21:46:30 +0000 (13:46 -0800)

Merge branch 'sb/submodule-parallel-fetch'

Simplify the two callback functions that are triggered when the
child process terminates to avoid misuse of the child-process
structure that has already been cleaned up.

* sb/submodule-parallel-fetch:
run-command: do not pass child process data into callbacks

Merge branch 'jk/tighten-alloc'Junio C Hamano Fri, 4 Mar 2016 21:46:25 +0000 (13:46 -0800)

Merge branch 'jk/tighten-alloc'

* jk/tighten-alloc:
compat/mingw: brown paper bag fix for 50a6c8e

Merge branch 'nd/i18n-2.8.0'Junio C Hamano Fri, 4 Mar 2016 21:46:20 +0000 (13:46 -0800)

Merge branch 'nd/i18n-2.8.0'

* nd/i18n-2.8.0:
trailer.c: mark strings for translation
ref-filter.c: mark strings for translation
builtin/clone.c: mark strings for translation
builtin/checkout.c: mark strings for translation

Merge branch 'tb/avoid-gcc-on-darwin-10-6'Junio C Hamano Fri, 4 Mar 2016 21:46:08 +0000 (13:46 -0800)

Merge branch 'tb/avoid-gcc-on-darwin-10-6'

Out-of-maintenance gcc on OSX 10.6 fails to compile the code in
'master'; work it around by using clang by default on the platform.

* tb/avoid-gcc-on-darwin-10-6:
config.mak.uname: use clang for Mac OS X 10.6

Merge branch 'jk/pack-idx-corruption-safety'Junio C Hamano Fri, 4 Mar 2016 21:45:46 +0000 (13:45 -0800)

Merge branch 'jk/pack-idx-corruption-safety'

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.

* jk/pack-idx-corruption-safety:
sha1_file.c: mark strings for translation
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

Merge branch 'mg/httpd-tests-update-for-apache-2.4'Junio C Hamano Fri, 4 Mar 2016 21:45:42 +0000 (13:45 -0800)

Merge branch 'mg/httpd-tests-update-for-apache-2.4'

The way the test scripts configure the Apache web server has been
updated to work also for Apache 2.4 running on RedHat derived
distros.

* mg/httpd-tests-update-for-apache-2.4:
t/lib-httpd: load mod_unixd

t5510: do not leave changed cwdMichael J Gruber Fri, 4 Mar 2016 10:53:50 +0000 (11:53 +0100)

t5510: do not leave changed cwd

t5510 carefully keeps the cwd at the test root by using either subshells
or explicit cd'ing back to the root. Use a subshell for the last
subtest, too.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'js/mingw-tests'Junio C Hamano Fri, 4 Mar 2016 18:14:39 +0000 (10:14 -0800)

Merge branch 'js/mingw-tests'

* js/mingw-tests:
t9700: fix test for perl older than 5.14

t9700: fix test for perl older than 5.14Jeff King Fri, 4 Mar 2016 11:43:21 +0000 (06:43 -0500)

t9700: fix test for perl older than 5.14

Commit d53c2c6 (mingw: fix t9700's assumption about
directory separators, 2016-01-27) uses perl's "/r" regex
modifier to do a non-destructive replacement on a string,
leaving the original unmodified and returning the result.

This feature was introduced in perl 5.14, but systems with
older perl are still common (e.g., CentOS 6.5 still has perl
5.10). Let's work around it by providing a helper function
that does the same thing using older syntax.

While we're at it, let's switch to using an alternate regex
separator, which is slightly more readable.

Reported-by: Christian Couder <christian.couder@gmail.com>
Helped-by: Dennis Kaarsemaker <dennis@kaarsemaker.net>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: sv.po: Update Swedish translation (2509t0f0u)Peter Krefting Fri, 4 Mar 2016 14:22:46 +0000 (15:22 +0100)

l10n: sv.po: Update Swedish translation (2509t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>

l10n: sv.po: Fix inconsistent translation of "progress... Peter Krefting Wed, 3 Feb 2016 19:27:59 +0000 (20:27 +0100)

l10n: sv.po: Fix inconsistent translation of "progress meter"

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>

documentation: fix some typosThomas Ackermann Thu, 3 Mar 2016 18:43:51 +0000 (19:43 +0100)

documentation: fix some typos

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0001: fix GIT_* environment variable check under ... Johannes Sixt Thu, 3 Mar 2016 06:55:17 +0000 (07:55 +0100)

t0001: fix GIT_* environment variable check under --valgrind

When a test case is run without --valgrind, the wrap-for-bin.sh
helper script inserts the environment variable GIT_TEXTDOMAINDIR, but
when run with --valgrind, the variable is missing. A recently
introduced test case expects the presence of the variable, though, and
fails under --valgrind.

Rewrite the test case to strip conditially defined environment variables
from both expected and actual output.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: ko.po: Update Korean translationChangwoo Ryu Thu, 3 Mar 2016 04:14:28 +0000 (13:14 +0900)

l10n: ko.po: Update Korean translation

Signed-off-by: Changwoo Ryu <cwryu@debian.org>

Documentation: reword rebase summaryStefan Beller Tue, 1 Mar 2016 22:49:58 +0000 (14:49 -0800)

Documentation: reword rebase summary

The wording is introduced in c3f0baaca (Documentation: sync git.txt
command list and manual page title, 2007-01-18), but rebase has evolved
since then, capture the modern usage by being more generic about the
rebase command in the summary.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Mark win32's pthread_exit() as NORETURNJohannes Schindelin Wed, 2 Mar 2016 19:11:13 +0000 (20:11 +0100)

Mark win32's pthread_exit() as NORETURN

The pthread_exit() function is not expected to return. Ever. On Windows,
we call ExitThread() whose documentation claims: "Ends the calling
thread", i.e. there is no condition in which this function simply
returns: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682659

While at it, fix the return type to be void, as per
http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_exit.html

Pointed out by Jeff King, helped by Stefan Naewe, Junio Hamano &
Johannes Sixt.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: ru.po: update Russian translationDimitriy Ryazantcev Wed, 2 Mar 2016 15:37:55 +0000 (17:37 +0200)

l10n: ru.po: update Russian translation

Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>

run-command: do not pass child process data into callbacksStefan Beller Mon, 29 Feb 2016 21:57:06 +0000 (13:57 -0800)

run-command: do not pass child process data into callbacks

The expected way to pass data into the callback is to pass them via
the customizable callback pointer. The error reporting in
default_{start_failure, task_finished} is not user friendly enough, that
we want to encourage using the child data for such purposes.

Furthermore the struct child data is cleaned by the run-command API,
before we access them in the callbacks, leading to use-after-free
situations.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

trailer.c: mark strings for translationNguyễn Thái Ngọc Duy Sat, 27 Feb 2016 06:42:10 +0000 (13:42 +0700)

trailer.c: mark strings for translation

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ref-filter.c: mark strings for translationNguyễn Thái Ngọc Duy Sat, 27 Feb 2016 06:42:04 +0000 (13:42 +0700)

ref-filter.c: mark strings for translation

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/clone.c: mark strings for translationNguyễn Thái Ngọc Duy Sat, 27 Feb 2016 06:41:55 +0000 (13:41 +0700)

builtin/clone.c: mark strings for translation

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/checkout.c: mark strings for translationNguyễn Thái Ngọc Duy Sat, 27 Feb 2016 06:41:54 +0000 (13:41 +0700)

builtin/checkout.c: mark strings for translation

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http: honor no_http env variable to bypass proxyJiang Xin Mon, 29 Feb 2016 15:16:57 +0000 (23:16 +0800)

http: honor no_http env variable to bypass proxy

Curl and its families honor several proxy related environment variables:

* http_proxy and https_proxy define proxy for http/https connections.
* no_proxy (a comma separated hosts) defines hosts bypass the proxy.

This command will bypass the bad-proxy and connect to the host directly:

no_proxy=* https_proxy=http://bad-proxy/ \
curl -sk https://google.com/

Before commit 372370f (http: use credential API to handle proxy auth...),
Environment variable "no_proxy" will take effect if the config variable
"http.proxy" is not set. So the following comamnd won't fail if not
behind a firewall.

no_proxy=* https_proxy=http://bad-proxy/ \
git ls-remote https://github.com/git/git

But commit 372370f not only read git config variable "http.proxy", but
also read "http_proxy" and "https_proxy" environment variables, and set
the curl option using:

curl_easy_setopt(result, CURLOPT_PROXY, proxy_auth.host);

This caused "no_proxy" environment variable not working any more.

Set extra curl option "CURLOPT_NOPROXY" will fix this issue.

Signed-off-by: Jiang Xin <xin.jiang@huawei.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

compat/mingw: brown paper bag fix for 50a6c8eJeff King Mon, 29 Feb 2016 10:02:59 +0000 (05:02 -0500)

compat/mingw: brown paper bag fix for 50a6c8e

Commit 50a6c8e (use st_add and st_mult for allocation size
computation, 2016-02-22) fixed up many xmalloc call-sites
including ones in compat/mingw.c.

But I screwed up one of them, which was half-converted to
ALLOC_ARRAY, using a very early prototype of the function.
And I never caught it because I don't build on Windows.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'master' of https://github.com/vnwildman/gitJiang Xin Mon, 29 Feb 2016 15:31:58 +0000 (23:31 +0800)

Merge branch 'master' of https://github.com/vnwildman/git

* 'master' of https://github.com/vnwildman/git:
l10n: vi.po (2509t): Updated Vietnamese translation

l10n: vi.po (2509t): Updated Vietnamese translationTran Ngoc Quan Mon, 29 Feb 2016 00:47:45 +0000 (07:47 +0700)

l10n: vi.po (2509t): Updated Vietnamese translation

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>

config.mak.uname: use clang for Mac OS X 10.6Torsten Bögershausen Sun, 28 Feb 2016 20:09:44 +0000 (21:09 +0100)

config.mak.uname: use clang for Mac OS X 10.6

Gcc under Mac OX 10.6 throws an internal compiler error:

CC combine-diff.o
combine-diff.c: In function ‘diff_tree_combined’:
combine-diff.c:1391: internal compiler error: Segmentation fault

while attempting to build Git at 5b442c4f (tree-diff: catch integer
overflow in combine_diff_path allocation, 2016-02-19).

As clang that ships with the version does not have the same bug,
make Git compile under Mac OS X 10.6 by using clang instead of gcc
to work this around, as it is unlikely that we will see fixed GCC
on that platform.

Later versions of Mac OSX/Xcode only provide clang, and gcc is a
wrapper to it.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: fr.po v2.8.0 round 1 2509tJean-Noel Avila Sun, 28 Feb 2016 21:44:35 +0000 (22:44 +0100)

l10n: fr.po v2.8.0 round 1 2509t

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>

l10n: fr.po: Correct case in sentenceAudric Schiltknecht Thu, 4 Feb 2016 18:37:23 +0000 (13:37 -0500)

l10n: fr.po: Correct case in sentence

Signed-off-by: Audric Schiltknecht <storm@chemicalstorm.org>

l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)Jiang Xin Sun, 28 Feb 2016 12:32:52 +0000 (20:32 +0800)

l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)

Generate po/git.pot from v2.8.0-rc0 for git v2.8.0 l10n round 1.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

sha1_file.c: mark strings for translationNguyễn Thái Ngọc Duy Sat, 27 Feb 2016 07:49:33 +0000 (14:49 +0700)

sha1_file.c: mark strings for translation

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 2.8-rc0 v2.8.0-rc0Junio C Hamano Fri, 26 Feb 2016 21:45:26 +0000 (13:45 -0800)

Git 2.8-rc0

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'mm/readme-markdown'Junio C Hamano Fri, 26 Feb 2016 21:37:28 +0000 (13:37 -0800)

Merge branch 'mm/readme-markdown'

README has been renamed to README.md and its contents got tweaked
slightly to make it easier on the eyes.

* mm/readme-markdown:
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

Merge branch 'ma/update-hooks-sample-typofix'Junio C Hamano Fri, 26 Feb 2016 21:37:28 +0000 (13:37 -0800)

Merge branch 'ma/update-hooks-sample-typofix'

* ma/update-hooks-sample-typofix:
templates/hooks: fix minor typo in the sample update-hook

Merge branch 'ls/makefile-cflags-developer-tweak'Junio C Hamano Fri, 26 Feb 2016 21:37:27 +0000 (13:37 -0800)

Merge branch 'ls/makefile-cflags-developer-tweak'

There is a new DEVELOPER knob that enables many compiler warning
options in the Makefile.

* ls/makefile-cflags-developer-tweak:
add DEVELOPER makefile knob to check for acknowledged warnings

Merge branch 'dt/initial-ref-xn-commit-doc'Junio C Hamano Fri, 26 Feb 2016 21:37:27 +0000 (13:37 -0800)

Merge branch 'dt/initial-ref-xn-commit-doc'

* dt/initial-ref-xn-commit-doc:
refs: document transaction semantics

Merge branch 'js/config-set-in-non-repository'Junio C Hamano Fri, 26 Feb 2016 21:37:26 +0000 (13:37 -0800)

Merge branch 'js/config-set-in-non-repository'

"git config section.var value" to set a value in per-repository
configuration file failed when it was run outside any repository,
but didn't say the reason correctly.

* js/config-set-in-non-repository:
git config: report when trying to modify a non-existing repo config

Merge branch 'jk/epipe-in-async'Junio C Hamano Fri, 26 Feb 2016 21:37:26 +0000 (13:37 -0800)

Merge branch 'jk/epipe-in-async'

Handling of errors while writing into our internal asynchronous
process has been made more robust, which reduces flakiness in our
tests.

* jk/epipe-in-async:
t5504: handle expected output from SIGPIPE death
test_must_fail: report number of unexpected signal
fetch-pack: ignore SIGPIPE in sideband demuxer
write_or_die: handle EPIPE in async threads

Merge branch 'mm/push-default-warning'Junio C Hamano Fri, 26 Feb 2016 21:37:25 +0000 (13:37 -0800)

Merge branch 'mm/push-default-warning'

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-default-warning:
push: remove "push.default is unset" warning message

Merge branch 'fa/merge-recursive-no-rename'Junio C Hamano Fri, 26 Feb 2016 21:37:25 +0000 (13:37 -0800)

Merge branch 'fa/merge-recursive-no-rename'

"git merge-recursive" learned "--no-renames" option to disable its
rename detection logic.

* fa/merge-recursive-no-rename:
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
merge-recursive: more consistent interface
merge-recursive: option to disable renames

Merge branch 'sb/submodule-fetch-nontip'Junio C Hamano Fri, 26 Feb 2016 21:37:24 +0000 (13:37 -0800)

Merge branch 'sb/submodule-fetch-nontip'

When "git submodule update" did not result in fetching the commit
object in the submodule that is referenced by the superproject, the
command learned to retry another fetch, specifically asking for
that commit that may not be connected to the refs it usually
fetches.

* sb/submodule-fetch-nontip:
submodule: try harder to fetch needed sha1 by direct fetching sha1

Merge branch 'sb/submodule-module-list-fix'Junio C Hamano Fri, 26 Feb 2016 21:37:24 +0000 (13:37 -0800)

Merge branch 'sb/submodule-module-list-fix'

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.

* sb/submodule-module-list-fix:
submodule helper list: respect correct path prefix

Merge branch 'tb/conversion'Junio C Hamano Fri, 26 Feb 2016 21:37:23 +0000 (13:37 -0800)

Merge branch 'tb/conversion'

Code simplification.

* tb/conversion:
convert.c: correct attr_action()
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()

Merge branch 'jk/grep-binary-workaround-in-test'Junio C Hamano Fri, 26 Feb 2016 21:37:23 +0000 (13:37 -0800)

Merge branch 'jk/grep-binary-workaround-in-test'

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/grep-binary-workaround-in-test:
t9200: avoid grep on non-ASCII data
t8005: avoid grep on non-ASCII data

Merge branch 'ps/plug-xdl-merge-leak'Junio C Hamano Fri, 26 Feb 2016 21:37:22 +0000 (13:37 -0800)

Merge branch 'ps/plug-xdl-merge-leak'

* ps/plug-xdl-merge-leak:
xdiff/xmerge: fix memory leak in xdl_merge

Merge branch 'mm/push-simple-doc'Junio C Hamano Fri, 26 Feb 2016 21:37:21 +0000 (13:37 -0800)

Merge branch 'mm/push-simple-doc'

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/push-simple-doc:
Documentation/git-push: document that 'simple' is the default

Merge branch 'jg/credential-cache-chdir-to-sockdir'Junio C Hamano Fri, 26 Feb 2016 21:37:20 +0000 (13:37 -0800)

Merge branch 'jg/credential-cache-chdir-to-sockdir'

The "credential-cache" daemon process used to run in whatever
directory it happened to start in, but this made umount(2)ing the
filesystem that houses the repository harder; now the process
chdir()s to the directory that house its own socket on startup.

* jg/credential-cache-chdir-to-sockdir:
credential-cache--daemon: change to the socket dir on startup
credential-cache--daemon: disallow relative socket path
credential-cache--daemon: refactor check_socket_directory

Merge branch 'ps/config-error'Junio C Hamano Fri, 26 Feb 2016 21:37:19 +0000 (13:37 -0800)

Merge branch 'ps/config-error'

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/config-error:
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

Merge branch 'mg/work-tree-tests'Junio C Hamano Fri, 26 Feb 2016 21:37:18 +0000 (13:37 -0800)

Merge branch 'mg/work-tree-tests'

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.

* mg/work-tree-tests:
tests: rename work-tree tests to *work-tree*

Merge branch 'ls/config-origin'Junio C Hamano Fri, 26 Feb 2016 21:37:17 +0000 (13:37 -0800)

Merge branch 'ls/config-origin'

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/config-origin:
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'

Merge branch 'jk/tighten-alloc'Junio C Hamano Fri, 26 Feb 2016 21:37:16 +0000 (13:37 -0800)

Merge branch 'jk/tighten-alloc'

Update various codepaths to avoid manually-counted malloc().

* jk/tighten-alloc: (22 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
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
...

Merge branch 'jk/more-comments-on-textconv'Junio C Hamano Fri, 26 Feb 2016 21:37:15 +0000 (13:37 -0800)

Merge branch 'jk/more-comments-on-textconv'

The memory ownership rule of fill_textconv() API, which was a bit
tricky, has been documented a bit better.

* jk/more-comments-on-textconv:
diff: clarify textconv interface

Merge branch 'jk/no-diff-emit-common'Junio C Hamano Fri, 26 Feb 2016 21:37:14 +0000 (13:37 -0800)

Merge branch 'jk/no-diff-emit-common'

"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/no-diff-emit-common:
xdiff: drop XDL_EMIT_COMMON
merge-tree: drop generate_common strategy
merge-one-file: use empty blob for add/add base

Merge branch 'ak/git-strip-extension-from-dashed-command'Junio C Hamano Fri, 26 Feb 2016 21:37:13 +0000 (13:37 -0800)

Merge branch 'ak/git-strip-extension-from-dashed-command'

Code simplification.

* ak/git-strip-extension-from-dashed-command:
git.c: simplify stripping extension of a file in handle_builtin()

Merge branch 'ak/extract-argv0-last-dir-sep'Junio C Hamano Fri, 26 Feb 2016 21:37:12 +0000 (13:37 -0800)

Merge branch 'ak/extract-argv0-last-dir-sep'

Code simplification.

* ak/extract-argv0-last-dir-sep:
exec_cmd.c: use find_last_dir_sep() for code simplification

Merge branch 'kn/ref-filter-atom-parsing'Junio C Hamano Fri, 26 Feb 2016 21:37:10 +0000 (13:37 -0800)

Merge branch 'kn/ref-filter-atom-parsing'

The ref-filter's format-parsing code has been refactored, in
preparation for "branch --format" and friends.

* kn/ref-filter-atom-parsing:
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

Merge branch 'tg/git-remote'Junio C Hamano Fri, 26 Feb 2016 21:37:09 +0000 (13:37 -0800)

Merge branch 'tg/git-remote'

The internal API to interact with "remote.*" configuration
variables has been streamlined.

* tg/git-remote:
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

t/lib-httpd: load mod_unixdMichael J Gruber Mon, 11 May 2015 11:54:17 +0000 (13:54 +0200)

t/lib-httpd: load mod_unixd

In contrast to apache 2.2, apache 2.4 does not load mod_unixd in its
default configuration (because there are choices). Thus, with the
current config, apache 2.4.10 will not be started and the httpd tests
will not run on distros with default apache config (RedHat type).

Enable mod_unixd to make the httpd tests run. This does not affect
distros negatively which have that config already in their default
(Debian type). httpd tests will run on these before and after this patch.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5504: handle expected output from SIGPIPE deathJeff King Wed, 24 Feb 2016 07:48:36 +0000 (02:48 -0500)

t5504: handle expected output from SIGPIPE death

Commit 8bf4bec (add "ok=sigpipe" to test_must_fail and use
it to fix flaky tests, 2015-11-27) taught t5504 to handle
"git push" racily exiting with SIGPIPE rather than failing.

However, one of the tests checks the output of the command,
as well. In the SIGPIPE case, we will not have produced any
output. If we want the test to be truly non-flaky, we have
to accept either output.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>