gitweb.git
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>

Git 1.8.3.3 v1.8.3.3Junio C Hamano Mon, 15 Jul 2013 17:39:43 +0000 (10:39 -0700)

Git 1.8.3.3

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

Merge branch 'tr/maint-apply-non-git-patch-parsefix... Junio C Hamano Mon, 15 Jul 2013 17:36:14 +0000 (10:36 -0700)

Merge branch 'tr/maint-apply-non-git-patch-parsefix' into maint

"git apply" parsed patches that add new files, generated by programs
other than Git, incorrectly. This is an old breakage in v1.7.11.

* tr/maint-apply-non-git-patch-parsefix:
apply: carefully strdup a possibly-NULL name

Merge branch 'bc/http-keep-memory-given-to-curl' into... Junio C Hamano Mon, 15 Jul 2013 17:36:01 +0000 (10:36 -0700)

Merge branch 'bc/http-keep-memory-given-to-curl' into maint

Older cURL wanted piece of memory we call it with to be stable, but
we updated the auth material after handing it to a call.

* bc/http-keep-memory-given-to-curl:
http.c: don't rewrite the user:passwd string multiple times

Merge branch 'jk/pull-into-dirty-unborn' into maintJunio C Hamano Mon, 15 Jul 2013 17:35:43 +0000 (10:35 -0700)

Merge branch 'jk/pull-into-dirty-unborn' into maint

"git pull" into nothing trashed "local changes" that were in the
index.

* jk/pull-into-dirty-unborn:
pull: merge into unborn by fast-forwarding from empty tree
pull: update unborn branch tip after index

Merge branch 'fg/submodule-non-ascii-path' into maintJunio C Hamano Mon, 15 Jul 2013 17:35:17 +0000 (10:35 -0700)

Merge branch 'fg/submodule-non-ascii-path' into maint

Many "git submodule" operations did not work on a submodule at a
path whose name is not in ASCII.

* fg/submodule-non-ascii-path:
t7400: test of UTF-8 submodule names pass under Mac OS
handle multibyte characters in name

Merge branch 'fc/sequencer-plug-leak' into maintJunio C Hamano Mon, 15 Jul 2013 17:35:04 +0000 (10:35 -0700)

Merge branch 'fc/sequencer-plug-leak' into maint

"cherry-pick" had a small leak in its error codepath.

* fc/sequencer-plug-leak:
sequencer: avoid leaking message buffer when refusing to create an empty commit
sequencer: remove useless indentation

Merge branch 'mt/send-email-cc-match-fix' into maintJunio C Hamano Mon, 15 Jul 2013 17:34:36 +0000 (10:34 -0700)

Merge branch 'mt/send-email-cc-match-fix' into maint

Logic used by git-send-email to suppress cc mishandled names like "A
U. Thor" <author@example.xz>, where the human readable part needs to
be quoted (the user input may not have the double quotes around the
name, and comparison was done between quoted and unquoted strings).
It also mishandled names that need RFC2047 quoting.

* mt/send-email-cc-match-fix:
send-email: sanitize author when writing From line
send-email: add test for duplicate utf8 name
test-send-email: test for pre-sanitized self name
t/send-email: test suppress-cc=self with non-ascii
t/send-email: add test with quoted sender
send-email: make --suppress-cc=self sanitize input
t/send-email: test suppress-cc=self on cccmd
send-email: fix suppress-cc=self on cccmd
t/send-email.sh: add test for suppress-cc=self

fixup-builtins: retire an old transition helper scriptRamkumar Ramachandra Fri, 28 Jun 2013 15:46:19 +0000 (21:16 +0530)

fixup-builtins: retire an old transition helper script

This script was added in 36e5e70 (Start deprecating "git-command" in
favor of "git command", 2007-06-30) with the intent of aiding the
transition away from dashed forms.

It has already been used to help the transision and served its
purpose, and is no longer very useful for follow-up work, because
the majority of remaining matches it finds are false positives.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.8.3.3Junio C Hamano Wed, 3 Jul 2013 22:43:41 +0000 (15:43 -0700)

Update draft release notes to 1.8.3.3

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

Merge branch 'rr/diffcore-pickaxe-doc' into maintJunio C Hamano Wed, 3 Jul 2013 22:41:17 +0000 (15:41 -0700)

Merge branch 'rr/diffcore-pickaxe-doc' into maint

* rr/diffcore-pickaxe-doc:
diffcore-pickaxe doc: document -S and -G properly
diffcore-pickaxe: make error messages more consistent

Merge branch 'cr/git-work-tree-sans-git-dir' into maintJunio C Hamano Wed, 3 Jul 2013 22:41:05 +0000 (15:41 -0700)

Merge branch 'cr/git-work-tree-sans-git-dir' into maint

* cr/git-work-tree-sans-git-dir:
git.txt: remove stale comment regarding GIT_WORK_TREE

Merge branch 'fc/do-not-use-the-index-in-add-to-index... Junio C Hamano Wed, 3 Jul 2013 22:40:38 +0000 (15:40 -0700)

Merge branch 'fc/do-not-use-the-index-in-add-to-index' into maint

* fc/do-not-use-the-index-in-add-to-index:
read-cache: trivial style cleanups
read-cache: fix wrong 'the_index' usage

Merge branch 'dm/unbash-subtree' into maintJunio C Hamano Wed, 3 Jul 2013 22:39:37 +0000 (15:39 -0700)

Merge branch 'dm/unbash-subtree' into maint

* dm/unbash-subtree:
contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash

Merge branch 'jc/core-checkstat' into maintJunio C Hamano Wed, 3 Jul 2013 22:39:15 +0000 (15:39 -0700)

Merge branch 'jc/core-checkstat' into maint

* jc/core-checkstat:
deprecate core.statinfo at Git 2.0 boundary

Merge branch 'jc/t5551-posix-sed-bre' into maintJunio C Hamano Wed, 3 Jul 2013 22:37:58 +0000 (15:37 -0700)

Merge branch 'jc/t5551-posix-sed-bre' into maint

* jc/t5551-posix-sed-bre:
t5551: do not use unportable sed '\+'

Merge branch 'vv/help-unknown-ref' into maintJunio C Hamano Wed, 3 Jul 2013 22:37:50 +0000 (15:37 -0700)

Merge branch 'vv/help-unknown-ref' into maint

* vv/help-unknown-ref:
merge: use help_unknown_ref()
help: add help_unknown_ref()

Merge branch 'rs/empty-archive' into maintJunio C Hamano Wed, 3 Jul 2013 22:36:54 +0000 (15:36 -0700)

Merge branch 'rs/empty-archive' into maint

* rs/empty-archive:
t5004: resurrect original empty tar archive test
t5004: avoid using tar for checking emptiness of archive

Conflicts:
t/t5004-archive-corner-cases.sh

Merge branch 'rh/merge-options-doc-fix' into maintJunio C Hamano Wed, 3 Jul 2013 22:36:30 +0000 (15:36 -0700)

Merge branch 'rh/merge-options-doc-fix' into maint

* rh/merge-options-doc-fix:
Documentation/merge-options.txt: restore `-e` option

Merge branch 'an/diff-index-doc' into maintJunio C Hamano Wed, 3 Jul 2013 22:35:55 +0000 (15:35 -0700)

Merge branch 'an/diff-index-doc' into maint

* an/diff-index-doc:
Documentation/diff-index: mention two modes of operation

Merge branch 'cm/gitweb-project-list-persistent-cgi... Junio C Hamano Wed, 3 Jul 2013 22:31:36 +0000 (15:31 -0700)

Merge branch 'cm/gitweb-project-list-persistent-cgi-fix' into maint

"gitweb" forgot to clear a global variable $search_regexp upon each
request, mistakenly carrying over the previous search to a new one
when used as a persistent CGI.

* cm/gitweb-project-list-persistent-cgi-fix:
gitweb: fix problem causing erroneous project list

Merge branch 'ar/wildmatch-foldcase' into maintJunio C Hamano Wed, 3 Jul 2013 22:31:27 +0000 (15:31 -0700)

Merge branch 'ar/wildmatch-foldcase' into maint

The wildmatch engine did not honor WM_CASEFOLD option correctly.

* ar/wildmatch-foldcase:
wildmatch: properly fold case everywhere

Merge branch 'cb/log-follow-with-combined' into maintJunio C Hamano Wed, 3 Jul 2013 22:30:59 +0000 (15:30 -0700)

Merge branch 'cb/log-follow-with-combined' into maint

"git log -c --follow $path" segfaulted upon hitting the commit that
renamed the $path being followed.

* cb/log-follow-with-combined:
fix segfault with git log -c --follow

Merge branch 'rr/die-on-missing-upstream' into maintJunio C Hamano Wed, 3 Jul 2013 22:30:24 +0000 (15:30 -0700)

Merge branch 'rr/die-on-missing-upstream' into maint

When a reflog notation is used for implicit "current branch", we did
not say which branch, and worse said "branch ''".

* rr/die-on-missing-upstream:
sha1_name: fix error message for @{<N>}, @{<date>}
sha1_name: fix error message for @{u}

Merge branch 'maint-1.8.2' into maintJunio C Hamano Wed, 3 Jul 2013 22:27:19 +0000 (15:27 -0700)

Merge branch 'maint-1.8.2' into maint

* maint-1.8.2:
git-config: update doc for --get with multiple values

Merge branch 'maint-1.8.1' into maint-1.8.2Junio C Hamano Wed, 3 Jul 2013 22:26:53 +0000 (15:26 -0700)

Merge branch 'maint-1.8.1' into maint-1.8.2

* maint-1.8.1:
git-config: update doc for --get with multiple values

git-config: update doc for --get with multiple valuesJohn Keeping Wed, 3 Jul 2013 18:27:39 +0000 (19:27 +0100)

git-config: update doc for --get with multiple values

Since commit 00b347d (git-config: do not complain about duplicate
entries, 2012-10-23), "git config --get" does not exit with an error if
there are multiple values for the specified key but instead returns the
last value. Update the documentation to reflect this.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

get_short_sha1(): correctly disambiguate type-limited... Junio C Hamano Tue, 2 Jul 2013 04:54:45 +0000 (21:54 -0700)

get_short_sha1(): correctly disambiguate type-limited abbreviation

One test in t1512 that expects a failure incorrectly passed. The
test prepares a commit whose object name begins with ten "0"s, and
also prepares a tag that points at the commit. The object name of
the tag also begins with ten "0"s. There is no other commit-ish
object in the repository whose name begins with such a prefix.

Ideally, in such a repository:

$ git rev-parse --verify 0000000000^{commit}

should yield that commit. If 0000000000 is taken as the commit
0000000000e4f, peeling it to a commmit yields that commit itself,
and if 0000000000 is taken as the tag 0000000000f8f, peeling it to a
commit also yields the same commit, so in that twisted sense, the
extended SHA-1 expression 0000000000^{commit} is unambigous. The
test that expects a failure is to check the above command.

The reason the test expects a failure is that we did not implement
such a "unification" of two candidate objects. What we did (or at
least, meant to) implement was to recognise that a commit-ish is
required to expand 0000000000, and notice that there are two succh
commit-ish, and diagnose the request as ambiguous.

However, there was a bug in the logic to check the candidate
objects. When the code saw 0000000000f8f (a tag) that shared the
shortened prefix (ten "0"s), it tried to make sure that the tag is a
commit-ish by looking at the tag object. Because it incorrectly
used lookup_object() when the tag has not been parsed, however, we
incorrectly declared that the tag is _not_ a commit-ish, leaving the
sole commit in the repository, 0000000000e4f, that has the required
prefix as "unique match", causing the test to pass when it shouldn't.

This fixes the logic to inspect the type of the object a tag refers
to, to make the test that is expected to fail correctly fail.

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

t1512: correct leftover constants from earlier editionJunio C Hamano Tue, 2 Jul 2013 04:49:09 +0000 (21:49 -0700)

t1512: correct leftover constants from earlier edition

The earliest iteration of this test script used a magic string
110282 as the common prefix for ambiguous object names, but the
final edition switched the common prefix to 0000000000 (10 "0"s).

Unfortunately, instances of the original prefix were left in the
comments and a few tests. Replace them with the correct constants.

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

t7500: fix flipped actual/expectAndrew Pimlott Mon, 1 Jul 2013 16:20:36 +0000 (09:20 -0700)

t7500: fix flipped actual/expect

Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

lib-rebase: document exec_ in FAKE_LINESAndrew Pimlott Mon, 1 Jul 2013 16:20:35 +0000 (09:20 -0700)

lib-rebase: document exec_ in FAKE_LINES

Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Start preparing for 1.8.3.3Junio C Hamano Sun, 30 Jun 2013 22:36:03 +0000 (15:36 -0700)

Start preparing for 1.8.3.3

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

Merge branch 'fc/macos-x-clipped-write' into maintJunio C Hamano Sun, 30 Jun 2013 22:33:40 +0000 (15:33 -0700)

Merge branch 'fc/macos-x-clipped-write' into maint

Mac OS X does not like to write(2) more than INT_MAX number of
bytes; work it around by chopping write(2) into smaller pieces.

* fc/macos-x-clipped-write:
compate/clipped-write.c: large write(2) fails on Mac OS X/XNU

Merge branch 'da/darwin' into maintJunio C Hamano Sun, 30 Jun 2013 22:33:13 +0000 (15:33 -0700)

Merge branch 'da/darwin' into maint

Newer MacOS X encourages the programs to compile and link with their
CommonCrypto, not with OpenSSL.

* da/darwin:
imap-send: eliminate HMAC deprecation warnings on Mac OS X
cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
Makefile: add support for Apple CommonCrypto facility
Makefile: fix default regex settings on Darwin

check-ignore doc: fix broken link to ls-files pageRamkumar Ramachandra Sun, 30 Jun 2013 12:05:28 +0000 (17:35 +0530)

check-ignore doc: fix broken link to ls-files page

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test: spell 'ls-files --delete' option correctly in... SZEDER Gábor Sun, 30 Jun 2013 10:45:25 +0000 (12:45 +0200)

test: spell 'ls-files --delete' option correctly in test descriptions

The option is spelled '--deleted'.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.3.2 v1.8.3.2Junio C Hamano Fri, 28 Jun 2013 21:56:30 +0000 (14:56 -0700)

Git 1.8.3.2

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

configure: fix option help message for --disable-pthreadsStefano Lattarini Fri, 28 Jun 2013 17:19:42 +0000 (19:19 +0200)

configure: fix option help message for --disable-pthreads

The configure option to disable threading is '--disable-pthreads',
not '--without-pthreads'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'nd/clone-connectivity-shortcut' (early... Junio C Hamano Fri, 28 Jun 2013 17:00:00 +0000 (10:00 -0700)

Merge branch 'nd/clone-connectivity-shortcut' (early part) into maint

Cloning with "git clone --depth N" while fetch.fsckobjects (or
transfer.fsckobjects) is set to true did not tell the cut-off points
of the shallow history to the process that validates the objects and
the history received, causing the validation to fail.

* 'nd/clone-connectivity-shortcut' (early part):
fetch-pack: prepare updated shallow file before fetching the pack
clone: let the user know when check_everything_connected is run

Start preparing for 1.8.3.2Junio C Hamano Thu, 27 Jun 2013 21:48:14 +0000 (14:48 -0700)

Start preparing for 1.8.3.2

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

Merge branch 'ks/difftool-dir-diff-copy-fix' into maintJunio C Hamano Thu, 27 Jun 2013 21:38:22 +0000 (14:38 -0700)

Merge branch 'ks/difftool-dir-diff-copy-fix' into maint

* ks/difftool-dir-diff-copy-fix:
difftool --dir-diff: allow changing any clean working tree file

Merge branch 'rr/push-head' into maintJunio C Hamano Thu, 27 Jun 2013 21:38:17 +0000 (14:38 -0700)

Merge branch 'rr/push-head' into maint

* rr/push-head:
push: make push.default = current use resolved HEAD
push: fail early with detached HEAD and current
push: factor out the detached HEAD error message

Merge branch 'fc/show-branch-in-rebase-am' into maintJunio C Hamano Thu, 27 Jun 2013 21:38:16 +0000 (14:38 -0700)

Merge branch 'fc/show-branch-in-rebase-am' into maint

* fc/show-branch-in-rebase-am:
prompt: fix for simple rebase

Merge branch 'tg/maint-zsh-svn-remote-prompt' into... Junio C Hamano Thu, 27 Jun 2013 21:38:14 +0000 (14:38 -0700)

Merge branch 'tg/maint-zsh-svn-remote-prompt' into maint

* tg/maint-zsh-svn-remote-prompt:
prompt: fix show upstream with svn and zsh

Merge branch 'nd/urls-doc-no-file-hyperlink-fix' into... Junio C Hamano Thu, 27 Jun 2013 21:38:12 +0000 (14:38 -0700)

Merge branch 'nd/urls-doc-no-file-hyperlink-fix' into maint

* nd/urls-doc-no-file-hyperlink-fix:
urls.txt: avoid auto converting to hyperlink

Merge branch 'tr/push-no-verify-doc' into maintJunio C Hamano Thu, 27 Jun 2013 21:38:09 +0000 (14:38 -0700)

Merge branch 'tr/push-no-verify-doc' into maint

* tr/push-no-verify-doc:
Document push --no-verify

Merge branch 'rs/commit-m-no-edit' into maintJunio C Hamano Thu, 27 Jun 2013 21:38:07 +0000 (14:38 -0700)

Merge branch 'rs/commit-m-no-edit' into maint

* rs/commit-m-no-edit:
commit: don't start editor if empty message is given with -m

Merge branch 'jc/strbuf-branchname-fix' into maintJunio C Hamano Thu, 27 Jun 2013 21:38:02 +0000 (14:38 -0700)

Merge branch 'jc/strbuf-branchname-fix' into maint

* jc/strbuf-branchname-fix:
strbuf_branchname(): do not double-expand @{-1}~22

Merge branch 'mk/combine-diff-context-horizon-fix'... Junio C Hamano Thu, 27 Jun 2013 21:37:55 +0000 (14:37 -0700)

Merge branch 'mk/combine-diff-context-horizon-fix' into maint

* mk/combine-diff-context-horizon-fix:
combine-diff.c: Fix output when changes are exactly 3 lines apart

Merge branch 'kb/ancestry-path-threedots' into maintJunio C Hamano Thu, 27 Jun 2013 21:37:52 +0000 (14:37 -0700)

Merge branch 'kb/ancestry-path-threedots' into maint

* kb/ancestry-path-threedots:
revision.c: treat A...B merge bases as if manually specified
t6019: demonstrate --ancestry-path A...B breakage

Merge branch 'jk/subtree-do-not-push-if-split-fails... Junio C Hamano Thu, 27 Jun 2013 21:37:44 +0000 (14:37 -0700)

Merge branch 'jk/subtree-do-not-push-if-split-fails' into maint

* jk/subtree-do-not-push-if-split-fails:
contrib/subtree: don't delete remote branches if split fails

Merge branch 'mh/fetch-into-shallow' into maintJunio C Hamano Thu, 27 Jun 2013 21:37:41 +0000 (14:37 -0700)

Merge branch 'mh/fetch-into-shallow' into maint

* mh/fetch-into-shallow:
t5500: add test for fetching with an unknown 'shallow'
upload-pack: ignore 'shallow' lines with unknown obj-ids

Merge branch 'jh/checkout-auto-tracking' into maintJunio C Hamano Thu, 27 Jun 2013 21:37:21 +0000 (14:37 -0700)

Merge branch 'jh/checkout-auto-tracking' into maint

* jh/checkout-auto-tracking:
glossary: Update and rephrase the definition of a remote-tracking branch
branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
t9114.2: Don't use --track option against "svn-remote"-tracking branches
t7201.24: Add refspec to keep --track working
t3200.39: tracking setup should fail if there is no matching refspec.
checkout: Use remote refspecs when DWIMming tracking branches
t2024: Show failure to use refspec when DWIMming remote branch names
t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'

column doc: rewrite documentation for column.uiRamkumar Ramachandra Tue, 25 Jun 2013 15:54:36 +0000 (21:24 +0530)

column doc: rewrite documentation for column.ui

The configuration option column.ui is very poorly documented, and it is
unclear what the defaults are, and what option can be combined with
what. Rewrite it by splitting up the options into three sections
clearly showing how COL_ENABLED, COL_LAYOUT_MASK, and COL_DENSE work.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

user-manual: Update download size for Git and the kernelW. Trevor King Wed, 19 Jun 2013 01:55:22 +0000 (21:55 -0400)

user-manual: Update download size for Git and the kernel

They've grown since d19fbc3 (Documentation: add git user's manual,
2007-01-07) when the stats were initially added. I've rounded
download sizes up to the nearest multiple of ten MiB to decrease the
precision and give a bit of growing room. Exact sizes:

$ git clone git://git.kernel.org/pub/scm/git/git.git
Initialized empty Git repository in /tmp/git/.git/
remote: Counting objects: 156872, done.
remote: Compressing objects: 100% (40826/40826), done.
remote: Total 156872 (delta 115322), reused 155492 (delta 114094)
Receiving objects: 100% (156872/156872), 37.29 MiB | 7.54 MiB/s, done.
Resolving deltas: 100% (115322/115322), done.

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Initialized empty Git repository in /tmp/linux/.git/
remote: Counting objects: 3057404, done.
remote: Compressing objects: 100% (474769/474769), done.
Receiving objects: 100% (3057404/3057404), 634.33 MiB | 27.95 MiB/s, done.
remote: Total 3057404 (delta 2570385), reused 3040910 (delta 2554408)
Resolving deltas: 100% (2570385/2570385), done.
Checking out files: 100% (43012/43012), done.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

lib-httpd/apache.conf: check version only after mod_ver... Jeff King Fri, 21 Jun 2013 18:12:51 +0000 (14:12 -0400)

lib-httpd/apache.conf: check version only after mod_version loads

Commit 0442743 introduced an <IfVersion> directive near the
top of the apache config file. However, at that point we
have not yet checked for and loaded the mod_version module.
This means that the directive will behave oddly if
mod_version is dynamically loaded, failing to match when it
should.

We can fix this by moving the whole block below the
LoadModule directive for mod_version.

Reported-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

web--browse: support /usr/bin/cygstart on CygwinYaakov Selkowitz Fri, 21 Jun 2013 07:24:32 +0000 (02:24 -0500)

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

While both GUI and console Cygwin browsers do exist, anecdotal evidence
suggests most users rely on their native Windows browser. cygstart,
which is a long-standing part of the base Cygwin installation, will
cause the page to be opened in the default Windows browser (the one
registered to open .html files).

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: complete diff --word-diffRamkumar Ramachandra Tue, 18 Jun 2013 19:24:05 +0000 (00:54 +0530)

completion: complete diff --word-diff

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: carefully strdup a possibly-NULL nameThomas Rast Fri, 21 Jun 2013 11:38:00 +0000 (13:38 +0200)

apply: carefully strdup a possibly-NULL name

2901bbe (apply: free patch->{def,old,new}_name fields, 2012-03-21)
cleaned up the memory management of filenames in the patches, but
forgot that find_name_traditional() can return NULL as a way of saying
"I couldn't find a name".

That NULL unfortunately gets passed into xstrdup() next, resulting in
a segfault. Use null_strdup() so as to safely propagate the null,
which will let us emit the correct error message.

Reported-by: DevHC on #git
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pull: merge into unborn by fast-forwarding from empty... Thomas Rast Thu, 20 Jun 2013 22:38:28 +0000 (18:38 -0400)

pull: merge into unborn by fast-forwarding from empty tree

The logic for pulling into an unborn branch was originally
designed to be used on a newly-initialized repository
(d09e79c, git-pull: allow pulling into an empty repository,
2006-11-16). It thus did not initially deal with
uncommitted changes in the unborn branch. The case of an
_unstaged_ untracked file was fixed by 4b3ffe5 (pull: do not
clobber untracked files on initial pull, 2011-03-25).
However, it still clobbered existing staged files, both when
the file exists in the merged commit (it will be
overwritten), and when it does not (it will be deleted).

We fix this by doing a two-way merge, where the "current"
side of the merge is an empty tree, and the "target" side is
HEAD (already updated to FETCH_HEAD at this point). This
amounts to claiming that all work in the index was done vs.
an empty tree, and thus all content of the index is
precious.

Note that this use of read-tree just gives us protection
against overwriting index and working tree changes. It will
not actually result in a 3-way merge conflict in the index.
This is fine, as this is a rare situation, and the conflict
would not be interesting anyway (it must, by definition, be
an add/add conflict with the whole content conflicting). And
it makes it simpler for the user to recover, as they have no
HEAD to "git reset" back to.

Reported-by: Stefan Schüßler <mail@stefanschuessler.de>
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pull: update unborn branch tip after indexJeff King Thu, 20 Jun 2013 22:36:31 +0000 (18:36 -0400)

pull: update unborn branch tip after index

When commit d09e79c taught git to pull into an unborn
branch, it first updated the unborn branch to point at the
pulled commit, and then used read-tree to update the index
and working tree. That ordering made sense, since any
failure of the latter step would be due to filesystem
errors, and one could then recover with "git reset --hard".

Later, commit 4b3ffe5 added extra safety for existing files
in the working tree by asking read-tree to bail out when it
would overwrite such a file. This error mode is much less
"your pull failed due to random errors" and more like "we
reject this pull because it would lose data". In that case,
it makes sense not to update the HEAD ref, just as a regular
rejected merge would do.

This patch reverses the order of the update-ref and
read-tree calls, so that we do not touch the HEAD ref at all if a
merge is rejected. This also means that we would not update
HEAD in case of a transient filesystem error, but those are
presumably less rare (and one can still recover by repeating
the pull, or by accessing FETCH_HEAD directly).

While we're reorganizing the code, we can drop the "exit 1"
from the end of our command chain. We exit immediately
either way, and just calling exit without an argument will
use the exit code from the last command.

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

t7400: test of UTF-8 submodule names pass under Mac OSTorsten Bögershausen Thu, 20 Jun 2013 14:58:48 +0000 (16:58 +0200)

t7400: test of UTF-8 submodule names pass under Mac OS

submodules with names using UTF-8 need core.precomposeunicode true
under Mac OS X, set it in the test case.

Improve the portability:

- Not all shells on all OS may understand literal UTF-8 strings.
- Use a help variable filled by printf, as we do it in e.g. t0050.

"strange names" can be called UTF-8, rephrase the heading.

While at it, unbreak &&-chain in the test, and use test_config.

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

send-email: sanitize author when writing From lineMichael S. Tsirkin Tue, 18 Jun 2013 12:49:26 +0000 (15:49 +0300)

send-email: sanitize author when writing From line

sender is now sanitized, but we didn't sanitize author when checking
whether From: line is needed in the message body.

As a result git started writing duplicate From: lines when author
matched sender and has utf8 characters.

Reported-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: add test for duplicate utf8 nameMichael S. Tsirkin Tue, 18 Jun 2013 12:49:29 +0000 (15:49 +0300)

send-email: add test for duplicate utf8 name

Verify that author name is not duplicated if it matches sender, even
if it is in utf8 (the test expects a failure that will be fixed in
the next patch).

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

random typofixes (committed missing a 't', successful... Veres Lajos Wed, 19 Jun 2013 05:37:24 +0000 (07:37 +0200)

random typofixes (committed missing a 't', successful missing an 's')

Signed-off-by: Veres Lajos <vlajos@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http.c: don't rewrite the user:passwd string multiple... Brandon Casey Wed, 19 Jun 2013 02:43:49 +0000 (19:43 -0700)

http.c: don't rewrite the user:passwd string multiple times

Curl older than 7.17 (RHEL 4.X provides 7.12 and RHEL 5.X provides
7.15) requires that we manage any strings that we pass to it as
pointers. So, we really shouldn't be modifying this strbuf after we
have passed it to curl.

Our interaction with curl is currently safe (before or after this
patch) since the pointer that is passed to curl is never invalidated;
it is repeatedly rewritten with the same sequence of characters but
the strbuf functions never need to allocate a larger string, so the
same memory buffer is reused.

This "guarantee" of safety is somewhat subtle and could be overlooked
by someone who may want to add a more complex handling of the username
and password. So, let's stop modifying this strbuf after we have
passed it to curl, but also leave a note to describe the assumptions
that have been made about username/password lifetime and to draw
attention to the code.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/git-push.txt: explain better cases where... Matthieu Moy Mon, 17 Jun 2013 17:52:41 +0000 (19:52 +0200)

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

The behavior of "git push --force" is rather clear when it updates only
one remote ref, but running it when pushing several branches can really
be dangerous. Warn the users a bit more and give them the alternative to
push only one branch.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/lib-httpd/apache.conf: configure an MPM module for... Jeff King Sun, 9 Jun 2013 08:09:32 +0000 (04:09 -0400)

t/lib-httpd/apache.conf: configure an MPM module for apache 2.4

Versions of Apache before 2.4 always had a "MultiProcessing
Module" (MPM) statically built in, which manages the worker
threads/processes. We do not care which one, as it is
largely a performance issue, and we put only a light load on
the server during our testing.

As of Apache 2.4, the MPM module is loadable just like any
other module, but exactly one such module must be loaded. On
a system where the MPMs are compiled dynamically (e.g.,
Debian unstable), this means that our test Apache server
will not start unless we provide the appropriate
configuration.

Unfortunately, we do not actually know which MPM modules are
available or appropriate for the system on which the tests
are running. This patch picks the "prefork" module, as it
is likely to be available on all Unix-like systems.

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

t/lib-httpd/apache.conf: load compat access module... Jeff King Sun, 9 Jun 2013 08:08:45 +0000 (04:08 -0400)

t/lib-httpd/apache.conf: load compat access module in apache 2.4

In apache 2.4, the "Order" directive has gone away in favor
of a new system in mod_authz_host. However, since we want
our config file to remain compatible across multiple Apache
versions, we can use mod_access_compat to keep using the
older style.

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

t/lib-httpd/apache.conf: load extra auth modules in... Jeff King Sun, 9 Jun 2013 08:08:22 +0000 (04:08 -0400)

t/lib-httpd/apache.conf: load extra auth modules in apache 2.4

In apache 2.4, the "Auth*" and "Require" directives have
moved into the authn_core and authz_core modules,
respectively.

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

t/lib-httpd/apache.conf: do not use LockFile in apache... Jeff King Sun, 9 Jun 2013 08:07:59 +0000 (04:07 -0400)

t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4

The LockFile directive from earlier versions of apache has
been replaced by the Mutex directive. The latter seems to
give sane defaults and does not need any specific
customization, so we can get away with just adding a version
check to the use of LockFile.

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

handle multibyte characters in nameFredrik Gustafsson Fri, 14 Jun 2013 00:26:02 +0000 (02:26 +0200)

handle multibyte characters in name

Many "git submodule" operations do not work on a submodule at a path whose
name is not in ASCII.

This is because "git ls-files" is used to find which paths are bound to
submodules to the current working tree, and the output is C-quoted by default
for non ASCII pathnames.

Tell "git ls-files" to not C-quote its output, which is easier than unwrapping
C-quote ourselves.

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

use logical OR (||) instead of binary OR (|) in logical... René Scharfe Thu, 13 Jun 2013 18:19:44 +0000 (20:19 +0200)

use logical OR (||) instead of binary OR (|) in logical context

The compiler can short-circuit the evaluation of conditions strung
together with logical OR operators instead of computing the resulting
bitmask with binary ORs. More importantly, this patch makes the
intent of the changed code clearer, because the logical context (as
opposed to binary context) becomes immediately obvious.

While we're at it, simplify the check for patch->is_rename in
builtin/apply.c a bit; it can only be 0 or 1, so we don't need a
comparison operator.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.8.2' into maintJunio C Hamano Tue, 11 Jun 2013 21:24:56 +0000 (14:24 -0700)

Merge branch 'maint-1.8.2' into maint

* maint-1.8.2:
t0070 "mktemp to unwritable directory" needs SANITY
pre-push.sample: Make the script executable

t0070 "mktemp to unwritable directory" needs SANITYTorsten Bögershausen Sat, 8 Jun 2013 12:17:49 +0000 (14:17 +0200)

t0070 "mktemp to unwritable directory" needs SANITY

Use the SANITY prerequisite when testing if a temp file can
be created in a read only directory.
Skip the test under CYGWIN, or skip it under Unix/Linux when
it is run as root.

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

pre-push.sample: Make the script executableWieland Hoffmann Tue, 11 Jun 2013 12:14:56 +0000 (14:14 +0200)

pre-push.sample: Make the script executable

githooks(5) says that "[...]the .sample files are executable by default"
which was not true.

Signed-off-by: Wieland Hoffmann <themineo@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.3.1 v1.8.3.1Junio C Hamano Mon, 10 Jun 2013 00:16:20 +0000 (17:16 -0700)

Git 1.8.3.1

Primarily to push out two regression issues that seem to affect many
people, namely, the ".gitignore !directory" bug and "daemon cannot
read from $HOME owned by root" bug.

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

mingw: make mingw_signal return the correct handlerErik Faye-Lund Mon, 10 Jun 2013 05:48:17 +0000 (07:48 +0200)

mingw: make mingw_signal return the correct handler

Returning the SIGALRM handler for SIGINT is not very useful.

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

Merge branch 'jn/config-ignore-inaccessible' into maintJunio C Hamano Mon, 10 Jun 2013 00:06:55 +0000 (17:06 -0700)

Merge branch 'jn/config-ignore-inaccessible' into maint

A git daemon that starts as "root" and then drops privilege often
leaves $HOME set to that of the root user, which is unreadable by
the daemon process, which was diagnosed as a configuration error.

Make per-user configuration files that are inaccessible due to
EACCES as though these files do not exist to avoid this issue, as
the tightening which was originally meant as an additional security
has annoyed enough sysadmins.

* jn/config-ignore-inaccessible:
config: allow inaccessible configuration under $HOME

Merge branch 'kb/status-ignored-optim-2' into maintJunio C Hamano Mon, 10 Jun 2013 00:05:15 +0000 (17:05 -0700)

Merge branch 'kb/status-ignored-optim-2' into maint

Fix recent regression of .gitignore files that list !directory to
mark it not-ignored.

* kb/status-ignored-optim-2:
dir.c: fix ignore processing within not-ignored directories

read-cache: free cache in discard_indexRené Scharfe Sun, 9 Jun 2013 17:39:18 +0000 (19:39 +0200)

read-cache: free cache in discard_index

discard_cache doesn't have to free the array of cache entries, because
the next call of read_cache can simply reuse it, as they all operate on
the global variable the_index.

discard_index on the other hand does have to free it, because it can be
used e.g. with index_state variables on the stack, in which case a
missing free would cause an unrecoverable leak. This patch releases the
memory and removes a comment that was relevant for discard_cache but has
become outdated.

Since discard_cache is just a wrapper around discard_index nowadays, we
lose the optimization that avoids reallocation of that array within
loops of read_cache and discard_cache. That doesn't cause a performance
regression for me, however (HEAD = this patch, HEAD^ = master + p0002):

Test // HEAD^ HEAD
---------------\\-----------------------------------------------------
0002.1: read_ca// 1000 times 0.62(0.58+0.04) 0.61(0.58+0.02) -1.6%

Suggested-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

read-cache: add simple performance testRené Scharfe Sun, 9 Jun 2013 17:39:17 +0000 (19:39 +0200)

read-cache: add simple performance test

Add the helper test-read-cache, which can be used to call read_cache and
discard_cache in a loop as well as a performance check based on it.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

submodule: remove redundant check for the_index.initializedRené Scharfe Sun, 9 Jun 2013 16:33:45 +0000 (18:33 +0200)

submodule: remove redundant check for the_index.initialized

read_cache already performs the same check and returns immediately if
the cache has already been loaded.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Document .git/modulesFredrik Gustafsson Sun, 9 Jun 2013 11:11:36 +0000 (13:11 +0200)

Document .git/modules

A note in the beginning of this document describes the behavior already.
This patch just adds where to find the repositories.

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

t4011: remove SYMLINKS prerequisiteJohannes Sixt Fri, 7 Jun 2013 20:53:34 +0000 (22:53 +0200)

t4011: remove SYMLINKS prerequisite

The part of the test that is about symbolic links in the index does not
require that the corresponding file system entry is actually a symbolic
link. Use test_ln_s_add to insert a symbolic link in the index. When
the file system does not support symbolic links, we actually have a
regular file in the worktree, which we can update as if it were a
symbolic link. diff-index picks up the symbolic link property from the
index.

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