Code

git.git
13 years agofill_textconv(): Don't get/put cache if sha1 is not valid
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>
13 years agot/t8006: Demonstrate blame is broken when cachetextconv is on
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>
13 years agogitweb: Include links to feeds in HTML header only for '200 OK' response
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>
13 years agofsck docs: remove outdated and useless diagnostic
Mark 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>
13 years agouserdiff: fix typo in ruby and python word regexes
Thomas 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>
13 years agotrace.c: mark file-local function static
Vasyl' 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>
13 years agoFix 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>
13 years agodifftool: provide basename to external tools
Michael 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>
13 years agogit-difftool.txt: correct the description of $BASE and describe $MERGED
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>
13 years agoGit 1.7.3.4 v1.7.3.4
Junio 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>
13 years agoGit 1.7.2.5 v1.7.2.5
Junio 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>
13 years agoGit 1.7.1.4 v1.7.1.4
Junio 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>
13 years agoGit 1.7.0.9 v1.7.0.9
Junio 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>
13 years agoGit 1.6.6.3 v1.6.6.3
Junio 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>
13 years agoGit 1.6.5.9 v1.6.5.9
Junio 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>
13 years agoGit 1.6.4.5 v1.6.4.5
Junio 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>
13 years agogitweb: Introduce esc_attr to escape attributes of HTML elements
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>
13 years agoPrepare for 1.7.3.4
Junio 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>
13 years agouse persistent memory for rejected paths
Clemens 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>
13 years agodo not overwrite files in leading path
Clemens 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>
13 years agolstat_cache: optionally return match_len
Clemens 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>
13 years agoadd 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>
13 years agot7607: add leading-path tests
Clemens 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>
13 years agot7607: use test-lib functions and check MERGE_HEAD
Clemens 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>
13 years agoMerge branch 'jc/maint-no-openssl-build-fix' into maint
Junio 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

13 years agoMerge branch 'ja/maint-pull-rebase-doc' into maint
Junio 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

13 years agoMerge branch 'tc/http-urls-ends-with-slash' into maint
Junio 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 '&&'

13 years agoMerge branch 'nd/maint-hide-checkout-index-from-error' into maint
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

13 years agoMerge branch 'jk/maint-reflog-bottom' into maint
Junio 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

13 years agoMerge branch 'mz/rebase-abort-reflog-fix' into maint
Junio 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

13 years agoMerge branch 'mz/maint-rebase-stat-config' into maint
Junio 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

13 years agoMerge branch 'gc/http-with-non-ascii-username-url' into maint
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

13 years agoPrepare for 1.7.3.4
Junio 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>
13 years agoMerge branch 'jk/maint-decorate-01-bool' into maint
Junio 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

13 years agoMerge branch 'mg/maint-tag-rfc1991' into maint
Junio 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

13 years agoMerge branch 'ks/maint-getenv-fix' into maint
Junio 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

13 years agoAdd --force to git-send-email documentation
Alejandro 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>
13 years agoMerge branch 'jn/ignore-doc' into maint
Junio 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

13 years agoMerge branch 'jn/cherry-pick-refresh-index' into maint
Junio 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

13 years agoMerge branch 'jl/add-p-reverse-message' into maint
Junio 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

13 years agoMerge branch 'np/diff-in-corrupt-repository' into maint
Junio 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

13 years agoMerge branch 'fc/apply-p2-get-header-name' into maint
Junio 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

13 years agoMerge branch 'np/pack-broken-boundary' into maint
Junio 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

13 years agoMerge branch 'ak/apply-non-git-epoch' into maint
Junio 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

13 years agoMerge branch 'cm/diff-check-at-eol' into maint
Junio 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

13 years agoMerge branch 'tc/smart-http-post-redirect' into maint
Junio 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

13 years agoMerge branch 'ab/require-perl-5.8' into maint
Junio 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]

13 years agocontrib/hooks/post-receive-email: fix return values from prep_for_email
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>
13 years agoDo not link with -lcrypto under NO_OPENSSL
Junio 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>
13 years agogit-rm.txt: Fix quoting
Michael 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>
13 years agoGit 1.7.3.3 v1.7.3.3
Junio C Hamano [Fri, 3 Dec 2010 23:18:06 +0000 (15:18 -0800)]
Git 1.7.3.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoCodingGuidelines: mention whitespace preferences for shell scripts
Giuseppe Bilotta [Fri, 3 Dec 2010 16:47:35 +0000 (17:47 +0100)]
CodingGuidelines: mention whitespace preferences for shell scripts

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoDocumentation: do not misinterpret pull refspec as bold text
Jonathan Nieder [Fri, 3 Dec 2010 20:04:17 +0000 (14:04 -0600)]
Documentation: do not misinterpret pull refspec as bold text

Use the {asterisk} entity to avoid mistreating the asterisks
in "(e.g., refs/heads/*:refs/remotes/origin/*)" as delimiters
for bold text.

From a quick search with 'git grep -e "\*.*\*"', this seems to
be the last example of this particular formatting problem.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-pull.txt: Mention branch.autosetuprebase
Jari Aalto [Fri, 3 Dec 2010 08:20:54 +0000 (10:20 +0200)]
git-pull.txt: Mention branch.autosetuprebase

In "Options related to merging" mention also related option
branch.autosetuprebase in git-config(1).

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoPrepare for 1.7.3.3
Junio C Hamano [Thu, 2 Dec 2010 20:24:42 +0000 (12:24 -0800)]
Prepare for 1.7.3.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.7.2.4 v1.7.2.4
Junio C Hamano [Thu, 2 Dec 2010 22:28:01 +0000 (14:28 -0800)]
Git 1.7.2.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.7.1.3 v1.7.1.3
Junio C Hamano [Thu, 2 Dec 2010 20:18:49 +0000 (12:18 -0800)]
Git 1.7.1.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.7.0.8 v1.7.0.8
Junio C Hamano [Thu, 2 Dec 2010 20:06:06 +0000 (12:06 -0800)]
Git 1.7.0.8

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoDocumentation: Fix mark-up of lines with more than one tilde
Junio C Hamano [Thu, 2 Dec 2010 19:23:50 +0000 (11:23 -0800)]
Documentation: Fix mark-up of lines with more than one tilde

The manual pages of cherry-pick and revert had examples with two revisions
on the same line in the examples section, that looked like this:

    git cherry-pick master~4 master~2::

Unfortunately, this is taken as a mark-up to make the part between two
tildes, "4 master", subscript.  Use {tilde} to make it explicit that we
do want ~ characters in these places (backslash does not help).

Reported-by: Sylvain Rabot <sylvain.rabot@f-secure.com>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'cb/maint-orphan-merge-noclobber' into maint
Junio C Hamano [Thu, 2 Dec 2010 19:27:13 +0000 (11:27 -0800)]
Merge branch 'cb/maint-orphan-merge-noclobber' into maint

* cb/maint-orphan-merge-noclobber:
  do not overwrite untracked during merge from unborn branch

13 years agoMerge branch 'jk/add-e-doc' into maint
Junio C Hamano [Thu, 2 Dec 2010 19:27:08 +0000 (11:27 -0800)]
Merge branch 'jk/add-e-doc' into maint

* jk/add-e-doc:
  docs: give more hints about how "add -e" works
  docs: give more hints about how "add -e" works

13 years agoMerge branch 'bg/maint-gitweb-test-lib' into maint
Junio C Hamano [Thu, 2 Dec 2010 19:26:49 +0000 (11:26 -0800)]
Merge branch 'bg/maint-gitweb-test-lib' into maint

* bg/maint-gitweb-test-lib:
  t/gitweb-lib: Don't pass constant to decode_utf8

13 years agoMerge branch 'tr/maint-merge-file-subdir' into maint
Junio C Hamano [Thu, 2 Dec 2010 19:26:40 +0000 (11:26 -0800)]
Merge branch 'tr/maint-merge-file-subdir' into maint

* tr/maint-merge-file-subdir:
  merge-file: correctly find files when called in subdir
  prefix_filename(): safely handle the case where pfx_len=0

13 years agoMerge branch 'ks/no-textconv-symlink' into maint
Junio C Hamano [Thu, 2 Dec 2010 19:26:24 +0000 (11:26 -0800)]
Merge branch 'ks/no-textconv-symlink' into maint

* ks/no-textconv-symlink:
  blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''
  blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks
  blame,cat-file: Prepare --textconv tests for correctly-failing conversion program

13 years agoMerge branch 'bc/fortran-userdiff' into maint
Junio C Hamano [Thu, 2 Dec 2010 19:25:36 +0000 (11:25 -0800)]
Merge branch 'bc/fortran-userdiff' into maint

* bc/fortran-userdiff:
  userdiff.c: add builtin fortran regex patterns

13 years agoMerge branch 'maint-1.7.2' into maint
Junio C Hamano [Thu, 2 Dec 2010 00:40:26 +0000 (16:40 -0800)]
Merge branch 'maint-1.7.2' into maint

* maint-1.7.2:
  add: introduce add.ignoreerrors synonym for add.ignore-errors
  bash: Match lightweight tags in prompt
  git-commit.txt: (synopsis): move -i and -o before "--"

13 years agoMerge branch 'maint-1.7.1' into maint-1.7.2
Junio C Hamano [Thu, 2 Dec 2010 00:40:20 +0000 (16:40 -0800)]
Merge branch 'maint-1.7.1' into maint-1.7.2

* maint-1.7.1:
  add: introduce add.ignoreerrors synonym for add.ignore-errors

13 years agoMerge branch 'maint-1.7.0' into maint-1.7.1
Junio C Hamano [Thu, 2 Dec 2010 00:37:34 +0000 (16:37 -0800)]
Merge branch 'maint-1.7.0' into maint-1.7.1

* maint-1.7.0:
  add: introduce add.ignoreerrors synonym for add.ignore-errors

13 years agoadd: introduce add.ignoreerrors synonym for add.ignore-errors
Jonathan Nieder [Wed, 1 Dec 2010 18:36:15 +0000 (12:36 -0600)]
add: introduce add.ignoreerrors synonym for add.ignore-errors

The "[add] ignore-errors" tweakable introduced by v1.5.6-rc0~30^2 (Add
a config option to ignore errors for git-add, 2008-05-12) does not
follow the usual convention for naming values in the git configuration
file.

What convention?  Glad you asked.

The section name indicates the affected subsystem.

The subsection name, if any, indicates which of
an unbound set of things to set the value for.

The variable name describes the effect of tweaking
this knob.

The section and variable names can be broken into
words using bumpyCaps in documentation as a hint to
the reader.  These word breaks are not significant
at the level of code, since the section and variable
names are not case sensitive.

The name "add.ignore-errors" includes a dash, meaning a naive
configuration file like

[add]
ignoreErrors

does not have any effect.  Avoid such confusion by renaming to the
more consistent add.ignoreErrors, but keep the old version for
backwards compatibility.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agobash: Match lightweight tags in prompt
knittl [Wed, 1 Dec 2010 13:17:00 +0000 (14:17 +0100)]
bash: Match lightweight tags in prompt

The bash prompt would display a commit's object name when having checked
out a lightweight tag.  Provide `--tags` to `git describe` in the completion
script, so it will display lightweight tag names, as it already does for
annotated tags.

Signed-off-by: Daniel Knittl-Frank <knittl89+git@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-commit.txt: (synopsis): move -i and -o before "--"
Jari Aalto [Wed, 1 Dec 2010 14:51:25 +0000 (16:51 +0200)]
git-commit.txt: (synopsis): move -i and -o before "--"

All options, including -i and -o, must come before "--" which is the
end of options marker.

Reported-by: Joey Hess <joey@kitenet.net>
Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agorebase: only show stat if configured to true
Martin von Zweigbergk [Tue, 9 Nov 2010 20:59:00 +0000 (21:59 +0100)]
rebase: only show stat if configured to true

If rebase.stat is set to true, a diffstat should be displayed. If it is
not set, it should default to false. However, if it is explicitly set to
false (or other value), a diffstat is still displayed, which is probably
not what most users would expect. Show diffstat only if it is set
to true.

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoentry.c: remove "checkout-index" from error messages
Nguyễn Thái Ngọc Duy [Sun, 28 Nov 2010 04:36:38 +0000 (11:36 +0700)]
entry.c: remove "checkout-index" from error messages

Back then when entry.c was part of checkout-index (or checkout-cache
at that time [1]). It makes sense to print the command name in error
messages. Nowadays entry.c is in libgit and can be used by any
commands, printing "git checkout-index: blah" does no more than
confusion. The error messages without it still give enough information.

[1] 12dccc1 (Make fiel checkout function available to the git library - 2005-06-05)

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agohttp-fetch: rework url handling
Tay Ray Chuan [Thu, 25 Nov 2010 08:21:10 +0000 (16:21 +0800)]
http-fetch: rework url handling

Do away with a second url variable, rewritten_url, and make url
non-const. This is safe because the functions called with url (ie.
get_http_walker() and walker_fetch()) do not modify it (ie. marked with
const char *).

Also, replace code that adds a trailing slash with a call to
str_end_url_with_slash().

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agohttp-push: add trailing slash at arg-parse time, instead of later on
Tay Ray Chuan [Thu, 25 Nov 2010 08:21:09 +0000 (16:21 +0800)]
http-push: add trailing slash at arg-parse time, instead of later on

That way, we don't have to update repo->path and repo->path_len again
after adding the trailing slash.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agohttp-push: check path length before using it
Tay Ray Chuan [Thu, 25 Nov 2010 08:21:08 +0000 (16:21 +0800)]
http-push: check path length before using it

We use path_len to skip the base url/path, but we do not know for sure
if path does indeed contain the base url/path. Check if this is so.

Helped-by: Johnathan Nieder <jrnieder@gmail.com>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agohttp-push: Normalise directory names when pushing to some WebDAV servers
Tay Ray Chuan [Thu, 25 Nov 2010 08:21:07 +0000 (16:21 +0800)]
http-push: Normalise directory names when pushing to some WebDAV servers

Fix a bug when pushing to WebDAV servers which do not use a trailing
slash for collection names. The previous implementation fails to see
that the requested resource "refs/" is the same resource as "refs"
and loads every reference twice (once for refs/ and once for refs).

This implementation normalises every collection name by appending a
trailing slash if necessary.

This can be tested with old versions of Apache (such as the WebDAV
server of GMX, Apache 2.0.63).

Based-on-patch-by: Gabriel Corona <gabriel.corona@enst-bretagne.fr>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agohttp-backend: use end_url_with_slash()
Tay Ray Chuan [Thu, 25 Nov 2010 08:21:06 +0000 (16:21 +0800)]
http-backend: use end_url_with_slash()

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agourl: add str wrapper for end_url_with_slash()
Tay Ray Chuan [Thu, 25 Nov 2010 08:21:05 +0000 (16:21 +0800)]
url: add str wrapper for end_url_with_slash()

Helped-by: Johnathan Nieder <jrnieder@gmail.com>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoshift end_url_with_slash() from http.[ch] to url.[ch]
Tay Ray Chuan [Thu, 25 Nov 2010 08:21:04 +0000 (16:21 +0800)]
shift end_url_with_slash() from http.[ch] to url.[ch]

This allows non-http/curl users to access it too (eg. http-backend.c).

Update include headers in end_url_with_slash() users too.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agot5550-http-fetch: add test for http-fetch
Tay Ray Chuan [Thu, 25 Nov 2010 08:21:03 +0000 (16:21 +0800)]
t5550-http-fetch: add test for http-fetch

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agot5550-http-fetch: add missing '&&'
Tay Ray Chuan [Thu, 25 Nov 2010 08:21:02 +0000 (16:21 +0800)]
t5550-http-fetch: add missing '&&'

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'jl/maint-pull-tags-doc' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:47:42 +0000 (12:47 -0800)]
Merge branch 'jl/maint-pull-tags-doc' into maint

* jl/maint-pull-tags-doc:
  pull: Remove --tags option from manpage

14 years agoMerge branch 'kb/maint-diff-ws-check' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:47:27 +0000 (12:47 -0800)]
Merge branch 'kb/maint-diff-ws-check' into maint

* kb/maint-diff-ws-check:
  diff: handle lines containing only whitespace and tabs better
  test-lib: extend test_decode_color to handle more color codes

14 years agoMerge branch 'jm/mailmap' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:47:18 +0000 (12:47 -0800)]
Merge branch 'jm/mailmap' into maint

* jm/mailmap:
  t4203: do not let "git shortlog" DWIM based on tty
  t4203 (mailmap): stop hardcoding commit ids and dates
  mailmap: fix use of freed memory

14 years agoMerge branch 'tr/maint-git-repack-tmpfile' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:47:10 +0000 (12:47 -0800)]
Merge branch 'tr/maint-git-repack-tmpfile' into maint

* tr/maint-git-repack-tmpfile:
  repack: place temporary packs under .git/objects/pack/

14 years agoMerge branch 'jk/maint-apply-no-binary' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:47:04 +0000 (12:47 -0800)]
Merge branch 'jk/maint-apply-no-binary' into maint

* jk/maint-apply-no-binary:
  apply: don't segfault on binary files with missing data

14 years agoMerge branch 'jn/send-pack-error' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:46:46 +0000 (12:46 -0800)]
Merge branch 'jn/send-pack-error' into maint

* jn/send-pack-error:
  send-pack: avoid redundant "pack-objects died with strange error"

14 years agoMerge branch 'ak/submodule-sync' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:46:40 +0000 (12:46 -0800)]
Merge branch 'ak/submodule-sync' into maint

* ak/submodule-sync:
  submodule sync: Update "submodule.<name>.url" for empty directories

14 years agoMerge branch 'jk/maint-rev-list-nul' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:46:32 +0000 (12:46 -0800)]
Merge branch 'jk/maint-rev-list-nul' into maint

* jk/maint-rev-list-nul:
  rev-list: handle %x00 NUL in user format

14 years agoMerge branch 'cb/diff-fname-optim' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:46:26 +0000 (12:46 -0800)]
Merge branch 'cb/diff-fname-optim' into maint

* cb/diff-fname-optim:
  diff: avoid repeated scanning while looking for funcname
  do not search functions for patch ID
  add rebase patch id tests

14 years agoMerge branch 'jk/no-textconv-symlink' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:46:20 +0000 (12:46 -0800)]
Merge branch 'jk/no-textconv-symlink' into maint

* jk/no-textconv-symlink:
  diff: don't use pathname-based diff drivers for symlinks

14 years agoMerge branch 'dk/maint-blame-el' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:46:17 +0000 (12:46 -0800)]
Merge branch 'dk/maint-blame-el' into maint

* dk/maint-blame-el:
  git-blame.el: Add (require 'format-spec)

14 years agoMerge branch 'aw/git-p4-deletion' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:46:14 +0000 (12:46 -0800)]
Merge branch 'aw/git-p4-deletion' into maint

* aw/git-p4-deletion:
  Fix handling of git-p4 on deleted files

14 years agoMerge branch 'kf/post-receive-sample-hook' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:45:39 +0000 (12:45 -0800)]
Merge branch 'kf/post-receive-sample-hook' into maint

* kf/post-receive-sample-hook:
  post-receive-email: ensure sent messages are not empty

14 years agoMerge branch 'jk/repack-reuse-object' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:45:07 +0000 (12:45 -0800)]
Merge branch 'jk/repack-reuse-object' into maint

* jk/repack-reuse-object:
  Documentation: pack.compression: explain how to recompress
  repack: add -F flag to let user choose between --no-reuse-delta/object

Conflicts:
Documentation/git-repack.txt

14 years agoMerge branch 'bc/fix-cherry-pick-root' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:44:46 +0000 (12:44 -0800)]
Merge branch 'bc/fix-cherry-pick-root' into maint

* bc/fix-cherry-pick-root:
  builtin/revert.c: don't dereference a NULL pointer

14 years agoMerge branch 'uk/fix-author-ident-sed-script' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:44:41 +0000 (12:44 -0800)]
Merge branch 'uk/fix-author-ident-sed-script' into maint

* uk/fix-author-ident-sed-script:
  get_author_ident_from_commit(): remove useless quoting

14 years agoMerge branch 'ab/makefile-track-cc' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:44:35 +0000 (12:44 -0800)]
Merge branch 'ab/makefile-track-cc' into maint

* ab/makefile-track-cc:
  Makefile: add CC to TRACK_CFLAGS

14 years agoMerge branch 'mg/reset-doc' into maint
Junio C Hamano [Wed, 24 Nov 2010 20:44:26 +0000 (12:44 -0800)]
Merge branch 'mg/reset-doc' into maint

* mg/reset-doc:
  git-reset.txt: make modes description more consistent
  git-reset.txt: point to git-checkout
  git-reset.txt: use "working tree" consistently
  git-reset.txt: reset --soft is not a no-op
  git-reset.txt: reset does not change files in target
  git-reset.txt: clarify branch vs. branch head