gitweb.git
Merge branch 'es/contacts'Junio C Hamano Thu, 25 Jul 2013 02:22:57 +0000 (19:22 -0700)

Merge branch 'es/contacts'

A helper to read from a set of format-patch output files or a range
of commits and find those who may have insights to the code that
the changes touch by running a series of "git blame" commands.

* es/contacts:
contrib: contacts: add documentation
contrib: contacts: add mailmap support
contrib: contacts: interpret committish akin to format-patch
contrib: contacts: add ability to parse from committish
contrib: add git-contacts helper

Merge branch 'ml/cygwin-updates'Junio C Hamano Thu, 25 Jul 2013 02:22:49 +0000 (19:22 -0700)

Merge branch 'ml/cygwin-updates'

The tip one does _not_ revert c869753e (Force core.filemode to
false on Cygwin., 2006-12-30) on purpose, so that people can
still retain the old behaviour if they wanted to.

* ml/cygwin-updates:
cygwin: stop forcing core.filemode=false
Cygwin 1.7 supports mmap
Cygwin 1.7 has thread-safe pread
Cygwin 1.7 needs compat/regex

Merge branch 'rj/sparse'Junio C Hamano Thu, 25 Jul 2013 02:21:30 +0000 (19:21 -0700)

Merge branch 'rj/sparse'

* rj/sparse:
Revert "compat/unsetenv.c: Fix a sparse warning"

Merge branch 'sb/traverse-trees-bitmask-variable-name'Junio C Hamano Thu, 25 Jul 2013 02:21:25 +0000 (19:21 -0700)

Merge branch 'sb/traverse-trees-bitmask-variable-name'

* sb/traverse-trees-bitmask-variable-name:
traverse_trees(): clarify return value of the callback

Merge branch 'jk/cat-file-batch-optim'Junio C Hamano Thu, 25 Jul 2013 02:21:21 +0000 (19:21 -0700)

Merge branch 'jk/cat-file-batch-optim'

If somebody wants to only know on-disk footprint of an object
without having to know its type or payload size, we can bypass a
lot of code to cheaply learn it.

* jk/cat-file-batch-optim:
Fix some sparse warnings
sha1_object_info_extended: pass object_info to helpers
sha1_object_info_extended: make type calculation optional
packed_object_info: make type lookup optional
packed_object_info: hoist delta type resolution to helper
sha1_loose_object_info: make type lookup optional
sha1_object_info_extended: rename "status" to "type"
cat-file: disable object/refname ambiguity check for batch mode

Merge branch 'ml/avoid-using-grep-on-crlf-files'Junio C Hamano Thu, 25 Jul 2013 02:21:18 +0000 (19:21 -0700)

Merge branch 'ml/avoid-using-grep-on-crlf-files'

On systems that understand a CRLF as a line ending, tests in this
script that worked on files with CRLF line endings using "grep" to
extract matching lines may lose the CR at the end of lines that
match, causing the actual output not to match the expected output.

* ml/avoid-using-grep-on-crlf-files:
test-lib.sh - define and use GREP_STRIPS_CR

Merge branch 'jm/doc-ref-prune'Junio C Hamano Thu, 25 Jul 2013 02:21:15 +0000 (19:21 -0700)

Merge branch 'jm/doc-ref-prune'

* jm/doc-ref-prune:
Documentation: fix git-prune example usage
Documentation: remove --prune from pack-refs examples

Merge branch 'rh/template-updates'Junio C Hamano Thu, 25 Jul 2013 02:21:07 +0000 (19:21 -0700)

Merge branch 'rh/template-updates'

* rh/template-updates:
templates: spell ASCII in uppercase in pre-commit hook
templates: Reformat pre-commit hook's message
templates: Use heredoc in pre-commit hook

Merge branch 'mh/ref-races-optim-invalidate-cached'Junio C Hamano Thu, 25 Jul 2013 02:21:02 +0000 (19:21 -0700)

Merge branch 'mh/ref-races-optim-invalidate-cached'

* mh/ref-races-optim-invalidate-cached:
refs: do not invalidate the packed-refs cache unnecessarily

Merge branch 'sb/misc-fixes'Junio C Hamano Thu, 25 Jul 2013 02:20:58 +0000 (19:20 -0700)

Merge branch 'sb/misc-fixes'

Assorted code cleanups and a minor fix.

* sb/misc-fixes:
diff.c: Do not initialize a variable, which gets reassigned anyway.
commit: Fix a memory leak in determine_author_info
daemon.c:handle: Remove unneeded check for null pointer.

Merge branch 'tr/line-log'Junio C Hamano Thu, 25 Jul 2013 02:19:24 +0000 (19:19 -0700)

Merge branch 'tr/line-log'

Fix "log -L" command line parsing bugs.

* tr/line-log:
t4211: fix incorrect rebase at f8395edc (range-set: satisfy non-empty ranges invariant)
line-log: fix "log -LN" crash when N is last line of file
range-set: satisfy non-empty ranges invariant
t4211: demonstrate crash when first -L encountered is empty range
t4211: demonstrate empty -L range crash
range-set: fix sort_and_merge_range_set() corner case bug

t4211: fix incorrect rebase at f8395edc (range-set... Junio C Hamano Wed, 24 Jul 2013 14:53:25 +0000 (07:53 -0700)

t4211: fix incorrect rebase at f8395edc (range-set: satisfy non-empty ranges invariant)

Wnen I rewrote "cat b.c | wc -l" into "wc -l <b.c" to squash in a
suggestion on the list to this series, I screwed up subsequent
rebase. Fix it up.

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

Merge branch 'es/line-log-further-fixes' into tr/line-logJunio C Hamano Tue, 23 Jul 2013 19:10:06 +0000 (12:10 -0700)

Merge branch 'es/line-log-further-fixes' into tr/line-log

* es/line-log-further-fixes:
line-log: fix "log -LN" crash when N is last line of file
range-set: satisfy non-empty ranges invariant
t4211: demonstrate crash when first -L encountered is empty range
t4211: demonstrate empty -L range crash
range-set: fix sort_and_merge_range_set() corner case bug
range_set: fix coalescing bug when range is a subset of another
t4211: fix broken test when one -L range is subset of another

line-log: fix "log -LN" crash when N is last line of... Eric Sunshine Tue, 23 Jul 2013 14:28:08 +0000 (10:28 -0400)

line-log: fix "log -LN" crash when N is last line of file

range-set invariants are: ranges must be (1) non-empty, (2) disjoint,
(3) sorted in ascending order.

line_log_data_insert() breaks the non-empty invariant under the
following conditions: the incoming range is empty and the pathname
attached to the range has not yet been encountered. In this case,
line_log_data_insert() assigns the empty range to a new line_log_data
record without taking any action to ensure that the empty range is
eventually folded out. Subsequent range-set functions crash or throw an
assertion failure upon encountering such an anomaly. Fix this bug.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

range-set: satisfy non-empty ranges invariantEric Sunshine Tue, 23 Jul 2013 14:28:06 +0000 (10:28 -0400)

range-set: satisfy non-empty ranges invariant

range-set invariants are: ranges must be (1) non-empty, (2) disjoint,
(3) sorted in ascending order.

During processing, various range-set utility functions break the
invariants (for instance, by adding empty ranges), with the
expectation that a finalizing sort_and_merge_range_set() will restore
sanity.

sort_and_merge_range_set(), however, neglects to fold out empty
ranges, thus it fails to satisfy the non-empty constraint. Subsequent
range-set functions crash or throw an assertion failure upon
encountering such an anomaly. Rectify the situation by having
sort_and_merge_range_set() fold out empty ranges.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4211: demonstrate crash when first -L encountered... Eric Sunshine Tue, 23 Jul 2013 14:28:07 +0000 (10:28 -0400)

t4211: demonstrate crash when first -L encountered is empty range

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Helped-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4211: demonstrate empty -L range crashEric Sunshine Tue, 23 Jul 2013 14:28:05 +0000 (10:28 -0400)

t4211: demonstrate empty -L range crash

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Helped-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

range-set: fix sort_and_merge_range_set() corner case bugEric Sunshine Tue, 23 Jul 2013 14:28:04 +0000 (10:28 -0400)

range-set: fix sort_and_merge_range_set() corner case bug

When handed an empty range_set (range_set.nr == 0),
sort_and_merge_range_set() incorrectly sets range_set.nr to 1 at exit.
Subsequent range_set functions then access the bogus range at element
zero and crash or throw an assertion failure. Fix this bug.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

open_istream: remove unneeded check for null pointerStefan Beller Tue, 23 Jul 2013 13:16:04 +0000 (15:16 +0200)

open_istream: remove unneeded check for null pointer

'st' is allocated via xmalloc a few lines before and passed to
the stream opening functions.
The xmalloc function is written in a way that either 'st' is allocated
valid memory or xmalloc already dies.
The function calls to open_istream_* do not change 'st', as the pointer is
passed by reference and not a pointer of a pointer.

Hence 'st' cannot be null at that part of the code.

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

Merge branch 'mv/merge-ff-tristate'Junio C Hamano Tue, 23 Jul 2013 17:09:49 +0000 (10:09 -0700)

Merge branch 'mv/merge-ff-tristate'

* mv/merge-ff-tristate:
t7600: fix typo in test title

t7600: fix typo in test titleJunio C Hamano Tue, 23 Jul 2013 17:08:40 +0000 (10:08 -0700)

t7600: fix typo in test title

Spotted by Ram, confirmed by Miklos.

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

Sync with Git 1.8.3.4Junio C Hamano Mon, 22 Jul 2013 18:34:25 +0000 (11:34 -0700)

Sync with Git 1.8.3.4

Update draft release notes to 1.8.4Junio C Hamano Mon, 22 Jul 2013 18:34:10 +0000 (11:34 -0700)

Update draft release notes to 1.8.4

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

Merge branch 'jc/name-rev-exact-ref'Junio C Hamano Mon, 22 Jul 2013 18:24:19 +0000 (11:24 -0700)

Merge branch 'jc/name-rev-exact-ref'

Corrects the longstanding sloppiness in the implementation of
name-rev that conflated "we take commit-ish" and "differences
between tags and commits do not matter".

* jc/name-rev-exact-ref:
describe: fix --contains when a tag is given as input
name-rev: differentiate between tags and commits they point at
describe: use argv-array
name-rev: allow converting the exact object name at the tip of a ref
name-ref: factor out name shortening logic from name_ref()

Merge branch 'rr/send-email-ssl-verify'Junio C Hamano Mon, 22 Jul 2013 18:24:17 +0000 (11:24 -0700)

Merge branch 'rr/send-email-ssl-verify'

Newer Net::SMTP::SSL module does not want the user programs to use
the default behaviour to let server certificate go without
verification, so by default enable the verification with a
mechanism to turn it off if needed.

* rr/send-email-ssl-verify:
send-email: be explicit with SSL certificate verification

Merge branch 'es/check-mailmap'Junio C Hamano Mon, 22 Jul 2013 18:24:14 +0000 (11:24 -0700)

Merge branch 'es/check-mailmap'

A new command to allow scripts to query the mailmap information.

* es/check-mailmap:
t4203: test check-mailmap command invocation
builtin: add git-check-mailmap command

Merge branch 'jx/clean-interactive'Junio C Hamano Mon, 22 Jul 2013 18:24:11 +0000 (11:24 -0700)

Merge branch 'jx/clean-interactive'

Add "interactive" mode to "git clean".

The early part to refactor relative path related helper functions
looked sensible.

* jx/clean-interactive:
test: run testcases with POSIX absolute paths on Windows
test: add t7301 for git-clean--interactive
git-clean: add documentation for interactive git-clean
git-clean: add ask each interactive action
git-clean: add select by numbers interactive action
git-clean: add filter by pattern interactive action
git-clean: use a git-add-interactive compatible UI
git-clean: add colors to interactive git-clean
git-clean: show items of del_list in columns
git-clean: add support for -i/--interactive
git-clean: refactor git-clean into two phases
write_name{_quoted_relative,}(): remove redundant parameters
quote_path_relative(): remove redundant parameter
quote.c: substitute path_relative with relative_path
path.c: refactor relative_path(), not only strip prefix
test: add test cases for relative_path

Merge branch 'hv/config-from-blob'Junio C Hamano Mon, 22 Jul 2013 18:24:09 +0000 (11:24 -0700)

Merge branch 'hv/config-from-blob'

Allow configuration data to be read from in-tree blob objects,
which would help working in a bare repository and submodule
updates.

* hv/config-from-blob:
do not die when error in config parsing of buf occurs
teach config --blob option to parse config from database
config: make parsing stack struct independent from actual data source
config: drop cf validity check in get_next_char()
config: factor out config file stack management

Merge branch 'mk/upload-pack-off-by-one-dead-code-removal'Junio C Hamano Mon, 22 Jul 2013 18:24:05 +0000 (11:24 -0700)

Merge branch 'mk/upload-pack-off-by-one-dead-code-removal'

* mk/upload-pack-off-by-one-dead-code-removal:
upload-pack: remove a piece of dead code

Merge branch 'jk/t0008-sigpipe-fix'Junio C Hamano Mon, 22 Jul 2013 18:24:02 +0000 (11:24 -0700)

Merge branch 'jk/t0008-sigpipe-fix'

Fix for recent test breakage on 'master'.

* jk/t0008-sigpipe-fix:
t0008: avoid SIGPIPE race condition on fifo

Merge branch 'nd/const-struct-cache-entry'Junio C Hamano Mon, 22 Jul 2013 18:24:00 +0000 (11:24 -0700)

Merge branch 'nd/const-struct-cache-entry'

* nd/const-struct-cache-entry:
Convert "struct cache_entry *" to "const ..." wherever possible

Merge branch 'jk/gcc-function-attributes'Junio C Hamano Mon, 22 Jul 2013 18:23:59 +0000 (11:23 -0700)

Merge branch 'jk/gcc-function-attributes'

Use the function attributes extension to catch mistakes in use of
our own variadic functions that use NULL sentinel at the end
(i.e. like execl(3)) and format strings (i.e. like printf(3)).

* jk/gcc-function-attributes:
Add the LAST_ARG_MUST_BE_NULL macro
wt-status: use "format" function attribute for status_printf
use "sentinel" function attribute for variadic lists
add missing "format" function attributes

Merge branch 'db/show-ref-head'Junio C Hamano Mon, 22 Jul 2013 18:23:56 +0000 (11:23 -0700)

Merge branch 'db/show-ref-head'

The "--head" option to "git show-ref" was only to add "HEAD" to the
list of candidate refs to be filtered by the usual rules
(e.g. "--heads" that only show refs under refs/heads). Change the
meaning of the option to always show "HEAD" regardless of what
filtering will be applied to any other ref (this is a backward
incompatible change, so I may need to add an entry to the Release
Notes).

* db/show-ref-head:
show-ref: make --head always show the HEAD ref

Merge branch 'es/blame-L-breakage'Junio C Hamano Mon, 22 Jul 2013 18:23:53 +0000 (11:23 -0700)

Merge branch 'es/blame-L-breakage'

The refactoring made for parsing "-L" option recently to support
"git log -L" seems to have broken "git blame -L X,-5" to show 5
lines leading to X.

* es/blame-L-breakage:
blame-options.txt: explain that -L <start> and <end> are optional
blame-options.txt: place each -L option variation on its own line
t8001/t8002 (blame): add blame -L :funcname tests
t8001/t8002 (blame): add blame -L tests
t8001/t8002 (blame): modernize style
line-range: fix "blame -L X,-N" regression

Merge branch 'tr/protect-low-3-fds'Junio C Hamano Mon, 22 Jul 2013 18:23:35 +0000 (11:23 -0700)

Merge branch 'tr/protect-low-3-fds'

When "git" is spawned in such a way that any of the low 3 file
descriptors is closed, our first open() may yield file descriptor 2,
and writing error message to it would screw things up in a big way.

* tr/protect-low-3-fds:
git: ensure 0/1/2 are open in main()
daemon/shell: refactor redirection of 0/1/2 from /dev/null

Merge branch 'sb/parse-object-buffer-eaten'Junio C Hamano Mon, 22 Jul 2013 18:23:32 +0000 (11:23 -0700)

Merge branch 'sb/parse-object-buffer-eaten'

* sb/parse-object-buffer-eaten:
parse_object_buffer: correct freeing the buffer

Merge branch 'tr/do-not-call-submodules-subprojects'Junio C Hamano Mon, 22 Jul 2013 18:23:30 +0000 (11:23 -0700)

Merge branch 'tr/do-not-call-submodules-subprojects'

* tr/do-not-call-submodules-subprojects:
show-branch: fix description of --date-order
apply, entry: speak of submodules instead of subprojects

Merge branch 'mm/diff-no-patch-synonym-to-s'Junio C Hamano Mon, 22 Jul 2013 18:23:27 +0000 (11:23 -0700)

Merge branch 'mm/diff-no-patch-synonym-to-s'

"git show -s" was less discoverable than it should be.

* mm/diff-no-patch-synonym-to-s:
Documentation/git-log.txt: capitalize section names
Documentation: move description of -s, --no-patch to diff-options.txt
Documentation/git-show.txt: include common diff options, like git-log.txt
diff: allow --patch & cie to override -s/--no-patch
diff: allow --no-patch as synonym for -s
t4000-diff-format.sh: modernize style

Merge branch 'dw/request-pull-diag'Junio C Hamano Mon, 22 Jul 2013 18:23:24 +0000 (11:23 -0700)

Merge branch 'dw/request-pull-diag'

* dw/request-pull-diag:
request-pull: improve error message for invalid revision args

Merge branch 'jc/mailmap-case-insensitivity'Junio C Hamano Mon, 22 Jul 2013 18:23:16 +0000 (11:23 -0700)

Merge branch 'jc/mailmap-case-insensitivity'

The mailmap mechanism unnecessarily downcased the e-mail addresses
in the output, and also ignored the human name when it is a single
character name.

This now has become Eric Sunshine's series, even though it still is
under jc/ hierarchy.

* jc/mailmap-case-insensitivity:
mailmap: style fixes
mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
mailmap: debug: eliminate -Wformat field precision type warning
mailmap: debug: fix malformed fprintf() format conversion specification
mailmap: debug: fix out-of-order fprintf() arguments
mailmap: do not downcase mailmap entries
t4203: demonstrate loss of uppercase characters in canonical email
mailmap: do not lose single-letter names
t4203: demonstrate loss of single-character name in mailmap entry

Merge branch 'tr/fd-gotcha-fixes'Junio C Hamano Mon, 22 Jul 2013 18:23:12 +0000 (11:23 -0700)

Merge branch 'tr/fd-gotcha-fixes'

Two places we did not check return value (expected to be a file
descriptor) correctly.

* tr/fd-gotcha-fixes:
run-command: dup_devnull(): guard against syscalls failing
git_mkstemps: correctly test return value of open()

Merge branch 'mm/color-auto-default'Junio C Hamano Mon, 22 Jul 2013 18:23:10 +0000 (11:23 -0700)

Merge branch 'mm/color-auto-default'

A finishing touch to fix breakage to "add -e" caused by defaulting
ui.color to "auto".

* mm/color-auto-default:
git add -e: Explicitly specify that patch should have no color

Merge branch 'jc/simple-add-must-be-a-no-op'Junio C Hamano Mon, 22 Jul 2013 18:23:06 +0000 (11:23 -0700)

Merge branch 'jc/simple-add-must-be-a-no-op'

This detected a mismerge of one of "add-2.0" topics to the 'jch'
and 'pu' branches.

* jc/simple-add-must-be-a-no-op:
t2202: make sure "git add" (no args) stays a no-op

Git 1.8.3.4 v1.8.3.4Junio C Hamano Mon, 22 Jul 2013 18:21:34 +0000 (11:21 -0700)

Git 1.8.3.4

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

update URL to the marc.info mail archiveOndřej Bílka Mon, 22 Jul 2013 08:02:17 +0000 (10:02 +0200)

update URL to the marc.info mail archive

The name marc.theaimsgroup.com is no longer active, and has
migrated to marc.info.

Signed-off-by: Ondřej Bílka <neleai@seznam.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Mon, 22 Jul 2013 06:03:46 +0000 (23:03 -0700)

Sync with maint

* maint:
Update draft release notes to 1.8.3.4
t9801: git-p4: check ignore files with client spec

Update draft release notes to 1.8.3.4Junio C Hamano Mon, 22 Jul 2013 06:02:53 +0000 (23:02 -0700)

Update draft release notes to 1.8.3.4

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

Merge branch 'rr/maint-fetch-tag-doc-asterisks' into... Junio C Hamano Mon, 22 Jul 2013 05:51:45 +0000 (22:51 -0700)

Merge branch 'rr/maint-fetch-tag-doc-asterisks' into maint

* rr/maint-fetch-tag-doc-asterisks:
fetch-options.txt: prevent a wildcard refspec from getting misformatted

Merge branch 'dk/maint-t5150-dirname' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:43 +0000 (22:51 -0700)

Merge branch 'dk/maint-t5150-dirname' into maint

* dk/maint-t5150-dirname:
tests: allow sha1's as part of the path

Merge branch 'dk/version-gen-gitdir' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:41 +0000 (22:51 -0700)

Merge branch 'dk/version-gen-gitdir' into maint

* dk/version-gen-gitdir:
GIT-VERSION-GEN: support non-standard $GIT_DIR path

Merge branch 'nk/config-local-doc' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:39 +0000 (22:51 -0700)

Merge branch 'nk/config-local-doc' into maint

* nk/config-local-doc:
config: Add description of --local option

Merge branch 'kb/diff-blob-blob-doc' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:37 +0000 (22:51 -0700)

Merge branch 'kb/diff-blob-blob-doc' into maint

* kb/diff-blob-blob-doc:
Documentation: Move "git diff <blob> <blob>"

Merge branch 'mm/merge-in-dirty-worktree-doc' into... Junio C Hamano Mon, 22 Jul 2013 05:51:32 +0000 (22:51 -0700)

Merge branch 'mm/merge-in-dirty-worktree-doc' into maint

* mm/merge-in-dirty-worktree-doc:
Documentation/git-merge.txt: weaken warning about uncommited changes

Merge branch 'ph/builtin-srcs-are-in-subdir-these-days... Junio C Hamano Mon, 22 Jul 2013 05:51:29 +0000 (22:51 -0700)

Merge branch 'ph/builtin-srcs-are-in-subdir-these-days' into maint

* ph/builtin-srcs-are-in-subdir-these-days:
fix "builtin-*" references to be "builtin/*"

Merge branch 'ft/doc-git-transport' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:24 +0000 (22:51 -0700)

Merge branch 'ft/doc-git-transport' into maint

* ft/doc-git-transport:
documentation: add git:// transport security notice

Merge branch 'mh/maint-lockfile-overflow' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:22 +0000 (22:51 -0700)

Merge branch 'mh/maint-lockfile-overflow' into maint

* mh/maint-lockfile-overflow:
lockfile: fix buffer overflow in path handling

Merge branch 'jc/maint-diff-core-safecrlf' into maintJunio C Hamano Mon, 22 Jul 2013 05:48:13 +0000 (22:48 -0700)

Merge branch 'jc/maint-diff-core-safecrlf' into maint

Avoid failing "git diff" when core.safecrlf is set to true, because
the user cannot tell where the breakage is in preparation for fixing
and committing.

* jc/maint-diff-core-safecrlf:
diff: demote core.safecrlf=true to core.safecrlf=warn

cygwin: stop forcing core.filemode=falseMark Levedahl Fri, 19 Jul 2013 23:08:27 +0000 (19:08 -0400)

cygwin: stop forcing core.filemode=false

We force core.filemode=false since c869753e (Force core.filemode to
false on Cygwin., 2006-12-30), even when the repository is on a
filesystem on which Cygwin can give us trustable filemodes, because
many native Windows applications the users use to edit files in the
working tree tend to (re)create files with executable bit randomly
set or reset. However, binary distribution of Git that is supplied
by the downstream project to its users has been built without this
consideration.

Drop NO_TRUSTABLE_FILEMODE from our default configuration so that
hand-compiled Git out of box will match theirs.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Cygwin 1.7 supports mmapMark Levedahl Fri, 19 Jul 2013 23:08:30 +0000 (19:08 -0400)

Cygwin 1.7 supports mmap

git has shipped for years with MMAP enabled in the stock distribution,
there are no reports of problems / failures on the list relating to
this. Leave the default as-is on v1.5 due to lack of knowlege of this
working on earlier Cygwin.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Cygwin 1.7 has thread-safe preadMark Levedahl Fri, 19 Jul 2013 23:08:29 +0000 (19:08 -0400)

Cygwin 1.7 has thread-safe pread

Per http://cygwin.com/ml/cygwin/2012-07/msg00331.html , cygwin 1.7
was modified to explicitly support git's use of pread, so make this
the default. Do not affect earlier cygwin versions.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Cygwin 1.7 needs compat/regexMark Levedahl Fri, 19 Jul 2013 23:08:28 +0000 (19:08 -0400)

Cygwin 1.7 needs compat/regex

Cygwin v1.7 uses the regex library from newlib which does not pass git's
tests, so don't use it. This fixes failures in t4018 and t4034.

Continue to use the platform supplied regex library for earlier versions.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9801: git-p4: check ignore files with client specVitor Antunes Thu, 18 Jul 2013 23:04:53 +0000 (00:04 +0100)

t9801: git-p4: check ignore files with client spec

This test confirms that a file can be ignored during git p4 sync if if is
excluded in P4 client specification.

Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: contacts: add documentationEric Sunshine Sun, 21 Jul 2013 10:52:42 +0000 (06:52 -0400)

contrib: contacts: add documentation

Assuming that git-contacts may some day be promoted to a core git
command, the documentation is written and formatted as if it already
belongs in Documentation/ even though it presently resides in
contrib/contacts.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: contacts: add mailmap supportEric Sunshine Sun, 21 Jul 2013 10:52:41 +0000 (06:52 -0400)

contrib: contacts: add mailmap support

The purpose of git-contacts is to determine a list of people who might
have some interest in a patch or set of changes. It can be used as
git-send-email's --cc-cmd argument or the computed list might be used to
ask for comments on a proposed change. As such, it is important to
report up-to-date email addresses in the computed list rather than
potentially outdated ones recorded with commits. Apply git's mailmap
functionality to the retrieved contacts in order to achieve this goal.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: contacts: interpret committish akin to format... Eric Sunshine Sun, 21 Jul 2013 10:52:40 +0000 (06:52 -0400)

contrib: contacts: interpret committish akin to format-patch

As a convenience, accept the same style <since> committish as accepted
by git-format-patch. For example:

% git contacts origin

will consider commits in the current branch built atop 'origin', just as
"git format-patch origin" will format commits built atop 'origin'.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: contacts: add ability to parse from committishEric Sunshine Sun, 21 Jul 2013 10:52:39 +0000 (06:52 -0400)

contrib: contacts: add ability to parse from committish

For example:

% git contacts R1..R2

Committishes and patch files can be mentioned in the same invocation:

% git contacts R1..R2 extra/*.patch

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: add git-contacts helperEric Sunshine Sun, 21 Jul 2013 10:52:38 +0000 (06:52 -0400)

contrib: add git-contacts helper

This script lists people that might be interested in a patch by going
back through the history for each patch hunk, and finding people that
reviewed, acknowledged, signed, authored, or were Cc:'d on the code the
patch is modifying.

It does this by running git-blame incrementally on each hunk and then
parsing the commit message. After gathering all participants, it
determines each person's relevance by considering how many commits
mentioned that person compared with the total number of commits under
consideration. The final output consists only of participants who pass a
minimum threshold of participation.

Several conditions controlling a person's significance are currently
hard-coded, such as minimum participation level, blame date-limiting,
and -C level for detecting moved and copied lines. In the future, these
conditions may become configurable.

For example:

% git contacts 0001-remote-hg-trivial-cleanups.patch
Felipe Contreras <felipe.contreras@gmail.com>
Jeff King <peff@peff.net>
Max Horn <max@quendi.de>
Junio C Hamano <gitster@pobox.com>

Thus, it can be invoked as git-send-email's --cc-cmd option, among other
possible uses.

This is a Perl rewrite of Felipe Contreras' git-related patch series[1]
written in Ruby.

[1]: http://thread.gmane.org/gmane.comp.version-control.git/226065/

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Revert "compat/unsetenv.c: Fix a sparse warning"Benoit Sigoure Sun, 21 Jul 2013 19:54:08 +0000 (12:54 -0700)

Revert "compat/unsetenv.c: Fix a sparse warning"

This reverts commit ec535cc27e6c4f5e0b1d157e04f5511f166ecd9d.

POSIX explicitly states "the [environ] variable, which
must be declared by the user if it is to be used directly".
Not declaring it causes compilation to fail on OS X.

Instead don't declare the variable on MinGW, as it causes
a spurious warning there.

Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t2202: make sure "git add" (no args) stays a no-opJunio C Hamano Sat, 20 Jul 2013 03:57:01 +0000 (20:57 -0700)

t2202: make sure "git add" (no args) stays a no-op

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

traverse_trees(): clarify return value of the callbackStefan Beller Fri, 19 Jul 2013 20:26:32 +0000 (22:26 +0200)

traverse_trees(): clarify return value of the callback

The variable name "ret" sounds like the variable to be returned, but
since e6c111b4 we return error, and it is misleading.

As this variable tells us which trees in t[] array were used in the
callback function, so that this caller can know the entries in which
of the trees need advancing, "trees_used" is a better name.

Also the assignment to 0 was removed at the start of the function as
well after the "if (interesting)" block. Those are unneeded as that
variable is set to the callback return value any time we enter the
"if (interesting)" block, so we'd overwrite old values anyway.

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

git add -e: Explicitly specify that patch should have... Andrew Wong Thu, 18 Jul 2013 22:58:04 +0000 (18:58 -0400)

git add -e: Explicitly specify that patch should have no color

After 4c7f1819 (make color.ui default to 'auto', 2013-06-10), the
patch file to be edited during 'git add -e' receives all the color
codes. This is because diffopt.use_color defaults to -1, which
causes want_color to now return 'auto'.

By explicitly setting use_color to 0, we can ensure the diff output
has no color codes in it.

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Fri, 19 Jul 2013 18:15:48 +0000 (11:15 -0700)

Sync with maint

Start preparing for 1.8.3.4Junio C Hamano Fri, 19 Jul 2013 17:59:36 +0000 (10:59 -0700)

Start preparing for 1.8.3.4

Hopefully this will be the final maintenance release before we go to
feature freeze for 1.8.4.

apply.c::find_name_traditional(): do not initialize... Stefan Beller Thu, 18 Jul 2013 21:35:27 +0000 (23:35 +0200)

apply.c::find_name_traditional(): do not initialize len to the line's length

The variable len is set to

len = strchrnul(line, '\n') - line;

unconditionally 9 lines later, hence we can remove the call to strlen.

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

http-push.c::add_send_request(): do not initialize... Stefan Beller Thu, 18 Jul 2013 21:35:26 +0000 (23:35 +0200)

http-push.c::add_send_request(): do not initialize transfer_request

That pointer will be assigned to new memory via

request = xmalloc(sizeof(*request));

20 lines later unconditionally anyway, so it's safe to not assign it
to an arbitrary variable.

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

Merge branch 'tr/test-lint-no-export-assignment-in... Junio C Hamano Fri, 19 Jul 2013 17:43:13 +0000 (10:43 -0700)

Merge branch 'tr/test-lint-no-export-assignment-in-shell' into maint

* tr/test-lint-no-export-assignment-in-shell:
test-lint: detect 'export FOO=bar'
t9902: fix 'test A == B' to use = operator

Merge branch 'rr/name-rev-stdin-doc' into maintJunio C Hamano Fri, 19 Jul 2013 17:43:08 +0000 (10:43 -0700)

Merge branch 'rr/name-rev-stdin-doc' into maint

* rr/name-rev-stdin-doc:
name-rev doc: rewrite --stdin paragraph

Merge branch 'ft/diff-rename-default-score-is-half... Junio C Hamano Fri, 19 Jul 2013 17:43:05 +0000 (10:43 -0700)

Merge branch 'ft/diff-rename-default-score-is-half' into maint

* ft/diff-rename-default-score-is-half:
diff-options: document default similarity index

Merge branch 'jc/t1512-fix' into maintJunio C Hamano Fri, 19 Jul 2013 17:43:01 +0000 (10:43 -0700)

Merge branch 'jc/t1512-fix' into maint

* jc/t1512-fix:
get_short_sha1(): correctly disambiguate type-limited abbreviation
t1512: correct leftover constants from earlier edition

Merge branch 'vl/typofix' into maintJunio C Hamano Fri, 19 Jul 2013 17:42:57 +0000 (10:42 -0700)

Merge branch 'vl/typofix' into maint

* vl/typofix:
random typofixes (committed missing a 't', successful missing an 's')

Merge branch 'wk/doc-git-has-grown' into maintJunio C Hamano Fri, 19 Jul 2013 17:42:52 +0000 (10:42 -0700)

Merge branch 'wk/doc-git-has-grown' into maint

* wk/doc-git-has-grown:
user-manual: Update download size for Git and the kernel

Merge branch 'ys/cygstart' into maintJunio C Hamano Fri, 19 Jul 2013 17:42:49 +0000 (10:42 -0700)

Merge branch 'ys/cygstart' into maint

* ys/cygstart:
web--browse: support /usr/bin/cygstart on Cygwin

Merge branch 'mm/push-force-is-dangerous' into maintJunio C Hamano Fri, 19 Jul 2013 17:42:46 +0000 (10:42 -0700)

Merge branch 'mm/push-force-is-dangerous' into maint

* mm/push-force-is-dangerous:
Documentation/git-push.txt: explain better cases where --force is dangerous

Merge branch 'rs/logical-vs-binary-or' into maintJunio C Hamano Fri, 19 Jul 2013 17:42:18 +0000 (10:42 -0700)

Merge branch 'rs/logical-vs-binary-or' into maint

* rs/logical-vs-binary-or:
use logical OR (||) instead of binary OR (|) in logical context

Merge branch 'js/test-ln-s-add' into maintJunio C Hamano Fri, 19 Jul 2013 17:41:22 +0000 (10:41 -0700)

Merge branch 'js/test-ln-s-add' into maint

* js/test-ln-s-add:
t4011: remove SYMLINKS prerequisite
t6035: use test_ln_s_add to remove SYMLINKS prerequisite
t3509, t4023, t4114: use test_ln_s_add to remove SYMLINKS prerequisite
t3100: use test_ln_s_add to remove SYMLINKS prerequisite
t3030: use test_ln_s_add to remove SYMLINKS prerequisite
t0000: use test_ln_s_add to remove SYMLINKS prerequisite
tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases)
tests: introduce test_ln_s_add
t3010: modernize style
test-chmtime: Fix exit code on Windows

Merge branch 'jk/apache-test-for-2.4' into maintJunio C Hamano Fri, 19 Jul 2013 17:41:01 +0000 (10:41 -0700)

Merge branch 'jk/apache-test-for-2.4' into maint

Allow our tests to run with newer Apache.

* jk/apache-test-for-2.4:
lib-httpd/apache.conf: check version only after mod_version loads
t/lib-httpd/apache.conf: configure an MPM module for apache 2.4
t/lib-httpd/apache.conf: load compat access module in apache 2.4
t/lib-httpd/apache.conf: load extra auth modules in apache 2.4
t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4

Merge branch 'tr/test-commit-only-on-orphan' into maintJunio C Hamano Fri, 19 Jul 2013 17:40:57 +0000 (10:40 -0700)

Merge branch 'tr/test-commit-only-on-orphan' into maint

* tr/test-commit-only-on-orphan:
Test 'commit --only' after 'checkout --orphan'

Merge branch 'sb/archive-zip-double-assignment-fix... Junio C Hamano Fri, 19 Jul 2013 17:40:53 +0000 (10:40 -0700)

Merge branch 'sb/archive-zip-double-assignment-fix' into maint

* sb/archive-zip-double-assignment-fix:
archive-zip:write_zip_entry: Remove second reset of size variable to zero.

Merge branch 'th/bisect-skip-report-range-fix' into... Junio C Hamano Fri, 19 Jul 2013 17:39:12 +0000 (10:39 -0700)

Merge branch 'th/bisect-skip-report-range-fix' into maint

The bisect log listed incorrect commits when bisection ends with
only skipped ones.

* th/bisect-skip-report-range-fix:
bisect: Fix log output for multi-parent skip ranges

Merge branch 'rs/tar-tests' into maintJunio C Hamano Fri, 19 Jul 2013 17:39:09 +0000 (10:39 -0700)

Merge branch 'rs/tar-tests' into maint

* rs/tar-tests:
t5000: test long filenames
t5000: simplify tar-tree tests
t5000: use check_tar for prefix test
t5000: factor out check_tar
t5000, t5003: create directories for extracted files lazily
t5000: integrate export-subst tests into regular tests

Merge branch 'rr/column-doc' into maintJunio C Hamano Fri, 19 Jul 2013 17:39:06 +0000 (10:39 -0700)

Merge branch 'rr/column-doc' into maint

* rr/column-doc:
column doc: rewrite documentation for column.ui

Merge branch 'rs/discard-index-discard-array' into... Junio C Hamano Fri, 19 Jul 2013 17:39:01 +0000 (10:39 -0700)

Merge branch 'rs/discard-index-discard-array' into maint

* rs/discard-index-discard-array:
read-cache: free cache in discard_index
read-cache: add simple performance test

Merge branch 'tr/coverage' into maintJunio C Hamano Fri, 19 Jul 2013 17:38:18 +0000 (10:38 -0700)

Merge branch 'tr/coverage' into maint

The test coverage framework was left broken for some time.

* tr/coverage:
coverage: build coverage-untested-functions by default
coverage: set DEFAULT_TEST_TARGET to avoid using prove
coverage: do not delete .gcno files before building
coverage: split build target into compile and test

Documentation: "git reset <tree-ish> <pathspec>" takes... Stefan Beller Fri, 19 Jul 2013 16:26:24 +0000 (18:26 +0200)

Documentation: "git reset <tree-ish> <pathspec>" takes a tree-ish, not tree-sh

Reported-By: Ibrahim M. Ghazal <imgx64@gmail.com>
Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add the LAST_ARG_MUST_BE_NULL macroRamsay Jones Thu, 18 Jul 2013 20:02:12 +0000 (21:02 +0100)

Add the LAST_ARG_MUST_BE_NULL macro

The sentinel function attribute is not understood by versions of
the gcc compiler prior to v4.0. At present, for earlier versions
of gcc, the build issues 108 warnings related to the unknown
attribute. In order to suppress the warnings, we conditionally
define the LAST_ARG_MUST_BE_NULL macro to provide the sentinel attribute
for gcc v4.0 and newer.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib.sh - define and use GREP_STRIPS_CRMark Levedahl Thu, 18 Jul 2013 21:44:57 +0000 (17:44 -0400)

test-lib.sh - define and use GREP_STRIPS_CR

Define a common macro for grep needing -U to allow tests to not need
to inquire of specific platforms needing this option. Change
t3032 and t5560 to use this rather than testing explicitly for mingw.
This fixes these two tests on Cygwin.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix some sparse warningsRamsay Jones Thu, 18 Jul 2013 20:25:50 +0000 (21:25 +0100)

Fix some sparse warnings

Sparse issues some "Using plain integer as NULL pointer" warnings.
Each warning relates to the use of an '{0}' initialiser expression
in the declaration of an 'struct object_info'. The first field of
this structure has pointer type. Thus, in order to suppress these
warnings, we replace the initialiser expression with '{NULL}'.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: fix git-prune example usageJonathon Mah Thu, 18 Jul 2013 16:53:55 +0000 (09:53 -0700)

Documentation: fix git-prune example usage

Signed-off-by: Jonathon Mah <me@JonathonMah.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: remove --prune from pack-refs examplesJonathon Mah Thu, 18 Jul 2013 16:53:25 +0000 (09:53 -0700)

Documentation: remove --prune from pack-refs examples

The option has been the default for a while, and doesn't otherwise
appear in the page.

Signed-off-by: Jonathon Mah <me@JonathonMah.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: be explicit with SSL certificate verificationRamkumar Ramachandra Thu, 18 Jul 2013 16:53:11 +0000 (09:53 -0700)

send-email: be explicit with SSL certificate verification

When initiating an SSL connection without explicitly specifying the
SSL certificate verification mode, Net::SMTP::SSL defaults to no
verification, but recent versions of the module gives a warning
against this use of the default.

Enable certificate verification by default, using /etc/ssl/certs as
the default path for certificates of certificate authorities. This
path can be overriden by the --smtp-ssl-cert-path command line
option and the sendemail.smtpSSLCertPath configuration variable.

Passing an empty string as the path for CA certificates path disables
the SSL certificate verification explicitly, which does not trigger
the warning from recent versions of Net::SMTP::SSL.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Helped-by: Brian M. Carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>