git
11 years agoMerge branch 'al/mergetool-printf-fix' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:04:01 +0000 (08:04 -0800)] 
Merge branch 'al/mergetool-printf-fix' into maint

* al/mergetool-printf-fix:
  difftool--helper: fix printf usage
  git-mergetool: print filename when it contains %

11 years agoMerge branch 'jx/utf8-printf-width' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:59 +0000 (08:03 -0800)] 
Merge branch 'jx/utf8-printf-width' into maint

* jx/utf8-printf-width:
  Add utf8_fprintf helper that returns correct number of columns

11 years agoMerge branch 'mg/bisect-doc' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:57 +0000 (08:03 -0800)] 
Merge branch 'mg/bisect-doc' into maint

* mg/bisect-doc:
  git-bisect.txt: clarify that reset quits bisect

11 years agoMerge branch 'sp/smart-http-content-type-check' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:54 +0000 (08:03 -0800)] 
Merge branch 'sp/smart-http-content-type-check' into maint

* sp/smart-http-content-type-check:
  http_request: reset "type" strbuf before adding
  t5551: fix expected error output
  Verify Content-Type from smart HTTP servers

11 years agoMerge branch 'jc/combine-diff-many-parents' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:51 +0000 (08:03 -0800)] 
Merge branch 'jc/combine-diff-many-parents' into maint

* jc/combine-diff-many-parents:
  t4038: add tests for "diff --cc --raw <trees>"
  combine-diff: lift 32-way limit of combined diff

11 years agoMerge branch 'jk/apply-similaritly-parsing' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:44 +0000 (08:03 -0800)] 
Merge branch 'jk/apply-similaritly-parsing' into maint

* jk/apply-similaritly-parsing:
  builtin/apply: tighten (dis)similarity index parsing

11 years agoMerge branch 'jk/remote-helpers-doc' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:37 +0000 (08:03 -0800)] 
Merge branch 'jk/remote-helpers-doc' into maint

* jk/remote-helpers-doc:
  Rename {git- => git}remote-helpers.txt

11 years agoMerge branch 'ab/gitweb-use-same-scheme' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:34 +0000 (08:03 -0800)] 
Merge branch 'ab/gitweb-use-same-scheme' into maint

* ab/gitweb-use-same-scheme:
  gitweb: refer to picon/gravatar images over the same scheme

11 years agoMerge branch 'zk/clean-report-failure' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:32 +0000 (08:03 -0800)] 
Merge branch 'zk/clean-report-failure' into maint

* zk/clean-report-failure:
  git-clean: Display more accurate delete messages

11 years agoMerge branch 'nd/clone-no-separate-git-dir-with-bare' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:27 +0000 (08:03 -0800)] 
Merge branch 'nd/clone-no-separate-git-dir-with-bare' into maint

* nd/clone-no-separate-git-dir-with-bare:
  clone: forbid --bare --separate-git-dir <dir>

11 years agoMerge branch 'da/p4merge-mktemp' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:20 +0000 (08:03 -0800)] 
Merge branch 'da/p4merge-mktemp' into maint

* da/p4merge-mktemp:
  mergetools/p4merge: Honor $TMPDIR for the /dev/null placeholder

11 years agoDocumentation: "advice" is uncountable
Greg Price [Mon, 25 Feb 2013 05:27:20 +0000 (00:27 -0500)] 
Documentation: "advice" is uncountable

"Advice" is a mass noun, not a count noun; it's not ordinarily
pluralized.

Signed-off-by: Greg Price <price@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.1.4 v1.8.1.4
Junio C Hamano [Tue, 19 Feb 2013 05:48:05 +0000 (05:48 +0000)] 
Git 1.8.1.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'ob/imap-send-ssl-verify' into maint
Junio C Hamano [Wed, 20 Feb 2013 05:54:15 +0000 (21:54 -0800)] 
Merge branch 'ob/imap-send-ssl-verify' into maint

* ob/imap-send-ssl-verify:
  imap-send: support subjectAltName as well
  imap-send: the subject of SSL certificate must match the host
  imap-send: move #ifdef around

11 years agoimap-send: support subjectAltName as well
Oswald Buddenhagen [Fri, 15 Feb 2013 20:59:53 +0000 (12:59 -0800)] 
imap-send: support subjectAltName as well

Check not only the common name of the certificate subject, but also
check the subject alternative DNS names as well, when verifying that
the certificate matches that of the host we are trying to talk to.

Signed-off-by: Oswald Buddenhagen <ossi@kde.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoimap-send: the subject of SSL certificate must match the host
Oswald Buddenhagen [Fri, 15 Feb 2013 20:50:35 +0000 (12:50 -0800)] 
imap-send: the subject of SSL certificate must match the host

We did not check a valid certificate's subject at all, and would
have happily talked with a wrong host after connecting to an
incorrect address and getting a valid certificate that does not
belong to the host we intended to talk to.

Signed-off-by: Oswald Buddenhagen <ossi@kde.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoimap-send: move #ifdef around
Junio C Hamano [Fri, 15 Feb 2013 20:32:19 +0000 (12:32 -0800)] 
imap-send: move #ifdef around

Instead of adding an early return to the inside of the
ssl_socket_connect() function for NO_OPENSSL compilation, split it
into a separate stub function.

No functional change, but the next change to extend ssl_socket_connect()
will become easier to read this way.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: use -o latest.tar.gz to create a gzipped tarball
W. Trevor King [Mon, 18 Feb 2013 00:16:01 +0000 (19:16 -0500)] 
user-manual: use -o latest.tar.gz to create a gzipped tarball

This functionality was introduced by 0e804e09 (archive: provide
builtin .tar.gz filter, 2011-07-21) for v1.7.7.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: use 'git config --global user.*' for setup
W. Trevor King [Mon, 18 Feb 2013 00:15:58 +0000 (19:15 -0500)] 
user-manual: use 'git config --global user.*' for setup

A simple command line call is easier than spawning an editor,
especially for folks new to ideas like the "command line" and "text
editors".  This is also the approach suggested by 'git commit' if you
try and commit without having configured user.name or user.email.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: mention 'git remote add' for remote branch config
W. Trevor King [Mon, 18 Feb 2013 00:15:56 +0000 (19:15 -0500)] 
user-manual: mention 'git remote add' for remote branch config

I hardly ever setup remote.<name>.url using 'git config'.  While it
may be instructive to do so, we should also point out 'git remote
add'.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: give 'git push -f' as an alternative to +master
W. Trevor King [Mon, 18 Feb 2013 00:15:55 +0000 (19:15 -0500)] 
user-manual: give 'git push -f' as an alternative to +master

This mirrors existing language in the description of 'git fetch'.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: use 'remote add' to setup push URLs
W. Trevor King [Mon, 18 Feb 2013 00:15:53 +0000 (19:15 -0500)] 
user-manual: use 'remote add' to setup push URLs

There is no need to use here documents to setup this configuration.
It is easier, less confusing, and more robust to use `git remote add`
directly.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoReplace filepattern with pathspec for consistency
Matthieu Moy [Tue, 12 Feb 2013 09:24:44 +0000 (10:24 +0100)] 
Replace filepattern with pathspec for consistency

pathspec is the most widely used term, and is the one defined in
gitglossary.txt. <filepattern> was used only in the synopsys for git-add
and git-commit, and in git-add.txt. Get rid of it.

This patch is obtained with by running:

  perl -pi -e 's/filepattern/pathspec/' `git grep -l filepattern`

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoAdd utf8_fprintf helper that returns correct number of columns
Jiang Xin [Sat, 9 Feb 2013 06:31:09 +0000 (14:31 +0800)] 
Add utf8_fprintf helper that returns correct number of columns

Since command usages can be translated, they may include utf-8
encoded strings, and the output in console may not align well any
more. This is because strlen() is different from strwidth() on utf-8
strings.

A wrapper utf8_fprintf() can help to return the correct number of
columns required.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Reviewed-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-bisect.txt: clarify that reset quits bisect
Michael J Gruber [Mon, 11 Feb 2013 08:35:04 +0000 (09:35 +0100)] 
git-bisect.txt: clarify that reset quits bisect

"reset" can be easily misunderstood as resetting a bisect session to its
start without finishing it. Clarify that it actually quits the bisect
session.

Reported-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: Rewrite git-gc section for automatic packing
W. Trevor King [Sun, 10 Feb 2013 15:10:27 +0000 (10:10 -0500)] 
user-manual: Rewrite git-gc section for automatic packing

This should have happened back in 2007, when `git gc` learned about
auto (e9831e8, git-gc --auto: add documentation, 2007-09-17).

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: Fix 'you - Git' -> 'you--Git' typo
W. Trevor King [Sun, 10 Feb 2013 15:10:39 +0000 (10:10 -0500)] 
user-manual: Fix 'you - Git' -> 'you--Git' typo

Use an em-dash, not a hyphen, to join these clauses.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: Fix 'http' -> 'HTTP' typos
W. Trevor King [Sun, 10 Feb 2013 15:10:37 +0000 (10:10 -0500)] 
user-manual: Fix 'http' -> 'HTTP' typos

HTTP is an acronym which has not (yet) made the transition to word
status (unlike "laser", probably because lasers are inherently cooler
than HTTP ;).

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: Fix 'both: so' -> 'both; so' typo
W. Trevor King [Sun, 10 Feb 2013 15:10:36 +0000 (10:10 -0500)] 
user-manual: Fix 'both: so' -> 'both; so' typo

The clause "so `git log ...` will return no commits..." is
independent, not a description of "both", so a semicolon is more
appropriate.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodifftool--helper: fix printf usage
David Aguilar [Sun, 10 Feb 2013 01:21:25 +0000 (17:21 -0800)] 
difftool--helper: fix printf usage

Do not use a random string as if it is a format string for printf
when showing it literally; instead feed it to '%s' format.

Reported-by: Asheesh Laroia <asheesh@asheesh.org>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-mergetool: print filename when it contains %
Asheesh Laroia [Fri, 8 Feb 2013 01:16:24 +0000 (17:16 -0800)] 
git-mergetool: print filename when it contains %

If git-mergetool was invoked with files with a percent sign (%) in
their names, it would print an error.  For example, if you were
calling mergetool on a file called "%2F":

    printf: %2F: invalid directive

Do not pass random string to printf as if it were a valid format.
Use format string "%s" and pass the string as data to be formatted
instead.

Signed-off-by: Asheesh Laroia <asheesh@asheesh.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.1.3 v1.8.1.3
Junio C Hamano [Thu, 7 Feb 2013 23:21:10 +0000 (15:21 -0800)] 
Git 1.8.1.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'mz/pick-unborn' into maint
Junio C Hamano [Thu, 7 Feb 2013 23:16:04 +0000 (15:16 -0800)] 
Merge branch 'mz/pick-unborn' into maint

"git cherry-pick" did not replay a root commit to an unborn branch.

* mz/pick-unborn:
  learn to pick/revert into unborn branch
  tests: move test_cmp_rev to test-lib-functions

11 years agoMerge branch 'nd/fix-perf-parameters-in-tests' into maint
Junio C Hamano [Thu, 7 Feb 2013 23:16:00 +0000 (15:16 -0800)] 
Merge branch 'nd/fix-perf-parameters-in-tests' into maint

* nd/fix-perf-parameters-in-tests:
  test-lib.sh: unfilter GIT_PERF_*

11 years agoMerge branch 'jc/do-not-let-random-file-interfere-with-completion-tests' into maint
Junio C Hamano [Thu, 7 Feb 2013 23:15:23 +0000 (15:15 -0800)] 
Merge branch 'jc/do-not-let-random-file-interfere-with-completion-tests' into maint

Scripts to test bash completion was inherently flaky as it was
affected by whatever random things the user may have on $PATH.

* jc/do-not-let-random-file-interfere-with-completion-tests:
  t9902: protect test from stray build artifacts

11 years agoMerge branch 'ft/transport-report-segv' into maint
Junio C Hamano [Thu, 7 Feb 2013 23:15:08 +0000 (15:15 -0800)] 
Merge branch 'ft/transport-report-segv' into maint

A failure to push due to non-ff while on an unborn branch
dereferenced a NULL pointer when showing an error message.

* ft/transport-report-segv:
  push: fix segfault when HEAD points nowhere

11 years agoMerge branch 'sb/gpg-plug-fd-leak' into maint
Junio C Hamano [Thu, 7 Feb 2013 23:14:54 +0000 (15:14 -0800)] 
Merge branch 'sb/gpg-plug-fd-leak' into maint

We forgot to close the file descriptor reading from "gpg" output,
killing "git log --show-signature" on a long history.

* sb/gpg-plug-fd-leak:
  gpg: close stderr once finished with it in verify_signed_buffer()

11 years agoMerge branch 'jc/fake-ancestor-with-non-blobs' into maint
Junio C Hamano [Thu, 7 Feb 2013 23:14:22 +0000 (15:14 -0800)] 
Merge branch 'jc/fake-ancestor-with-non-blobs' into maint

Rebasing the history of superproject with change in the submodule
has been broken since v1.7.12.

* jc/fake-ancestor-with-non-blobs:
  apply: diagnose incomplete submodule object name better
  apply: simplify build_fake_ancestor()
  git-am: record full index line in the patch used while rebasing

11 years agoMerge branch 'jn/auto-depend-workaround-buggy-ccache' into maint
Junio C Hamano [Thu, 7 Feb 2013 23:13:34 +0000 (15:13 -0800)] 
Merge branch 'jn/auto-depend-workaround-buggy-ccache' into maint

Buggy versions of ccache broke the auto-generation of dependencies.

* jn/auto-depend-workaround-buggy-ccache:
  Makefile: explicitly set target name for autogenerated dependencies

11 years agohttp_request: reset "type" strbuf before adding
Jeff King [Wed, 6 Feb 2013 10:39:52 +0000 (05:39 -0500)] 
http_request: reset "type" strbuf before adding

Callers may pass us a strbuf which we use to record the
content-type of the response. However, we simply appended to
it rather than overwriting its contents, meaning that cruft
in the strbuf gave us a bogus type. E.g., the multiple
requests triggered by http_request could yield a type like
"text/plainapplication/x-git-receive-pack-advertisement".

Reported-by: Michael Schubert <mschub@elegosoft.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot4038: add tests for "diff --cc --raw <trees>"
John Keeping [Tue, 5 Feb 2013 21:39:49 +0000 (21:39 +0000)] 
t4038: add tests for "diff --cc --raw <trees>"

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot5551: fix expected error output
Junio C Hamano [Tue, 5 Feb 2013 00:21:42 +0000 (16:21 -0800)] 
t5551: fix expected error output

We should probably get rid of the check of message instead, but in
the meantime this should do.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoVerify Content-Type from smart HTTP servers
Shawn Pearce [Thu, 31 Jan 2013 21:02:07 +0000 (13:02 -0800)] 
Verify Content-Type from smart HTTP servers

Before parsing a suspected smart-HTTP response verify the returned
Content-Type matches the standard. This protects a client from
attempting to process a payload that smells like a smart-HTTP
server response.

JGit has been doing this check on all responses since the dawn of
time. I mistakenly failed to include it in git-core when smart HTTP
was introduced. At the time I didn't know how to get the Content-Type
from libcurl. I punted, meant to circle back and fix this, and just
plain forgot about it.

Signed-off-by: Shawn Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoStart preparing for 1.8.1.3
Junio C Hamano [Mon, 4 Feb 2013 18:21:10 +0000 (10:21 -0800)] 
Start preparing for 1.8.1.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'bc/git-p4-for-python-2.4' into maint
Junio C Hamano [Mon, 4 Feb 2013 18:04:57 +0000 (10:04 -0800)] 
Merge branch 'bc/git-p4-for-python-2.4' into maint

* bc/git-p4-for-python-2.4:
  INSTALL: git-p4 does not support Python 3
  git-p4.py: support Python 2.4
  git-p4.py: support Python 2.5

11 years agoMerge branch 'nd/edit-branch-desc-while-detached' into maint
Junio C Hamano [Mon, 4 Feb 2013 18:04:44 +0000 (10:04 -0800)] 
Merge branch 'nd/edit-branch-desc-while-detached' into maint

Attempt to "branch --edit-description" an existing branch, while
being on a detached HEAD, errored out.

* nd/edit-branch-desc-while-detached:
  branch: no detached HEAD check when editing another branch's description

11 years agoMerge branch 'jn/do-not-drop-username-when-reading-from-etc-mailname' into maint
Junio C Hamano [Mon, 4 Feb 2013 18:04:26 +0000 (10:04 -0800)] 
Merge branch 'jn/do-not-drop-username-when-reading-from-etc-mailname' into maint

We used to stuff "user@" and then append what we read from
/etc/mailname to come up with a default e-mail ident, but a bug lost
the "user@" part.

* jn/do-not-drop-username-when-reading-from-etc-mailname:
  ident: do not drop username when reading from /etc/mailname

11 years agoMerge branch 'jk/cvsimport-does-not-work-with-cvsps3' into maint
Junio C Hamano [Mon, 4 Feb 2013 18:04:22 +0000 (10:04 -0800)] 
Merge branch 'jk/cvsimport-does-not-work-with-cvsps3' into maint

* jk/cvsimport-does-not-work-with-cvsps3:
  git-cvsimport.txt: cvsps-2 is deprecated

11 years agoMerge branch 'dl/am-hg-locale' into maint
Junio C Hamano [Mon, 4 Feb 2013 18:04:10 +0000 (10:04 -0800)] 
Merge branch 'dl/am-hg-locale' into maint

"git am" did not parse datestamp correctly from Hg generated patch,
when it is run in a locale outside C (or en)

* dl/am-hg-locale:
  am: invoke perl's strftime in C locale

11 years agoMerge branch 'jc/help' into maint
Junio C Hamano [Mon, 4 Feb 2013 18:04:06 +0000 (10:04 -0800)] 
Merge branch 'jc/help' into maint

* jc/help:
  help: include <common-cmds.h> only in one file

11 years agoMerge branch 'jc/merge-blobs' into maint
Junio C Hamano [Mon, 4 Feb 2013 18:03:41 +0000 (10:03 -0800)] 
Merge branch 'jc/merge-blobs' into maint

* jc/merge-blobs:
  Makefile: Replace merge-file.h with merge-blobs.h in LIB_H
  merge-tree: fix d/f conflicts
  merge-tree: add comments to clarify what these functions are doing
  merge-tree: lose unused "resolve_directories"
  merge-tree: lose unused "flags" from merge_list
  Which merge_file() function do you mean?

11 years agoMerge branch 'jc/doc-maintainer' into maint
Junio C Hamano [Mon, 4 Feb 2013 18:03:35 +0000 (10:03 -0800)] 
Merge branch 'jc/doc-maintainer' into maint

* jc/doc-maintainer:
  howto/maintain: document "### match next" convention in jch/pu branch
  howto/maintain: mark titles for asciidoc
  Documentation: update "howto maintain git"

11 years agoMerge branch 'bc/fix-array-syntax-for-3.0-in-completion-bash' into maint
Junio C Hamano [Mon, 4 Feb 2013 18:03:13 +0000 (10:03 -0800)] 
Merge branch 'bc/fix-array-syntax-for-3.0-in-completion-bash' into maint

Command line completion code was inadvertently made incompatible with
older versions of bash by using a newer array notation.

* bc/fix-array-syntax-for-3.0-in-completion-bash:
  git-completion.bash: replace zsh notation that breaks bash 3.X

11 years agobuiltin/apply: tighten (dis)similarity index parsing
John Keeping [Sun, 3 Feb 2013 14:37:11 +0000 (14:37 +0000)] 
builtin/apply: tighten (dis)similarity index parsing

This was prompted by an incorrect warning issued by clang [1], and a
suggestion by Linus to restrict the range to check for values greater
than INT_MAX since these will give bogus output after casting to int.

In fact the (dis)similarity index is a percentage, so reject values
greater than 100.

[1] http://article.gmane.org/gmane.comp.version-control.git/213857

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocombine-diff: lift 32-way limit of combined diff
Junio C Hamano [Sun, 3 Feb 2013 21:08:18 +0000 (13:08 -0800)] 
combine-diff: lift 32-way limit of combined diff

The "raw" format of combine-diff output is supposed to have as many
colons as there are parents at the beginning, then blob modes for
these parents, and then object names for these parents.

We weren't however prepared to handle a more than 32-way merge and
did not show the correct number of colons in such a case.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMakefile: explicitly set target name for autogenerated dependencies
Jonathan Nieder [Fri, 18 Nov 2011 23:23:24 +0000 (17:23 -0600)] 
Makefile: explicitly set target name for autogenerated dependencies

"gcc -MF depfile -MMD -MP -c -o path/to/file.o" produces a makefile
snippet named "depfile" describing what files are needed to build the
target given by "-o".  When ccache versions before v3.0pre0~187 (Fix
handling of the -MD and -MDD options, 2009-11-01) run, they execute

gcc -MF depfile -MMD -MP -E

instead to get the final content for hashing.  Notice that the "-c -o"
combination is replaced by "-E".  The result is a target name without
a leading path.

Thus when building git with such versions of ccache with
COMPUTE_HEADER_DEPENDENCIES enabled, the generated makefile snippets
define dependencies for the wrong target:

$ make builtin/add.o
GIT_VERSION = 1.7.8.rc3
    * new build flags or prefix
    CC builtin/add.o
$ head -1 builtin/.depend/add.o.d
add.o: builtin/add.c cache.h git-compat-util.h compat/bswap.h strbuf.h \

After a change in a header file, object files in a subdirectory are
not automatically rebuilt by "make":

$ touch cache.h
$ make builtin/add.o
$

Luckily we can prevent trouble by explicitly supplying the name of the
target to ccache and gcc, using the -MQ option.  Do so.

Reported-and-tested-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Reported-by: : 허종만 <jongman.heo@samsung.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoRename {git- => git}remote-helpers.txt
John Keeping [Thu, 31 Jan 2013 21:59:50 +0000 (21:59 +0000)] 
Rename {git- => git}remote-helpers.txt

When looking up a topic via "git help <topic>", git-help prepends "git-"
to topics that are the names of commands (either builtin or found on the
path) and "git" (no hyphen) to any other topic name.

"git-remote-helpers" is not the name of a command, so "git help
remote-helpers" looks for "gitremote-helpers" and does not find it.

Fix this by renaming "git-remote-helpers.txt" to
"gitremote-helpers.txt".

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoapply: diagnose incomplete submodule object name better
Junio C Hamano [Fri, 1 Feb 2013 03:33:27 +0000 (19:33 -0800)] 
apply: diagnose incomplete submodule object name better

"git am -3" uses this function to build a tree that records how the
preimage the patch was created from would have looked like.  An
abbreviated object name on the index line is ordinarily sufficient
for us to figure out the object name the preimage tree would have
contained, but a change to a submodule by definition shows an object
name of a submodule commit which our repository should not have, and
get_sha1_blob() is not an appropriate way to read it (or get_sha1()
for that matter).

Use get_sha1_hex() and complain if we do not find a full object name
there.

We could read from the payload part of the patch to learn the full
object name of the commit, but the primary user "git rebase" has
been fixed to give us a full object name, so this should suffice
for now.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoapply: simplify build_fake_ancestor()
Junio C Hamano [Fri, 1 Feb 2013 03:19:44 +0000 (19:19 -0800)] 
apply: simplify build_fake_ancestor()

The local variable sha1_ptr in the build_fake_ancestor() function
used to either point at the null_sha1[] (if the ancestor did not
have the path) or at sha1[] (if we read the object name into the
local array), but 7a98869 (apply: get rid of --index-info in favor
of --build-fake-ancestor, 2007-09-17) made the "missing in the
ancestor" case unnecessary, hence sha1_ptr, when used, always points
at the local array.

Get rid of the unneeded variable, and restructure the if/else
cascade a bit to make it easier to read.  There should be no
behaviour change.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-am: record full index line in the patch used while rebasing
Junio C Hamano [Fri, 1 Feb 2013 03:26:21 +0000 (19:26 -0800)] 
git-am: record full index line in the patch used while rebasing

Earlier, a230949 (am --rebasing: get patch body from commit, not
from mailbox, 2012-06-26) learned to regenerate patch body from the
commit object while rebasing, instead of reading from the rebase-am
front-end.  While doing so, it used "git diff-tree" but without
giving it the "--full-index" option.

This does not matter for in-repository objects; during rebasing, any
abbreviated object name should uniquely identify them.

But we may be rebasing a commit that contains a change to a gitlink,
in which case we usually should not have the object (it names a
commit in the submodule).  A full object name is necessary to later
reconstruct a fake ancestor index for them.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogpg: close stderr once finished with it in verify_signed_buffer()
Stephen Boyd [Thu, 31 Jan 2013 18:18:40 +0000 (10:18 -0800)] 
gpg: close stderr once finished with it in verify_signed_buffer()

Failing to close the stderr pipe in verify_signed_buffer() causes
git to run out of file descriptors if there are many calls to
verify_signed_buffer(). An easy way to trigger this is to run

 git log --show-signature --merges | grep "key"

on the linux kernel git repo. Eventually it will fail with

 error: cannot create pipe for gpg: Too many open files
 error: could not run gpg.

Close the stderr pipe so that this can't happen.

Suggested-by: Jeff King <peff@peff.net>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agopush: fix segfault when HEAD points nowhere
Fraser Tweedale [Thu, 31 Jan 2013 12:22:51 +0000 (22:22 +1000)] 
push: fix segfault when HEAD points nowhere

After a push of a branch other than the current branch fails in
a no-ff error and if you are still on an unborn branch, the code
recently added to report the failure dereferenced a null pointer
while checking the name of the current branch.

Signed-off-by: Fraser Tweedale <frase@frase.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoINSTALL: git-p4 does not support Python 3
Junio C Hamano [Wed, 30 Jan 2013 19:17:59 +0000 (11:17 -0800)] 
INSTALL: git-p4 does not support Python 3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agobranch: no detached HEAD check when editing another branch's description
Nguyễn Thái Ngọc Duy [Mon, 28 Jan 2013 01:18:13 +0000 (08:18 +0700)] 
branch: no detached HEAD check when editing another branch's description

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'tb/t0050-maint' into maint
Junio C Hamano [Wed, 30 Jan 2013 15:47:46 +0000 (07:47 -0800)] 
Merge branch 'tb/t0050-maint' into maint

Update tests that were expecting to fail due to a bug that was
fixed earlier.

* tb/t0050-maint:
  t0050: Use TAB for indentation
  t0050: honor CASE_INSENSITIVE_FS in add (with different case)
  t0050: known breakage vanished in merge (case change)

11 years agoMerge branch 'nd/fix-directory-attrs-off-by-one' into maint
Junio C Hamano [Tue, 29 Jan 2013 19:18:54 +0000 (11:18 -0800)] 
Merge branch 'nd/fix-directory-attrs-off-by-one' into maint

The attribute mechanism didn't allow limiting attributes to be
applied to only a single directory itself with "path/" like the
exclude mechanism does.  The initial implementation of this that was
merged to 'maint' and 1.8.1.1 had severe performance degradations.

* nd/fix-directory-attrs-off-by-one:
  attr: avoid calling find_basename() twice per path
  attr: fix off-by-one directory component length calculation

11 years agoMerge branch 'ph/rebase-preserve-all-merges' into maint
Junio C Hamano [Tue, 29 Jan 2013 19:18:31 +0000 (11:18 -0800)] 
Merge branch 'ph/rebase-preserve-all-merges' into maint

"git rebase --preserve-merges" lost empty merges in recent versions
of Git.

* ph/rebase-preserve-all-merges:
  rebase --preserve-merges: keep all merge commits including empty ones

11 years agoREADME: update stale and/or incorrect information
Junio C Hamano [Tue, 29 Jan 2013 19:10:58 +0000 (11:10 -0800)] 
README: update stale and/or incorrect information

Ramkumar Ramachandra noticed that the old address for the marc
archive no longer works.  Update it to its marc.info address,
and also refer to the gmane site.

Remove the reference to "note from the maintainer", which is not
usually followed by any useful discussion on status, direction nor
tasks.

Also replace the reference to "What's in git.git" with "What's
cooking".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogitweb: refer to picon/gravatar images over the same scheme
Andrej E Baranov [Mon, 28 Jan 2013 23:41:32 +0000 (00:41 +0100)] 
gitweb: refer to picon/gravatar images over the same scheme

With the current code, the images from picon and gravatar are
requested over http://, and browsers give mixed contents warning
when gitweb is served over https://.

Just drop the scheme: part from the URL, so that these external
sites are accessed over https:// in such a case.

Signed-off-by: Andrej E Baranov <admin@andrej-andb.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.1.2 v1.8.1.2
Junio C Hamano [Mon, 28 Jan 2013 19:17:54 +0000 (11:17 -0800)] 
Git 1.8.1.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'ss/help-htmlpath-config-doc' into maint
Junio C Hamano [Mon, 28 Jan 2013 19:13:31 +0000 (11:13 -0800)] 
Merge branch 'ss/help-htmlpath-config-doc' into maint

* ss/help-htmlpath-config-doc:
  config.txt: Document help.htmlpath config parameter

11 years agoMerge branch 'nd/attr-debug-fix' into maint
Junio C Hamano [Mon, 28 Jan 2013 19:13:07 +0000 (11:13 -0800)] 
Merge branch 'nd/attr-debug-fix' into maint

* nd/attr-debug-fix:
  attr: make it build with DEBUG_ATTR again

11 years agoMerge branch 'ds/completion-silence-in-tree-path-probe' into maint
Junio C Hamano [Mon, 28 Jan 2013 19:12:47 +0000 (11:12 -0800)] 
Merge branch 'ds/completion-silence-in-tree-path-probe' into maint

* ds/completion-silence-in-tree-path-probe:
  git-completion.bash: silence "not a valid object" errors

11 years agoMerge branch 'jn/maint-trim-vim-contrib' into maint
Junio C Hamano [Mon, 28 Jan 2013 19:12:36 +0000 (11:12 -0800)] 
Merge branch 'jn/maint-trim-vim-contrib' into maint

* jn/maint-trim-vim-contrib:
  contrib/vim: simplify instructions for old vim support

11 years agoMerge branch 'pe/doc-email-env-is-trumped-by-config' into maint
Junio C Hamano [Mon, 28 Jan 2013 19:12:31 +0000 (11:12 -0800)] 
Merge branch 'pe/doc-email-env-is-trumped-by-config' into maint

* pe/doc-email-env-is-trumped-by-config:
  git-commit-tree(1): correct description of defaults

11 years agoMerge branch 'mk/complete-tcsh' into maint
Junio C Hamano [Mon, 28 Jan 2013 19:11:51 +0000 (11:11 -0800)] 
Merge branch 'mk/complete-tcsh' into maint

Command line completion for "tcsh" emitted an unwanted space
after completing a single directory name.

* mk/complete-tcsh:
  Prevent space after directories in tcsh completion

11 years agoMerge branch 'ap/status-ignored-in-ignored-directory' into maint
Junio C Hamano [Mon, 28 Jan 2013 19:10:25 +0000 (11:10 -0800)] 
Merge branch 'ap/status-ignored-in-ignored-directory' into maint

Output from "git status --ignored" did not work well when used with
"--untracked".

* ap/status-ignored-in-ignored-directory:
  status: always report ignored tracked directories
  git-status: Test --ignored behavior
  dir.c: Make git-status --ignored more consistent

11 years agoMerge branch 'er/stop-recommending-parsecvs' into maint
Junio C Hamano [Mon, 28 Jan 2013 19:09:37 +0000 (11:09 -0800)] 
Merge branch 'er/stop-recommending-parsecvs' into maint

* er/stop-recommending-parsecvs:
  Remove the suggestion to use parsecvs, which is currently broken.

11 years agoMerge branch 'mh/ceiling' into maint
Junio C Hamano [Mon, 28 Jan 2013 19:07:18 +0000 (11:07 -0800)] 
Merge branch 'mh/ceiling' into maint

An element on GIT_CEILING_DIRECTORIES list that does not name the
real path to a directory (i.e. a symbolic link) could have caused
the GIT_DIR discovery logic to escape the ceiling.

* mh/ceiling:
  string_list_longest_prefix(): remove function
  setup_git_directory_gently_1(): resolve symlinks in ceiling paths
  longest_ancestor_length(): require prefix list entries to be normalized
  longest_ancestor_length(): take a string_list argument for prefixes
  longest_ancestor_length(): use string_list_split()
  Introduce new function real_path_if_valid()
  real_path_internal(): add comment explaining use of cwd
  Introduce new static function real_path_internal()

11 years agogit-p4.py: support Python 2.4
Brandon Casey [Sat, 26 Jan 2013 19:14:33 +0000 (11:14 -0800)] 
git-p4.py: support Python 2.4

Python 2.4 lacks the following features:

   subprocess.check_call
   struct.pack_into

Take a cue from 460d1026 and provide an implementation of the
CalledProcessError exception.  Then replace the calls to
subproccess.check_call with calls to subprocess.call that check the return
status and raise a CalledProcessError exception if necessary.

The struct.pack_into in t/9802 can be converted into a single struct.pack
call which is available in Python 2.4.

Signed-off-by: Brandon Casey <bcasey@nvidia.com>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-p4.py: support Python 2.5
Brandon Casey [Sat, 26 Jan 2013 19:14:32 +0000 (11:14 -0800)] 
git-p4.py: support Python 2.5

Python 2.5 and older do not accept None as the first argument to
translate() and complain with:

   TypeError: expected a character buffer object

As suggested by Pete Wyckoff, let's just replace the call to translate()
with a regex search which should be more clear and more portable.

This allows git-p4 to be used with Python 2.5.

Signed-off-by: Brandon Casey <bcasey@nvidia.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agohowto/maintain: document "### match next" convention in jch/pu branch
Junio C Hamano [Fri, 25 Jan 2013 20:33:57 +0000 (12:33 -0800)] 
howto/maintain: document "### match next" convention in jch/pu branch

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoident: do not drop username when reading from /etc/mailname
Jonathan Nieder [Thu, 24 Jan 2013 23:21:46 +0000 (15:21 -0800)] 
ident: do not drop username when reading from /etc/mailname

An earlier conversion from fgets() to strbuf_getline() in the
codepath to read from /etc/mailname to learn the default host-part
of the ident e-mail address forgot that strbuf_getline() stores the
line at the beginning of the buffer just like fgets().

The "username@" the caller has prepared in the strbuf, expecting the
function to append the host-part to it, was lost because of this.

Reported-by: Mihai Rusu <dizzy@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot9902: protect test from stray build artifacts
Junio C Hamano [Thu, 24 Jan 2013 23:08:37 +0000 (15:08 -0800)] 
t9902: protect test from stray build artifacts

When you have random build artifacts in your build directory, left
behind by running "make" while on another branch, the "git help -a"
command run by __git_list_all_commands in the completion script that
is being tested does not have a way to know that they are not part
of the subcommands this build will ship.  Such extra subcommands may
come from the user's $PATH.  They will interfere with the tests that
expect a certain prefix to uniquely expand to a known completion.

Instrument the completion script and give it a way for us to tell
what (subset of) subcommands we are going to ship.

Also add a test to "git --help <prefix><TAB>" expansion.  It needs
to show not just commands but some selected documentation pages.

Based on an idea by Jeff King.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-cvsimport.txt: cvsps-2 is deprecated
John Keeping [Thu, 24 Jan 2013 19:18:45 +0000 (19:18 +0000)] 
git-cvsimport.txt: cvsps-2 is deprecated

git-cvsimport relies on version 2 of cvsps and does not work with the
new version 3.  Since cvsps 3.x does not currently work as well as
version 2 for incremental import, document this fact.

Specifically, there is no way to make new git-cvsimport that supports
cvsps 3.x and have a seamless transition for existing users since cvsps
3.x needs a time from which to continue importing and git-cvsimport does
not save the time of the last import or import into a specific namespace
so there is no safe way to calculate the time of the last import.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMakefile: Replace merge-file.h with merge-blobs.h in LIB_H
Ramsay Jones [Tue, 22 Jan 2013 16:47:47 +0000 (16:47 +0000)] 
Makefile: Replace merge-file.h with merge-blobs.h in LIB_H

Commit fa2364ec ("Which merge_file() function do you mean?", 06-12-2012)
renamed the files merge-file.[ch] to merge-blobs.[ch], but forgot to
rename the header file in the definition of the LIB_H macro.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot0050: Use TAB for indentation
Torsten Bögershausen [Mon, 21 Jan 2013 16:46:31 +0000 (17:46 +0100)] 
t0050: Use TAB for indentation

Use one TAB for indentation and remove empty lines

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot0050: honor CASE_INSENSITIVE_FS in add (with different case)
Torsten Bögershausen [Mon, 21 Jan 2013 16:46:15 +0000 (17:46 +0100)] 
t0050: honor CASE_INSENSITIVE_FS in add (with different case)

The test case "add (with different case)" indicates a
known breakage when run on a case insensitive file system.

The test is invalid for case sensitive file system, it will always fail.

Check the precondition CASE_INSENSITIVE_FS before running it.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot0050: known breakage vanished in merge (case change)
Torsten Bögershausen [Mon, 21 Jan 2013 16:45:43 +0000 (17:45 +0100)] 
t0050: known breakage vanished in merge (case change)

This test case has passed since this commit:

  commit 0047dd2fd1fc1980913901c5fa098357482c2842
  Author: Steffen Prohaska <prohaska@zib.de>
  Date:   Thu May 15 07:19:54 2008 +0200

    t0050: Fix merge test on case sensitive file systems

Remove the known breakage by using test_expect_success

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-for-each-ref.txt: 'raw' is a supported date format
John Keeping [Mon, 21 Jan 2013 16:22:06 +0000 (16:22 +0000)] 
git-for-each-ref.txt: 'raw' is a supported date format

Commit 7dff9b3 (Support 'raw' date format) added a raw date format.
Update the git-for-each-ref documentation to include this.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoStart preparing for 1.8.1.2
Junio C Hamano [Mon, 21 Jan 2013 01:26:04 +0000 (17:26 -0800)] 
Start preparing for 1.8.1.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'nz/send-email-headers-are-case-insensitive' into maint
Junio C Hamano [Mon, 21 Jan 2013 01:22:49 +0000 (17:22 -0800)] 
Merge branch 'nz/send-email-headers-are-case-insensitive' into maint

When users spell "cc:" in lowercase in the fake "header" in the
trailer part, "git send-email" failed to pick up the addresses from
there. As e-mail headers field names are case insensitive, this
script should follow suit and treat "cc:" and "Cc:" the same way.

* nz/send-email-headers-are-case-insensitive:
  git-send-email: treat field names as case-insensitively

11 years agoMerge branch 'rs/zip-with-uncompressed-size-in-the-header' into maint
Junio C Hamano [Mon, 21 Jan 2013 01:22:27 +0000 (17:22 -0800)] 
Merge branch 'rs/zip-with-uncompressed-size-in-the-header' into maint

"git archive" did not record uncompressed size in the header when
streaming a zip archive, which confused some implementations of
unzip.

* rs/zip-with-uncompressed-size-in-the-header:
  archive-zip: write uncompressed size into header even with streaming

11 years agoMerge branch 'rs/zip-tests' into maint
Junio C Hamano [Mon, 21 Jan 2013 01:22:22 +0000 (17:22 -0800)] 
Merge branch 'rs/zip-tests' into maint

* rs/zip-tests:
  t5003: check if unzip supports symlinks
  t5000, t5003: move ZIP tests into their own script
  t0024, t5000: use test_lazy_prereq for UNZIP
  t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead

11 years agohelp: include <common-cmds.h> only in one file
Junio C Hamano [Sat, 19 Jan 2013 06:35:04 +0000 (22:35 -0800)] 
help: include <common-cmds.h> only in one file

This header not only declares but also defines the contents of the
array that holds the list of command names and help text.  Do not
include it in multiple places to waste text space.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoam: invoke perl's strftime in C locale
Dmitry V. Levin [Mon, 14 Jan 2013 20:59:33 +0000 (00:59 +0400)] 
am: invoke perl's strftime in C locale

We used to convert timestamps in metadata comment of Hg patch to
mbox-looking Date: field using strftime, without making sure the
resulting string is not translated.  Always use C locale for this.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-completion.bash: replace zsh notation that breaks bash 3.X
Brandon Casey [Fri, 18 Jan 2013 19:24:01 +0000 (11:24 -0800)] 
git-completion.bash: replace zsh notation that breaks bash 3.X

When commit d8b45314 began separating the zsh completion from the bash
completion, it introduced a zsh completion "bridge" section into the bash
completion script for zsh users to use until they migrated to the zsh
script.  The zsh '+=()' append-to-array notation prevents bash 3.00.15 on
CentOS 4.x from loading the completion script and breaks test 9902.  We can
easily work around this by using standard Bash array notation.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoattr: avoid calling find_basename() twice per path
Duy Nguyen [Wed, 16 Jan 2013 06:02:38 +0000 (13:02 +0700)] 
attr: avoid calling find_basename() twice per path

find_basename() is only used inside collect_all_attrs(), called once
in prepare_attr_stack, then again after prepare_attr_stack()
returns. Both calls return exact same value. Reorder the code to do
the same task once. Also avoid strlen() because we knows the length
after finding basename.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoconfig.txt: Document help.htmlpath config parameter
Sebastian Staudt [Tue, 15 Jan 2013 20:56:21 +0000 (21:56 +0100)] 
config.txt: Document help.htmlpath config parameter

Signed-off-by: Sebastian Staudt <koraktor@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agotest-lib.sh: unfilter GIT_PERF_*
Nguyễn Thái Ngọc Duy [Tue, 15 Jan 2013 13:50:56 +0000 (20:50 +0700)] 
test-lib.sh: unfilter GIT_PERF_*

These variables are user parameters to control how to run the perf
tests. Allow users to do so.

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