gitweb.git
Merge branch 'tr/submodule-relative-scp-url' into maintJunio C Hamano Wed, 19 Jan 2011 16:26:41 +0000 (08:26 -0800)

Merge branch 'tr/submodule-relative-scp-url' into maint

* tr/submodule-relative-scp-url:
submodule: fix relative url parsing for scp-style origin

Merge branch 'rj/maint-difftool-cygwin-workaround'... Junio C Hamano Wed, 19 Jan 2011 16:26:24 +0000 (08:26 -0800)

Merge branch 'rj/maint-difftool-cygwin-workaround' into maint

* rj/maint-difftool-cygwin-workaround:
difftool: Fix failure on Cygwin

Merge branch 'rj/maint-test-fixes' into maintJunio C Hamano Wed, 19 Jan 2011 16:26:17 +0000 (08:26 -0800)

Merge branch 'rj/maint-test-fixes' into maint

* rj/maint-test-fixes:
t9501-*.sh: Fix a test failure on Cygwin
lib-git-svn.sh: Add check for mis-configured web server variables
lib-git-svn.sh: Avoid setting web server variables unnecessarily
t9142: Move call to start_httpd into the setup test
t3600-rm.sh: Don't pass a non-existent prereq to test #15

Merge branch 'jn/maint-gitweb-pathinfo-fix' into maintJunio C Hamano Wed, 19 Jan 2011 16:26:04 +0000 (08:26 -0800)

Merge branch 'jn/maint-gitweb-pathinfo-fix' into maint

* jn/maint-gitweb-pathinfo-fix:
gitweb: Fix handling of whitespace in generated links

Merge branch 'ak/describe-exact' into maintJunio C Hamano Wed, 19 Jan 2011 16:25:52 +0000 (08:25 -0800)

Merge branch 'ak/describe-exact' into maint

* ak/describe-exact:
describe: Delay looking up commits until searching for an inexact match
describe: Store commit_names in a hash table by commit SHA1
describe: Do not use a flex array in struct commit_name
describe: Use for_each_rawref

Merge branch 'jn/maint-fast-import-object-reuse' into... Junio C Hamano Wed, 19 Jan 2011 16:25:46 +0000 (08:25 -0800)

Merge branch 'jn/maint-fast-import-object-reuse' into maint

* jn/maint-fast-import-object-reuse:
fast-import: insert new object entries at start of hash bucket

Merge branch 'jn/submodule-b-current' into maintJunio C Hamano Wed, 19 Jan 2011 16:25:41 +0000 (08:25 -0800)

Merge branch 'jn/submodule-b-current' into maint

* jn/submodule-b-current:
git submodule: Remove now obsolete tests before cloning a repo
git submodule -b ... of current HEAD fails

Merge branch 'jc/maint-svn-info-test-fix' into maintJunio C Hamano Wed, 19 Jan 2011 16:25:38 +0000 (08:25 -0800)

Merge branch 'jc/maint-svn-info-test-fix' into maint

* jc/maint-svn-info-test-fix:
t9119: do not compare "Text Last Updated" line from "svn info"

Merge branch 'nd/maint-relative' into maintJunio C Hamano Wed, 19 Jan 2011 16:25:31 +0000 (08:25 -0800)

Merge branch 'nd/maint-relative' into maint

* nd/maint-relative:
get_cwd_relative(): do not misinterpret root path

commit: suggest --amend --reset-author to fix commiter... Matthieu Moy Wed, 12 Jan 2011 18:29:14 +0000 (19:29 +0100)

commit: suggest --amend --reset-author to fix commiter identity

Since the message advises to fix the configuration first, the
advantage of using this command is that it is cut-and-paste ready,
while using --author='...' requires the user to type his name and
email again.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.7.2' into maintJunio C Hamano Mon, 10 Jan 2011 18:39:28 +0000 (10:39 -0800)

Merge branch 'maint-1.7.2' into maint

* maint-1.7.2:
Documentation/githooks: post-rewrite-copy-notes never existed
Documentation/git-archive: spell --worktree-attributes correctly

Merge branch 'maint-1.7.1' into maint-1.7.2Junio C Hamano Mon, 10 Jan 2011 18:39:18 +0000 (10:39 -0800)

Merge branch 'maint-1.7.1' into maint-1.7.2

* maint-1.7.1:
Documentation/githooks: post-rewrite-copy-notes never existed
Documentation/git-archive: spell --worktree-attributes correctly

Merge branch 'maint-1.7.0' into maint-1.7.1Junio C Hamano Mon, 10 Jan 2011 18:39:04 +0000 (10:39 -0800)

Merge branch 'maint-1.7.0' into maint-1.7.1

* maint-1.7.0:
Documentation/git-archive: spell --worktree-attributes correctly

submodule: fix relative url parsing for scp-style originThomas Rast Mon, 10 Jan 2011 10:37:26 +0000 (11:37 +0100)

submodule: fix relative url parsing for scp-style origin

The function resolve_relative_url was not prepared to deal with an
scp-style origin 'user@host:path' in the case where 'path' is only a
single component. Fix this by extending the logic that strips one
path component from the $remoteurl.

Also add tests for both styles of URLs.

Noticed-by: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/githooks: post-rewrite-copy-notes never... Thomas Rast Mon, 10 Jan 2011 12:42:23 +0000 (13:42 +0100)

Documentation/githooks: post-rewrite-copy-notes never existed

The documentation for the post-rewrite hook contains a paragraph from
its early development, where the automatic notes copying facilities
were not part of the series and thus this had to be a hook. Later
versions of the series implemented notes copying as a core feature.

Thus mentioning post-rewrite-copy-notes was never correct. As the
other hooks do not have a "there is no default hook, but..." sentence
unless they ship a sample hook in either templates or contrib, we
simply remove the whole paragraph.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/git-archive: spell --worktree-attributes... Thomas Rast Mon, 10 Jan 2011 12:57:43 +0000 (13:57 +0100)

Documentation/git-archive: spell --worktree-attributes correctly

The --worktree-attributes option was correctly documented in ba053ea
(archive: do not read .gitattributes in working directory,
2009-04-18). However, later in 9b4c8b0 (archive documentation:
attributes are taken from the tree by default, 2010-02-10) the
misspelling "--work-tree-attributes" was used to refer to it. Fix
this.

Noticed-by: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Mark gitk script executableAnders Kaseorg Fri, 7 Jan 2011 01:14:41 +0000 (20:14 -0500)

Mark gitk script executable

The executable bit on gitk-git/gitk was lost (accidentally it seems) by
commit 62ba5143ec2ab9d4083669b1b1679355e7639cd5. Put it back, so that
gitk can be run directly from a git.git checkout.

Note that the script is already executable in gitk.git, just not in
git.git.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.3.5 v1.7.3.5Junio C Hamano Wed, 5 Jan 2011 22:49:19 +0000 (14:49 -0800)

Git 1.7.3.5

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

gitweb: skip logo in atom feed when there is noneJonathan Nieder Sat, 4 Sep 2010 00:44:39 +0000 (19:44 -0500)

gitweb: skip logo in atom feed when there is none

With v1.5.0-rc0~169 (gitweb: Fix Atom feed <logo>: it is $logo,
not $logo_url, 2006-12-04), the logo URI to be written to Atom
feeds was corrected but the case of no logo forgotten.

Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9001: Fix test prerequisitesRobin H. Johnson Wed, 29 Dec 2010 21:02:31 +0000 (21:02 +0000)

t9001: Fix test prerequisites

Add in missing Perl prerequisites for new tests of send-email.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Prepare for 1.7.3.5Junio C Hamano Tue, 28 Dec 2010 21:48:54 +0000 (13:48 -0800)

Prepare for 1.7.3.5

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

Merge branch 'jk/commit-die-on-bogus-ident' into maintJunio C Hamano Tue, 28 Dec 2010 21:45:12 +0000 (13:45 -0800)

Merge branch 'jk/commit-die-on-bogus-ident' into maint

* jk/commit-die-on-bogus-ident:
commit: die before asking to edit the log message
ident: die on bogus date format

Merge branch 'ks/blame-worktree-textconv-cached' into... Junio C Hamano Tue, 28 Dec 2010 21:44:58 +0000 (13:44 -0800)

Merge branch 'ks/blame-worktree-textconv-cached' into maint

* ks/blame-worktree-textconv-cached:
fill_textconv(): Don't get/put cache if sha1 is not valid
t/t8006: Demonstrate blame is broken when cachetextconv is on

Merge branch 'jc/maint-rebase-rewrite-last-skip' into... Junio C Hamano Tue, 28 Dec 2010 21:43:10 +0000 (13:43 -0800)

Merge branch 'jc/maint-rebase-rewrite-last-skip' into maint

* jc/maint-rebase-rewrite-last-skip:
rebase --skip: correctly wrap-up when skipping the last patch

Merge branch 'jc/maint-am-abort-safely' into maintJunio C Hamano Tue, 28 Dec 2010 21:42:55 +0000 (13:42 -0800)

Merge branch 'jc/maint-am-abort-safely' into maint

* jc/maint-am-abort-safely:
am --abort: keep unrelated commits since the last failure and warn

Merge branch 'kb/maint-status-cquote' into maintJunio C Hamano Tue, 28 Dec 2010 21:23:20 +0000 (13:23 -0800)

Merge branch 'kb/maint-status-cquote' into maint

* kb/maint-status-cquote:
status: Quote paths with spaces in short format

Fix false positives in t3404 due to SHELL=/bin/falseRobin H. Johnson Mon, 27 Dec 2010 08:03:43 +0000 (08:03 +0000)

Fix false positives in t3404 due to SHELL=/bin/false

If the user's shell in NSS passwd is /bin/false (eg as found during Gentoo's
package building), the git-rebase exec tests will fail, because they call
$SHELL around the command, and in the existing testcase, $SHELL was not being
cleared sufficently.

This lead to false positive failures of t3404 on systems where the package
build user was locked down as noted above.

Signed-off-by: "Robin H. Johnson" <robbat2@gentoo.org>
X-Gentoo-Bug: 349083
X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=349083
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rs/maint-diff-fd-leak' into maintJunio C Hamano Sun, 26 Dec 2010 19:18:39 +0000 (11:18 -0800)

Merge branch 'rs/maint-diff-fd-leak' into maint

* rs/maint-diff-fd-leak:
close file on error in read_mmfile()

close file on error in read_mmfile()René Scharfe Sat, 25 Dec 2010 12:38:46 +0000 (13:38 +0100)

close file on error in read_mmfile()

Reported in http://qa.debian.org/daca/cppcheck/sid/git_1.7.2.3-2.2.html
and in http://thread.gmane.org/gmane.comp.version-control.git/123042.

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

test-lib.sh/test_decode_color(): use octal not hex... Brandon Casey Wed, 22 Dec 2010 23:58:52 +0000 (15:58 -0800)

test-lib.sh/test_decode_color(): use octal not hex in awk script

POSIX awk seems to explicitly not support hexadecimal escape sequences.

From http://pubs.opengroup.org/onlinepubs/009695399/:

Regular expressions in awk have been extended somewhat...
One sequence that is not supported is hexadecimal value escapes
beginning with '\x'.

This affects the awk on IRIX 6.5, and causes t4015.56 to fail.
Use octal instead.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase --skip: correctly wrap-up when skipping the... Junio C Hamano Thu, 23 Dec 2010 00:50:28 +0000 (16:50 -0800)

rebase --skip: correctly wrap-up when skipping the last patch

When "rebase --skip" is used to skip the last patch in the series, the
code to wrap up the rewrite by copying the notes from old to new commits
and also by running the post-rewrite hook was bypassed.

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

t0050: fix printf format strings for portabilityJonathan Nieder Tue, 21 Dec 2010 20:27:55 +0000 (14:27 -0600)

t0050: fix printf format strings for portability

Unlike bash and ksh, dash passes through hexadecimal \xcc escapes.
So when run with dash, these tests *pass* (since '\xcc' is a perfectly
reasonable filename) but they are not testing what was intended.

Use octal escapes instead, in the spirit of v1.6.1-rc1~55^2
(2008-11-09).

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

t3419-*.sh: Fix arithmetic expansion syntax errorRamsay Jones Tue, 21 Dec 2010 18:50:47 +0000 (18:50 +0000)

t3419-*.sh: Fix arithmetic expansion syntax error

Some shells, for example dash versions older than 0.5.4, need to
spell a variable reference as '$N' rather than 'N' in an arithmetic
expansion. In order to avoid the syntax error, we change the
offending variable reference from 'i' to '$i' in function scramble.

There is nothing bash specific to this test script (and we shouldn't
have any bash dependent test). Fix its shebang line.

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

am --abort: keep unrelated commits since the last failu... Junio C Hamano Tue, 21 Dec 2010 18:35:53 +0000 (10:35 -0800)

am --abort: keep unrelated commits since the last failure and warn

After making commits (either by pulling or doing their own work) after a
failed "am", the user will be reminded by next "am" invocation that there
was a failed "am" that the user needs to decide to resolve or to get rid
of the old "am" attempt. The "am --abort" option was meant to help the
latter. However, it rewinded the HEAD back to the beginning of the failed
"am" attempt, discarding commits made (perhaps by mistake) since.

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

commit: die before asking to edit the log messageJunio C Hamano Tue, 21 Dec 2010 01:00:36 +0000 (17:00 -0800)

commit: die before asking to edit the log message

When determine_author_info() returns to the calling prepare_to_commit(),
we already know the pieces of information necessary to determine what
author ident will be used in the final message, but deferred making a call
to fmt_ident() before the final commit_tree(). Most importantly, we would
open the editor to ask the user to compose the log message before it.

As one important side effect of fmt_ident() is to error out when the given
information is malformed, this resulted in us spawning the editor first
and then refusing to commit due to error, even though we had enough
information to detect the error before starting the editor, which was
annoying.

Move the fmt_ident() call to the end of determine_author_info() where we
have final determination of author info to rectify this.

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

ident: die on bogus date formatJeff King Mon, 13 Dec 2010 17:02:25 +0000 (12:02 -0500)

ident: die on bogus date format

If the user gives "git commit --date=foobar", we silently
ignore the --date flag. We should note the error.

This patch puts the fix at the lowest level of fmt_ident,
which means it also handles GIT_AUTHOR_DATE=foobar, as well.

There are two down-sides to this approach:

1. Technically this breaks somebody doing something like
"git commit --date=now", which happened to work because
bogus data is the same as "now". Though we do
explicitly handle the empty string, so anybody passing
an empty variable through the environment will still
work.

If the error is too much, perhaps it can be downgraded
to a warning?

2. The error checking happens _after_ the commit message
is written, which can be annoying to the user. We can
put explicit checks closer to the beginning of
git-commit, but that feels a little hack-ish; suddenly
git-commit has to care about how fmt_ident works. Maybe
we could simply call fmt_ident earlier?

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

fill_textconv(): Don't get/put cache if sha1 is not... Kirill Smelkov Sat, 18 Dec 2010 14:54:12 +0000 (17:54 +0300)

fill_textconv(): Don't get/put cache if sha1 is not valid

When blaming files in the working tree, the filespec is marked with
!sha1_valid, as we have not given the contents an object name yet. The
function to cache textconv results (keyed on the object name), however,
didn't check this condition, and ended up on storing the cached result
under a random object name.

Cc: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Cc: Clément Poulain <clement.poulain@ensimag.imag.fr>
Cc: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Cc: Jeff King <peff@peff.net>
Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/t8006: Demonstrate blame is broken when cachetextconv... Kirill Smelkov Sat, 18 Dec 2010 14:54:11 +0000 (17:54 +0300)

t/t8006: Demonstrate blame is broken when cachetextconv is on

I have a git repository with lots of .doc and .pdf files. There diff
works ok, but blaming is painfully slow without textconv cache, and with
textconv cache, blame says lots of lines are 'Not Yet Committed' which
is wrong.

Here is a test that demonstrates the problem.

Cc: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Cc: Clément Poulain <clement.poulain@ensimag.imag.fr>
Cc: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Cc: Jeff King <peff@peff.net>
Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Include links to feeds in HTML header only... Jakub Narebski Sat, 18 Dec 2010 20:02:13 +0000 (21:02 +0100)

gitweb: Include links to feeds in HTML header only for '200 OK' response

To do that, generating "<link />"s to feeds were refactored into
print_feed_meta() subroutine, to keep nesting (indent) level in
git_header_html() low. This has also the advantage of making code
more clear.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: John 'Warthog9' Hawley <warthog9@eaglescrag.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fsck docs: remove outdated and useless diagnosticMark Lodato Sat, 18 Dec 2010 05:38:38 +0000 (00:38 -0500)

fsck docs: remove outdated and useless diagnostic

In git-fsck(1), there was a reference to the warning "<tree> has full
pathnames in it". This exact wording has not been used since 2005
(commit f1f0d0889e55), when the wording was changed slightly. More
importantly, the description of that warning was useless, and there were
many other similar warning messages which were not document at all.
Since all these warnings are fairly obvious, there is no need for them
to be in the man page.

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

userdiff: fix typo in ruby and python word regexesThomas Rast Sat, 18 Dec 2010 16:17:53 +0000 (17:17 +0100)

userdiff: fix typo in ruby and python word regexes

Both had an unclosed ] that ruined the safeguard against not matching
a non-space char.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

trace.c: mark file-local function staticVasyl' Vavrychuk Thu, 16 Dec 2010 22:38:42 +0000 (00:38 +0200)

trace.c: mark file-local function static

Signed-off-by: Vasyl' Vavrychuk <vvavrychuk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix typo in git-gc document.Jiang Xin Thu, 16 Dec 2010 07:16:49 +0000 (15:16 +0800)

Fix typo in git-gc document.

The variable gc.packrefs for git-gc can be set to true, false and
"notbare", not "nobare".

Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

difftool: provide basename to external toolsMichael J Gruber Tue, 14 Dec 2010 09:18:35 +0000 (10:18 +0100)

difftool: provide basename to external tools

Currently, only configured diff helpers get the basename of the file
being compared. Tools specified with "git difftool -x" only get the
names of temporary files for the different versions.

Export BASE so that an external tool can read the name from the
environment. Rather than using a third argument, this avoids breaking
existing scripts which may somewhat carelessly be using "$@" rather than
"$1" "$2".

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

git-difftool.txt: correct the description of $BASE... Michael J Gruber Tue, 14 Dec 2010 09:18:34 +0000 (10:18 +0100)

git-difftool.txt: correct the description of $BASE and describe $MERGED

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

Git 1.7.3.4 v1.7.3.4Junio C Hamano Wed, 15 Dec 2010 19:47:40 +0000 (11:47 -0800)

Git 1.7.3.4

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

Git 1.7.2.5 v1.7.2.5Junio C Hamano Wed, 15 Dec 2010 19:45:36 +0000 (11:45 -0800)

Git 1.7.2.5

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

Git 1.7.1.4 v1.7.1.4Junio C Hamano Wed, 15 Dec 2010 19:40:40 +0000 (11:40 -0800)

Git 1.7.1.4

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

Git 1.7.0.9 v1.7.0.9Junio C Hamano Wed, 15 Dec 2010 19:38:19 +0000 (11:38 -0800)

Git 1.7.0.9

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

Git 1.6.6.3 v1.6.6.3Junio C Hamano Wed, 15 Dec 2010 19:32:57 +0000 (11:32 -0800)

Git 1.6.6.3

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

Git 1.6.5.9 v1.6.5.9Junio C Hamano Wed, 15 Dec 2010 19:27:41 +0000 (11:27 -0800)

Git 1.6.5.9

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

Git 1.6.4.5 v1.6.4.5Junio C Hamano Wed, 15 Dec 2010 19:19:11 +0000 (11:19 -0800)

Git 1.6.4.5

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

gitweb: Introduce esc_attr to escape attributes of... Jakub Narebski Tue, 14 Dec 2010 23:34:01 +0000 (00:34 +0100)

gitweb: Introduce esc_attr to escape attributes of HTML elements

It is needed only to escape attributes of handcrafted HTML elements,
and not those generated using CGI.pm subroutines / methods for HTML
generation.

While at it, add esc_url and esc_html where needed, and prefer to use
CGI.pm HTML generating methods than handcrafted HTML code. Most of
those are probably unnecessary (could be exploited only by person with
write access to gitweb config, or at least access to the repository).

This fixes CVE-2010-3906

Reported-by: Emanuele Gentili <e.gentili@tigersecurity.it>
Helped-by: John 'Warthog9' Hawley <warthog9@kernel.org>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

difftool: Fix failure on CygwinRamsay Jones Tue, 14 Dec 2010 18:27:48 +0000 (18:27 +0000)

difftool: Fix failure on Cygwin

In particular, test 14 'difftool last flag wins' in t7800 fails.
This is caused by git-difftool.perl passing both GIT_DIFFTOOL_NO_PROMPT
(='true') and GIT_DIFFTOOL_PROMPT (='true') to the difftool helper
script. Despite the appropriate key being deleted from the ENV
hash, it seems that once a key has been set in the hash, it gets
passed along to the system() call. (ie deleting the key does not
do the equivalent of unsetenv()).

In order to fix the problem, we keep track of the required prompt
state while processing the arguments, and then set the relevant
ENV hash key only once at the end.

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

t9501-*.sh: Fix a test failure on CygwinRamsay Jones Tue, 14 Dec 2010 18:26:38 +0000 (18:26 +0000)

t9501-*.sh: Fix a test failure on Cygwin

The first (setup) test attempts to create a file, using the
test_commit function, called 'i can has snapshot?'. On cygwin
(and MinGW) this fails with a "No such file or directory" error.
In order to fix the tests, we simply remove the '?' wildcard
from the name, since the purpose of these tests is not about
creating funny filenames.

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

lib-git-svn.sh: Add check for mis-configured web server... Ramsay Jones Tue, 14 Dec 2010 18:25:11 +0000 (18:25 +0000)

lib-git-svn.sh: Add check for mis-configured web server variables

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

lib-git-svn.sh: Avoid setting web server variables... Ramsay Jones Tue, 14 Dec 2010 18:22:29 +0000 (18:22 +0000)

lib-git-svn.sh: Avoid setting web server variables unnecessarily

If the SVN_HTTPD_PORT variable is not set, then we will not even
attempt to start a web server in the start_httpd function (despite
it's name), so there is no need to determine values for the
SVN_HTTPD_PATH and SVN_HTTPD_MODULE_PATH variables.

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

t9142: Move call to start_httpd into the setup testRamsay Jones Tue, 14 Dec 2010 18:20:38 +0000 (18:20 +0000)

t9142: Move call to start_httpd into the setup test

In addition to being more consistent with the other calls to
start_httpd in tests t9115-*.sh, t9118-*.sh and t9120-*.sh, this
has the added benefit of making the test less noisy. (start_httpd
writes "SVN_HTTPD_PORT is not defined!" on stderr.)

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

t3600-rm.sh: Don't pass a non-existent prereq to test #15Ramsay Jones Tue, 14 Dec 2010 18:19:09 +0000 (18:19 +0000)

t3600-rm.sh: Don't pass a non-existent prereq to test #15

Commit c91cfd19 (tests: A SANITY test prereq for testing if we're
root, 2010-08-06) introduced a SANITY prerequisite which had very
similar semantics to RO_DIR. That commit removed the code to set
RO_DIR, but forgot to replace RO_DIR with SANITY in test #15.

In order not to skip test 15 unnecessarily, since RO_DIR will never
be set, we pass the SANITY prerequisite instead.

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

gitweb: Fix handling of whitespace in generated linksJakub Narebski Tue, 14 Dec 2010 15:54:31 +0000 (16:54 +0100)

gitweb: Fix handling of whitespace in generated links

When creating path_info part of link, don't encode space as '+', because
while $cgi->param('foo') translates '+' in query param to ' ', neither
$ENV{'PATH_INFO'} nor $cgi->path_info() do.

This fixes the issue with pathnames with embedded whitespace and
$feature{'pathinfo'} / path_info links. It is done by using newly
introduced esc_path_info() instead of esc_url() in href() subroutine.

Also while links are more clear not escaping space (' ') characters in
generated links, the trailing space must be URI-encoded, otherwise would
get discarded.

Issue noticed thanks to John 'Warthog9' Hawley.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Prepare for 1.7.3.4Junio C Hamano Tue, 14 Dec 2010 15:51:35 +0000 (07:51 -0800)

Prepare for 1.7.3.4

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

use persistent memory for rejected pathsClemens Buchacher Mon, 15 Nov 2010 19:52:19 +0000 (20:52 +0100)

use persistent memory for rejected paths

An aborted merge prints the list of rejected paths as part of the
error message. Since commit f66caaf9 (do not overwrite files in
leading path), some of those paths do not have static buffers, so
we have to keep a copy. Use string_list's to accomplish this.

This changes the order of the list to the order in which the paths
are processed. Previously, it was reversed.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

do not overwrite files in leading pathClemens Buchacher Sat, 9 Oct 2010 13:53:00 +0000 (15:53 +0200)

do not overwrite files in leading path

If the work tree contains an untracked file x, and
unpack-trees wants to checkout a path x/*, the
file x is removed unconditionally.

Instead, apply the same checks that are normally
used for untracked files, and abort if the file
cannot be removed.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

lstat_cache: optionally return match_lenClemens Buchacher Sat, 9 Oct 2010 13:52:59 +0000 (15:52 +0200)

lstat_cache: optionally return match_len

Return match_len so that the caller can know which leading path
component matched.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

add function check_ok_to_remove()Clemens Buchacher Sat, 9 Oct 2010 13:52:58 +0000 (15:52 +0200)

add function check_ok_to_remove()

This wraps some inline code into the function check_ok_to_remove(),
which will later be used for leading path components as well.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7607: add leading-path testsClemens Buchacher Sun, 10 Oct 2010 08:38:58 +0000 (10:38 +0200)

t7607: add leading-path tests

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7607: use test-lib functions and check MERGE_HEADClemens Buchacher Sun, 10 Oct 2010 08:35:43 +0000 (10:35 +0200)

t7607: use test-lib functions and check MERGE_HEAD

Use the test_commit and test_path_is_missing
functions from the test library.

Also make sure that a merge which fails due to
pre-merge checks aborts properly and does not
leave MERGE_HEAD behind.

The "will not overwrite removed file" test is an
exception to this. It notices the untracked file
at a stage where the merge is already well under
way. Therefore we cannot abort the merge without
major restructuring. See the following thread for
more details.

http://mid.gmane.org/7vskopwxej.fsf@gitster.siamese.dyndns.org

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/maint-no-openssl-build-fix' into maintJunio C Hamano Tue, 14 Dec 2010 15:50:20 +0000 (07:50 -0800)

Merge branch 'jc/maint-no-openssl-build-fix' into maint

* jc/maint-no-openssl-build-fix:
Do not link with -lcrypto under NO_OPENSSL

Merge branch 'ja/maint-pull-rebase-doc' into maintJunio C Hamano Tue, 14 Dec 2010 15:36:23 +0000 (07:36 -0800)

Merge branch 'ja/maint-pull-rebase-doc' into maint

* ja/maint-pull-rebase-doc:
git-pull.txt: Mention branch.autosetuprebase

Merge branch 'tc/http-urls-ends-with-slash' into maintJunio C Hamano Tue, 14 Dec 2010 15:36:10 +0000 (07:36 -0800)

Merge branch 'tc/http-urls-ends-with-slash' into maint

* tc/http-urls-ends-with-slash:
http-fetch: rework url handling
http-push: add trailing slash at arg-parse time, instead of later on
http-push: check path length before using it
http-push: Normalise directory names when pushing to some WebDAV servers
http-backend: use end_url_with_slash()
url: add str wrapper for end_url_with_slash()
shift end_url_with_slash() from http.[ch] to url.[ch]
t5550-http-fetch: add test for http-fetch
t5550-http-fetch: add missing '&&'

Merge branch 'nd/maint-hide-checkout-index-from-error... Junio C Hamano Tue, 14 Dec 2010 15:36:00 +0000 (07:36 -0800)

Merge branch 'nd/maint-hide-checkout-index-from-error' into maint

* nd/maint-hide-checkout-index-from-error:
entry.c: remove "checkout-index" from error messages

Merge branch 'jk/maint-reflog-bottom' into maintJunio C Hamano Tue, 14 Dec 2010 15:35:50 +0000 (07:35 -0800)

Merge branch 'jk/maint-reflog-bottom' into maint

* jk/maint-reflog-bottom:
reflogs: clear flags properly in corner case

Merge branch 'mz/rebase-abort-reflog-fix' into maintJunio C Hamano Tue, 14 Dec 2010 15:35:44 +0000 (07:35 -0800)

Merge branch 'mz/rebase-abort-reflog-fix' into maint

* mz/rebase-abort-reflog-fix:
rebase --abort: do not update branch ref

Merge branch 'mz/maint-rebase-stat-config' into maintJunio C Hamano Tue, 14 Dec 2010 15:35:31 +0000 (07:35 -0800)

Merge branch 'mz/maint-rebase-stat-config' into maint

* mz/maint-rebase-stat-config:
rebase: only show stat if configured to true

Merge branch 'gc/http-with-non-ascii-username-url'... Junio C Hamano Tue, 14 Dec 2010 15:35:18 +0000 (07:35 -0800)

Merge branch 'gc/http-with-non-ascii-username-url' into maint

* gc/http-with-non-ascii-username-url:
Fix username and password extraction from HTTP URLs
t5550: test HTTP authentication and userinfo decoding

Conflicts:
t/lib-httpd/apache.conf

Prepare for 1.7.3.4Junio C Hamano Sat, 11 Dec 2010 00:35:00 +0000 (16:35 -0800)

Prepare for 1.7.3.4

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

Merge branch 'jk/maint-decorate-01-bool' into maintJunio C Hamano Sat, 11 Dec 2010 00:13:14 +0000 (16:13 -0800)

Merge branch 'jk/maint-decorate-01-bool' into maint

* jk/maint-decorate-01-bool:
log.decorate: accept 0/1 bool values

Merge branch 'mg/maint-tag-rfc1991' into maintJunio C Hamano Sat, 11 Dec 2010 00:13:03 +0000 (16:13 -0800)

Merge branch 'mg/maint-tag-rfc1991' into maint

* mg/maint-tag-rfc1991:
tag: recognize rfc1991 signatures
tag: factor out sig detection for tag display
tag: factor out sig detection for body edits
verify-tag: factor out signature detection
t/t7004-tag: test handling of rfc1991 signatures

Merge branch 'ks/maint-getenv-fix' into maintJunio C Hamano Sat, 11 Dec 2010 00:12:51 +0000 (16:12 -0800)

Merge branch 'ks/maint-getenv-fix' into maint

* ks/maint-getenv-fix:
setup: make sure git_dir path is in a permanent buffer, getenv(3) case

Add --force to git-send-email documentationAlejandro R. Sedeño Fri, 10 Dec 2010 18:44:15 +0000 (13:44 -0500)

Add --force to git-send-email documentation

Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

describe: Delay looking up commits until searching... Anders Kaseorg Thu, 9 Dec 2010 06:47:29 +0000 (01:47 -0500)

describe: Delay looking up commits until searching for an inexact match

Now that struct commit.util is not used until after we've checked that
the argument doesn't exactly match a tag, we can wait until then to
look up the commits for each tag.

This avoids a lot of I/O on --exact-match queries in repositories with
many tags. For example, 'git describe --exact-match HEAD' becomes
about 12 times faster on a cold cache (3.2s instead of 39s) in a
linux-2.6 repository with 2000 packed tags. That is a huge win for the
interactivity of the __git_ps1 shell prompt helper when on a detached
HEAD.

Signed-off-by: Anders Kaseorg <andersk@ksplice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

describe: Store commit_names in a hash table by commit... Anders Kaseorg Thu, 9 Dec 2010 06:46:08 +0000 (01:46 -0500)

describe: Store commit_names in a hash table by commit SHA1

describe is currently forced to look up the commit at each tag in
order to store the struct commit_name pointers in struct commit.util.
For --exact-match queries, those lookups are wasteful. In preparation
for removing them, put the commit_names into a hash table, indexed by
commit SHA1, that can be used to quickly check for exact matches.

Signed-off-by: Anders Kaseorg <andersk@ksplice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

describe: Do not use a flex array in struct commit_nameAnders Kaseorg Thu, 9 Dec 2010 06:43:32 +0000 (01:43 -0500)

describe: Do not use a flex array in struct commit_name

Now add_to_known_names overwrites commit_names in place when multiple
tags point to the same commit. This will make it easier to store
commit_names in a hash table.

Signed-off-by: Anders Kaseorg <andersk@ksplice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

describe: Use for_each_rawrefAnders Kaseorg Thu, 9 Dec 2010 06:42:25 +0000 (01:42 -0500)

describe: Use for_each_rawref

Don't waste time checking for dangling refs; they wouldn't affect the
output of 'git describe' anyway. Although this does not gain much
performance by itself, it does in conjunction with the next commits.

Signed-off-by: Anders Kaseorg <andersk@ksplice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jn/ignore-doc' into maintJunio C Hamano Thu, 9 Dec 2010 18:38:16 +0000 (10:38 -0800)

Merge branch 'jn/ignore-doc' into maint

* jn/ignore-doc:
Documentation: point to related commands from gitignore
Documentation: split gitignore page into sections

Merge branch 'jn/cherry-pick-refresh-index' into maintJunio C Hamano Thu, 9 Dec 2010 18:36:51 +0000 (10:36 -0800)

Merge branch 'jn/cherry-pick-refresh-index' into maint

* jn/cherry-pick-refresh-index:
cherry-pick/revert: transparently refresh index

Merge branch 'jl/add-p-reverse-message' into maintJunio C Hamano Thu, 9 Dec 2010 18:36:47 +0000 (10:36 -0800)

Merge branch 'jl/add-p-reverse-message' into maint

* jl/add-p-reverse-message:
Correct help blurb in checkout -p and friends

Merge branch 'np/diff-in-corrupt-repository' into maintJunio C Hamano Thu, 9 Dec 2010 18:36:39 +0000 (10:36 -0800)

Merge branch 'np/diff-in-corrupt-repository' into maint

* np/diff-in-corrupt-repository:
diff: don't presume empty file when corresponding object is missing

Merge branch 'fc/apply-p2-get-header-name' into maintJunio C Hamano Thu, 9 Dec 2010 18:36:36 +0000 (10:36 -0800)

Merge branch 'fc/apply-p2-get-header-name' into maint

* fc/apply-p2-get-header-name:
test: git-apply -p2 rename/chmod only
Fix git-apply with -p greater than 1

Merge branch 'np/pack-broken-boundary' into maintJunio C Hamano Thu, 9 Dec 2010 18:36:23 +0000 (10:36 -0800)

Merge branch 'np/pack-broken-boundary' into maint

* np/pack-broken-boundary:
make pack-objects a bit more resilient to repo corruption

Merge branch 'ak/apply-non-git-epoch' into maintJunio C Hamano Thu, 9 Dec 2010 18:36:16 +0000 (10:36 -0800)

Merge branch 'ak/apply-non-git-epoch' into maint

* ak/apply-non-git-epoch:
apply: handle patches with funny filename and colon in timezone
apply: Recognize epoch timestamps with : in the timezone

Merge branch 'cm/diff-check-at-eol' into maintJunio C Hamano Thu, 9 Dec 2010 18:36:10 +0000 (10:36 -0800)

Merge branch 'cm/diff-check-at-eol' into maint

* cm/diff-check-at-eol:
diff --check: correct line numbers of new blank lines at EOF

Merge branch 'tc/smart-http-post-redirect' into maintJunio C Hamano Thu, 9 Dec 2010 18:36:04 +0000 (10:36 -0800)

Merge branch 'tc/smart-http-post-redirect' into maint

* tc/smart-http-post-redirect:
smart-http: Don't change POST to GET when following redirect

Merge branch 'ab/require-perl-5.8' into maintJunio C Hamano Thu, 9 Dec 2010 18:35:21 +0000 (10:35 -0800)

Merge branch 'ab/require-perl-5.8' into maint

* ab/require-perl-5.8:
perl: use "use warnings" instead of -w
perl: bump the required Perl version to 5.8 from 5.6.[21]

contrib/hooks/post-receive-email: fix return values... Alan Raison Thu, 9 Dec 2010 16:03:05 +0000 (16:03 +0000)

contrib/hooks/post-receive-email: fix return values from prep_for_email

The function was returning 0 for failure and 1 for success which was
breaking the logic in the main loop. It now also returns in all
cases, rather than exiting.

Signed-off-by: Alan Raison <alan@theraisons.me.uk>
Acked-by: Kevin P. Fleming <kpfleming@digium.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Do not link with -lcrypto under NO_OPENSSLJunio C Hamano Wed, 8 Dec 2010 22:54:13 +0000 (14:54 -0800)

Do not link with -lcrypto under NO_OPENSSL

With 401857c (imap-send: link against libcrypto for HMAC and others,
2010-11-24) we started linking imap-send unconditionally with -lcrypto by
mistake; disable this when we are building under NO_OPENSSL.

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

git-rm.txt: Fix quotingMichael J Gruber Tue, 7 Dec 2010 09:07:11 +0000 (10:07 +0100)

git-rm.txt: Fix quoting

Literal " produces typographically incorrect quotations, but "works" in
most circumstances. In the subheadings of git-rm.txt, it "works" for the
html backend but not for the docbook conversion to nroff: double "" and
spurious double spaces appear in the output.

Replace "incorrect" quotations by ``correct'' ones, and fix other
"quotations" which are really `code fragments`.

This should make git-rm.txt "-clean.

Reported-by: Jeff King <peff@peff.net>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git submodule: Remove now obsolete tests before cloning... Jens Lehmann Sat, 4 Dec 2010 23:27:35 +0000 (00:27 +0100)

git submodule: Remove now obsolete tests before cloning a repo

Since 55892d23 "git clone" itself checks that the destination path is not
a file but an empty directory if it exists, so there is no need anymore
for module_clone() to check that too.

Two tests have been added to test the behavior of "git submodule add" when
path is a file or a directory (A subshell had to be added to the former
last test to stay in the right directory).

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git submodule -b ... of current HEAD failsJonathan Nieder Wed, 1 Dec 2010 18:50:46 +0000 (12:50 -0600)

git submodule -b ... of current HEAD fails

git submodule add -b $branch $repository

fails when HEAD already points to $branch in $repository.

Reported-by: Klaus Ethgen <Klaus@Ethgen.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9119: do not compare "Text Last Updated" line from... Junio C Hamano Tue, 7 Dec 2010 00:00:02 +0000 (16:00 -0800)

t9119: do not compare "Text Last Updated" line from "svn info"

On the "Text Last Updated" line, "git svn info <file>" does not give the
timestamp of the commit that touched the path most recently, unlike "svn
info <file>". Do not expect the output from two commands to match on
these lines.

There was a "ptouch" attempt to transplant the timestamp from svn working
tree files to corresponding git working tree files, which mostly hid this
difference, but is made pointless now with this change. Remove the helper
function and calls to it.

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