gitweb.git
Merge branch 'jc/revision-dash-count-parsing' into... Junio C Hamano Wed, 25 Jun 2014 18:44:53 +0000 (11:44 -0700)

Merge branch 'jc/revision-dash-count-parsing' into maint

"git log -2master" is a common typo that shows two commits starting
from whichever random branch that is not 'master' that happens to
be checked out currently.

* jc/revision-dash-count-parsing:
revision: parse "git log -<count>" more carefully

Merge branch 'jk/report-fail-to-read-objects-better... Junio C Hamano Wed, 25 Jun 2014 18:43:57 +0000 (11:43 -0700)

Merge branch 'jk/report-fail-to-read-objects-better' into maint

Reworded the error message given upon a failure to open an existing
loose object file due to e.g. permission issues; it was reported as
the object being corrupt, but that is not quite true.

* jk/report-fail-to-read-objects-better:
open_sha1_file: report "most interesting" errno

Merge branch 'mn/sideband-no-ansi' into maintJunio C Hamano Wed, 25 Jun 2014 18:43:43 +0000 (11:43 -0700)

Merge branch 'mn/sideband-no-ansi' into maint

Tools that read diagnostic output in our standard error stream do
not want to see terminal control sequence (e.g. erase-to-eol).
Detect them by checking if the standard error stream is connected
to a tty.

* mn/sideband-no-ansi:
sideband.c: do not use ANSI control sequence on non-terminal

Merge branch 'je/pager-do-not-recurse' into maintJunio C Hamano Wed, 25 Jun 2014 18:43:07 +0000 (11:43 -0700)

Merge branch 'je/pager-do-not-recurse' into maint

We used to unconditionally disable the pager in the pager process
we spawn to feed out output, but that prevented people who want to
run "less" within "less" from doing so.

* je/pager-do-not-recurse:
pager: do allow spawning pager recursively

Merge branch 'jc/rev-parse-argh-dashed-multi-words... Junio C Hamano Thu, 12 Jun 2014 19:17:57 +0000 (12:17 -0700)

Merge branch 'jc/rev-parse-argh-dashed-multi-words' into maint

* jc/rev-parse-argh-dashed-multi-words:
update-index: fix segfault with missing --cacheinfo argument

pull: do not abuse 'break' inside a shell 'case'Jacek Konieczny Wed, 11 Jun 2014 08:47:45 +0000 (10:47 +0200)

pull: do not abuse 'break' inside a shell 'case'

It is not C. The code would break under mksh when 'pull.ff' is set:

$ git pull
/usr/lib/git-core/git-pull[67]: break: can't break
Already up-to-date.

Signed-off-by: Jacek Konieczny <jajcus@jajcus.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

revision: parse "git log -<count>" more carefullyJunio C Hamano Fri, 6 Jun 2014 22:33:25 +0000 (15:33 -0700)

revision: parse "git log -<count>" more carefully

This mistyped command line simply ignores "master" and ends up
showing two commits from the current HEAD:

$ git log -2master

because we feed "2master" to atoi() without making sure that the
whole string is parsed as an integer.

Use the strtol_i() helper function instead.

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

update-index: fix segfault with missing --cacheinfo... Jeff King Wed, 4 Jun 2014 07:11:11 +0000 (03:11 -0400)

update-index: fix segfault with missing --cacheinfo argument

Running "git update-index --cacheinfo" without any further
arguments results in a segfault rather than an error
message. Commit ec160ae (update-index: teach --cacheinfo a
new syntax "mode,sha1,path", 2014-03-23) added code to
examine the format of the argument, but forgot to handle the
NULL case.

Returning an error from the parser is enough, since we then
treat it as an old-style "--cacheinfo <mode> <sha1> <path>",
and complain that we have less than 3 arguments to read.

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

sideband.c: do not use ANSI control sequence on non... Michael Naumov Wed, 28 May 2014 03:12:15 +0000 (03:12 +0000)

sideband.c: do not use ANSI control sequence on non-terminal

Diagnostic messages received on the sideband #2 from the server side
are sent to the standard error with ANSI terminal control sequence
"\033[K" that erases to the end of line appended at the end of each
line.

However, some programs (e.g. GitExtensions for Windows) read and
interpret and/or show the message without understanding the terminal
control sequences, resulting them to be shown to their end users.
To help these programs, squelch the control sequence when the
standard error stream is not being sent to a tty.

NOTE: I considered to cover the case that a pager has already been
started. But decided that is probably not worth worrying about here,
though, as we shouldn't be using a pager for commands that do network
communications (and if we do, omitting the magic line-clearing signal
is probably a sane thing to do).

Thanks-to: Erik Faye-Lund <kusmabite@gmail.com>
Thanks-to: Jeff King <peff@peff.net>
Signed-off-by: Michael Naumov <mnaoumov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with 1.9.4Junio C Hamano Fri, 30 May 2014 17:57:52 +0000 (10:57 -0700)

Sync with 1.9.4

Git 1.9.4 v1.9.4Junio C Hamano Wed, 28 May 2014 22:50:22 +0000 (15:50 -0700)

Git 1.9.4

This is expected to be the final maintenance release for 1.9 series,
merging the remaining fixes that are relevant and are already in 2.0.

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

t5537: re-drop http testsJeff King Fri, 30 May 2014 01:34:19 +0000 (21:34 -0400)

t5537: re-drop http tests

These were originally removed by 0232852 (t5537: move
http tests out to t5539, 2014-02-13). However, they were
accidentally re-added in 1ddb4d7 (Merge branch
'nd/upload-pack-shallow', 2014-03-21).

This looks like an error in manual conflict resolution.
Here's what happened:

1. v1.9.0 shipped with the http tests in t5537.

2. We realized that this caused problems, and built
0232852 on top to move the tests to their own file.
This fix made it into v1.9.1.

3. We later had another fix in nd/upload-pack-shallow that
also touched t5537. It was built directly on v1.9.0.

When we merged nd/upload-pack-shallow to master, we got a
conflict; it was built on a version with the http tests, but
we had since removed them. The correct resolution was to
drop the http tests and keep the new ones, but instead we
kept everything.

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

Merge branch 'rh/prompt-pcmode-avoid-eval-on-refname... Junio C Hamano Wed, 28 May 2014 22:46:36 +0000 (15:46 -0700)

Merge branch 'rh/prompt-pcmode-avoid-eval-on-refname' into maint

* rh/prompt-pcmode-avoid-eval-on-refname:
git-prompt.sh: don't assume the shell expands the value of PS1

Merge branch 'mw/symlinks' into maintJunio C Hamano Wed, 28 May 2014 22:45:57 +0000 (15:45 -0700)

Merge branch 'mw/symlinks' into maint

* mw/symlinks:
setup: fix windows path buffer over-stepping
setup: don't dereference in-tree symlinks for absolute paths
setup: add abspath_part_inside_repo() function
t0060: add tests for prefix_path when path begins with work tree
t0060: add test for prefix_path when path == work tree
t0060: add test for prefix_path on symlinks via absolute paths
t3004: add test for ls-files on symlinks via absolute paths

Git 2.0 v2.0.0Junio C Hamano Wed, 28 May 2014 18:04:19 +0000 (11:04 -0700)

Git 2.0

Update draft release notes to 2.0Junio C Hamano Wed, 21 May 2014 18:50:35 +0000 (11:50 -0700)

Update draft release notes to 2.0

Hopefully for the last time ;-)

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

Git 2.0-rc4 v2.0.0-rc4Junio C Hamano Tue, 20 May 2014 19:07:35 +0000 (12:07 -0700)

Git 2.0-rc4

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

RelNotes/2.0.0.txt: Fix several grammar issues, notably... Jason St. John Sat, 17 May 2014 03:30:34 +0000 (23:30 -0400)

RelNotes/2.0.0.txt: Fix several grammar issues, notably a lack of hyphens, double quotes, or articles

Signed-off-by: Jason St. John <jstjohn@purdue.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Revert "Merge branch 'jc/graduate-remote-hg-bzr' (early... Junio C Hamano Tue, 20 May 2014 21:18:11 +0000 (14:18 -0700)

Revert "Merge branch 'jc/graduate-remote-hg-bzr' (early part)"

Instead of showing a warning and working as before, fail and show
the message and force immediate upgrade from their upstream
repositories when these tools are run, per request from their
primary author.

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

Merge branch 'jc/graduate-remote-hg-bzr' (early part)Junio C Hamano Tue, 20 May 2014 00:12:36 +0000 (17:12 -0700)

Merge branch 'jc/graduate-remote-hg-bzr' (early part)

* 'jc/graduate-remote-hg-bzr' (early part):
remote-helpers: point at their upstream repositories
contrib: remote-helpers: add move warnings (v2.0)
Revert "Merge branch 'fc/transport-helper-sync-error-fix'"

remote-helpers: point at their upstream repositoriesJunio C Hamano Thu, 15 May 2014 21:58:16 +0000 (14:58 -0700)

remote-helpers: point at their upstream repositories

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

contrib: remote-helpers: add move warnings (v2.0)Felipe Contreras Tue, 13 May 2014 21:29:56 +0000 (16:29 -0500)

contrib: remote-helpers: add move warnings (v2.0)

The tools are now maintained out-of-tree, and they have a regression
in v2.0. It's better to start warning the users as soon as possible.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Revert "Merge branch 'fc/transport-helper-sync-error... Junio C Hamano Wed, 14 May 2014 19:06:35 +0000 (12:06 -0700)

Revert "Merge branch 'fc/transport-helper-sync-error-fix'"

This reverts commit d508e4a8e2391ae2596403b6478d01cf3d5f928f,
reversing changes made to e42552135a2a396f37053a89f44952ea907870b2.

The author of the original topic says he broke the upcoming 2.0
release with something that relates to "synchronization crash
regression" while refusing to give further specifics, so this would
unfortunately be the safest option for the upcoming release.

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

Merge branch 'rh/prompt-pcmode-avoid-eval-on-refname'Junio C Hamano Mon, 19 May 2014 23:10:10 +0000 (16:10 -0700)

Merge branch 'rh/prompt-pcmode-avoid-eval-on-refname'

* rh/prompt-pcmode-avoid-eval-on-refname:
git-prompt.sh: don't assume the shell expands the value of PS1

git-prompt.sh: don't assume the shell expands the value... Richard Hansen Mon, 19 May 2014 22:55:37 +0000 (18:55 -0400)

git-prompt.sh: don't assume the shell expands the value of PS1

Not all shells subject the prompt string to parameter expansion. Test
whether the shell will expand the value of PS1, and use the result to
control whether raw ref names are included directly in PS1.

This fixes a regression introduced in commit 8976500 ("git-prompt.sh:
don't put unsanitized branch names in $PS1"): zsh does not expand PS1
by default, but that commit assumed it did. The bug resulted in
prompts containing the literal string '${__git_ps1_branch_name}'
instead of the actual branch name.

Reported-by: Caleb Thompson <caleb@calebthompson.io>
Signed-off-by: Richard Hansen <rhansen@bbn.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'lt/request-pull'Junio C Hamano Mon, 19 May 2014 17:35:36 +0000 (10:35 -0700)

Merge branch 'lt/request-pull'

* lt/request-pull:
request-pull: resurrect for-linus -> tags/for-linus DWIM

Merge branch 'jl/use-vsatisfy-correctly-for-2.0'Junio C Hamano Mon, 19 May 2014 17:35:24 +0000 (10:35 -0700)

Merge branch 'jl/use-vsatisfy-correctly-for-2.0'

* jl/use-vsatisfy-correctly-for-2.0:
git-gui: tolerate major version changes when comparing the git version

Merge git://github.com/git-l10n/git-poJunio C Hamano Mon, 19 May 2014 17:32:56 +0000 (10:32 -0700)

Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
fr: a lot of good fixups

Merge branch 'kb/fast-hashmap'Junio C Hamano Mon, 19 May 2014 17:32:25 +0000 (10:32 -0700)

Merge branch 'kb/fast-hashmap'

* kb/fast-hashmap:
Documentation/technical/api-hashmap: remove source highlighting

Documentation/technical/api-hashmap: remove source... Anders Kaseorg Sat, 17 May 2014 11:08:55 +0000 (07:08 -0400)

Documentation/technical/api-hashmap: remove source highlighting

The highlighting was pretty, but unfortunately, the failure mode
when source-highlight is not installed was that the entire code
block disappears.

See https://bugs.debian.org/745591,
https://bugs.launchpad.net/bugs/1316810.

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

git-gui: tolerate major version changes when comparing... Jens Lehmann Sat, 17 May 2014 19:49:05 +0000 (21:49 +0200)

git-gui: tolerate major version changes when comparing the git version

Since git 2.0.0 starting git gui in a submodule using a gitfile fails with
the following error:

No working directory ../../../<path>

couldn't change working directory
to "../../../<path>": no such file or
directory

This is because "git rev-parse --show-toplevel" is only run when git gui
sees a git version of at least 1.7.0 (which is the version in which the
--show-toplevel option was introduced). But "package vsatisfies" returns
false when the major version changes, which is not what we want here.

Fix that for both places where the git version is checked using vsatisfies
by appending a '-' to the version number. This tells vsatisfies that a
change of the major version is not considered to be a problem, as long as
the new major version is larger. This is done for both the place that
caused the reported bug and another spot where the git version is tested
for another feature.

Reported-by: Chris Packham <judge.packham@gmail.com>
Reported-by: Yann Dirson <ydirson@free.fr>
Helped-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Tested-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fr: a lot of good fixupsGrégoire Paris Tue, 6 May 2014 21:29:57 +0000 (23:29 +0200)

fr: a lot of good fixups

Signed-off-by: Grégoire Paris <postmaster@greg0ire.fr>
Acked-by: Jean-Noel Avila <jn.avila@free.fr>

request-pull: resurrect for-linus -> tags/for-linus... Junio C Hamano Fri, 16 May 2014 17:18:25 +0000 (10:18 -0700)

request-pull: resurrect for-linus -> tags/for-linus DWIM

Older versions of Git before v1.7.10 did not DWIM

$ git pull $URL for-linus

to the tag "tags/for-linus" and the users were required to say

$ git pull $URL tags/for-linus

instead. Because newer versions of Git works either way,
request-pull used to show tags/for-linus when asked

$ git request-pull origin/master $URL for-linus

The recent updates broke this and in the output we see "for-linus"
without the "tags/" prefix.

As v1.7.10 is more than 2 years old, this should matter very little
in practice, but resurrecting it is very simple.

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

open_sha1_file: report "most interesting" errnoJeff King Thu, 15 May 2014 08:54:06 +0000 (04:54 -0400)

open_sha1_file: report "most interesting" errno

When we try to open a loose object file, we first attempt to
open in the local object database, and then try any
alternates. This means that the errno value when we return
will be from the last place we looked (and due to the way
the code is structured, simply ENOENT if we do not have have
any alternates).

This can cause confusing error messages, as read_sha1_file
checks for ENOENT when reporting a missing object. If errno
is something else, we report that. If it is ENOENT, but
has_loose_object reports that we have it, then we claim the
object is corrupted. For example:

$ chmod 0 .git/objects/??/*
$ git rev-list --all
fatal: loose object b2d6fab18b92d49eac46dc3c5a0bcafabda20131 (stored in .git/objects/b2/d6fab18b92d49eac46dc3c5a0bcafabda20131) is corrupt

This patch instead keeps track of the "most interesting"
errno we receive during our search. We consider ENOENT to be
the least interesting of all, and otherwise report the first
error found (so problems in the object database take
precedence over ones in alternates). Here it is with this
patch:

$ git rev-list --all
fatal: failed to read object b2d6fab18b92d49eac46dc3c5a0bcafabda20131: Permission denied

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

Merge branch 'fc/prompt-zsh-read-from-file'Junio C Hamano Tue, 13 May 2014 18:53:14 +0000 (11:53 -0700)

Merge branch 'fc/prompt-zsh-read-from-file'

* fc/prompt-zsh-read-from-file:
contrib: completion: fix 'eread()' namespace

contrib: completion: fix 'eread()' namespaceFelipe Contreras Tue, 13 May 2014 13:21:19 +0000 (08:21 -0500)

contrib: completion: fix 'eread()' namespace

Otherwise it might collide with a function of the same name in the
user's environment.

Suggested-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://github.com/git-l10n/git-poJunio C Hamano Mon, 12 May 2014 17:12:05 +0000 (10:12 -0700)

Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
l10n: Updated Bulgarian translation of git (1307t0f921u)

l10n: Updated Bulgarian translation of git (1307t0f921u)Alexander Shopov Wed, 29 Jan 2014 13:08:40 +0000 (15:08 +0200)

l10n: Updated Bulgarian translation of git (1307t0f921u)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>

Git 2.0-rc3 v2.0.0-rc3Junio C Hamano Fri, 9 May 2014 18:23:25 +0000 (11:23 -0700)

Git 2.0-rc3

Sync with 1.9.3Junio C Hamano Fri, 9 May 2014 18:00:48 +0000 (11:00 -0700)

Sync with 1.9.3

Git 1.9.3 v1.9.3Junio C Hamano Fri, 9 May 2014 17:59:07 +0000 (10:59 -0700)

Git 1.9.3

The third maintenance release for Git 1.9; contains all the fixes
that are scheduled to appear in Git 2.0 since 1.9.2.

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

Sync with maintJunio C Hamano Thu, 8 May 2014 18:59:51 +0000 (11:59 -0700)

Sync with maint

* maint:
shell doc: remove stray "+" in example
Start preparing for 1.9.3

shell doc: remove stray "+" in exampleJonathan Nieder Wed, 7 May 2014 23:44:01 +0000 (16:44 -0700)

shell doc: remove stray "+" in example

The git-shell(1) manpage says

EXAMPLE
To disable interactive logins, displaying a greeting
instead:

+

$ chsh -s /usr/bin/git-shell
$ mkdir $HOME/git-shell-commands
[...]

The stray "+" has been there ever since the example was added in
v1.8.3-rc0~210^2 (shell: new no-interactive-login command to print a
custom message, 2013-03-09). The "+" sign between paragraphs is
needed in asciidoc to attach extra paragraphs to a list item but here
it is not needed and ends up rendered as a literal "+". Remove it.

A quick search with "grep -e '<p>+' /usr/share/doc/git/html/*.html"
doesn't find any other instances of this problem.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://github.com/git-l10n/git-poJunio C Hamano Thu, 8 May 2014 17:25:37 +0000 (10:25 -0700)

Merge git://github.com/git-l10n/git-po

* 'master' of git://github.com/git-l10n/git-po:
l10n: Fix a couple of typos in the Swedish translation

Start preparing for 1.9.3Junio C Hamano Thu, 8 May 2014 17:05:22 +0000 (10:05 -0700)

Start preparing for 1.9.3

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

Merge branch 'cl/p4-use-diff-tree' into maintJunio C Hamano Thu, 8 May 2014 17:01:32 +0000 (10:01 -0700)

Merge branch 'cl/p4-use-diff-tree' into maint

"git p4" dealing with changes in binary files were broken by a
change in 1.9 release.

* cl/p4-use-diff-tree:
git-p4: format-patch to diff-tree change breaks binary patches

Merge branch 'rh/prompt-pcmode-avoid-eval-on-refname... Junio C Hamano Thu, 8 May 2014 17:01:18 +0000 (10:01 -0700)

Merge branch 'rh/prompt-pcmode-avoid-eval-on-refname' into maint

The shell prompt script (in contrib/), when using the PROMPT_COMMAND
interface, used an unsafe construct when showing the branch name in
$PS1.

* rh/prompt-pcmode-avoid-eval-on-refname:
git-prompt.sh: don't put unsanitized branch names in $PS1

Merge branch 'km/avoid-non-function-return-in-rebase... Junio C Hamano Thu, 8 May 2014 17:01:06 +0000 (10:01 -0700)

Merge branch 'km/avoid-non-function-return-in-rebase' into maint

"git rebase" used a POSIX shell construct FreeBSD /bin/sh does not
work well with.

* km/avoid-non-function-return-in-rebase:
Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD"
rebase: avoid non-function use of "return" on FreeBSD

Merge branch 'tb/unicode-6.3-zero-width' into maintJunio C Hamano Thu, 8 May 2014 17:00:45 +0000 (10:00 -0700)

Merge branch 'tb/unicode-6.3-zero-width' into maint

Some more Unicode codepoints defined in Unicode 6.3 as having zero
width have been taught to our display column counting logic.

* tb/unicode-6.3-zero-width:
utf8.c: partially update to version 6.3

Merge branch 'km/avoid-bs-in-shell-glob' into maintJunio C Hamano Thu, 8 May 2014 17:00:36 +0000 (10:00 -0700)

Merge branch 'km/avoid-bs-in-shell-glob' into maint

Some tests used shell constructs that did not work well on FreeBSD

* km/avoid-bs-in-shell-glob:
test: fix t5560 on FreeBSD

Merge branch 'km/avoid-cp-a' into maintJunio C Hamano Thu, 8 May 2014 16:59:41 +0000 (09:59 -0700)

Merge branch 'km/avoid-cp-a' into maint

Some tests used shell constructs that did not work well on FreeBSD

* km/avoid-cp-a:
test: fix t7001 cp to use POSIX options

Update draft release notes for 2.0Junio C Hamano Wed, 7 May 2014 22:50:15 +0000 (15:50 -0700)

Update draft release notes for 2.0

Describe one last minute one-liner fix for regression introduced in
1.9, and fix a grave mischaracterization on a recent remote-hg/bzr
change, pointed out by Felipe.

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

Merge branch 'cl/p4-use-diff-tree'Junio C Hamano Wed, 7 May 2014 21:39:29 +0000 (14:39 -0700)

Merge branch 'cl/p4-use-diff-tree'

Fixes a regression in 1.9.0 with an obviously correct single-liner.

* cl/p4-use-diff-tree:
git-p4: format-patch to diff-tree change breaks binary patches

git-p4: format-patch to diff-tree change breaks binary... Tolga Ceylan Wed, 7 May 2014 05:48:54 +0000 (22:48 -0700)

git-p4: format-patch to diff-tree change breaks binary patches

When applying binary patches a full index is required. format-patch
already handles this, but diff-tree needs '--full-index' argument
to always output full index. When git-p4 runs git-apply to test
the patch, git-apply rejects the patch due to abbreviated blob
object names. This is the error message git-apply emits in this
case:

error: cannot apply binary patch to '<filename>' without full index line
error: <filename>: patch does not apply

Signed-off-by: Tolga Ceylan <tolga.ceylan@gmail.com>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: Fix a couple of typos in the Swedish translationPeter Krefting Wed, 7 May 2014 06:06:37 +0000 (07:06 +0100)

l10n: Fix a couple of typos in the Swedish translation

Thanks-to: Anders Jonsson <anders.jonsson@norsjovallen.se>
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>

RelNotes/2.0.0: Grammar and typo fixesØyvind A. Holm Sat, 3 May 2014 19:08:50 +0000 (21:08 +0200)

RelNotes/2.0.0: Grammar and typo fixes

Signed-off-by: Øyvind A. Holm <sunny@sunbase.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 2.0-rc2 v2.0.0-rc2Junio C Hamano Fri, 2 May 2014 20:15:52 +0000 (13:15 -0700)

Git 2.0-rc2

Merge branch 'mw/symlinks'Junio C Hamano Fri, 2 May 2014 20:11:02 +0000 (13:11 -0700)

Merge branch 'mw/symlinks'

A finishing touch fix to a new change already in 'master'.

* mw/symlinks:
setup: fix windows path buffer over-stepping

Merge branch 'km/git-svn-workaround-older-getopt-long'Junio C Hamano Fri, 2 May 2014 20:10:58 +0000 (13:10 -0700)

Merge branch 'km/git-svn-workaround-older-getopt-long'

* km/git-svn-workaround-older-getopt-long:
t9117: use --prefix "" instead of --prefix=""

Merge branch 'rh/prompt-pcmode-avoid-eval-on-refname'Junio C Hamano Fri, 2 May 2014 20:10:53 +0000 (13:10 -0700)

Merge branch 'rh/prompt-pcmode-avoid-eval-on-refname'

* rh/prompt-pcmode-avoid-eval-on-refname:
git-prompt.sh: don't put unsanitized branch names in $PS1

Merge branch 'mk/doc-git-gui-display-untracked'Junio C Hamano Fri, 2 May 2014 20:10:47 +0000 (13:10 -0700)

Merge branch 'mk/doc-git-gui-display-untracked'

* mk/doc-git-gui-display-untracked:
Documentation: git-gui: describe gui.displayuntracked

Merge git://github.com/git-l10n/git-poJunio C Hamano Wed, 30 Apr 2014 18:01:42 +0000 (11:01 -0700)

Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
l10n: de.po: improve hint for autocorrected command execution
l10n: de.po: translate 45 new messages
l10n: de.po: correct translation of "completed" after resolving deltas
l10n: zh_CN.po: translate 46 new messages (2229t0f0u)
l10n: fr translation for v2.0.0rc0 (2228t)
l10n: Update Swedish translation (2228t0f0u)
l10n: vi.po (2228t): Update and minor fix
l10n: git.pot: v2.0.0 round 1 (45 new, 28 removed)

Revert the whole "ask curl-config" topic for nowJunio C Hamano Wed, 30 Apr 2014 17:58:10 +0000 (10:58 -0700)

Revert the whole "ask curl-config" topic for now

Postpone this a bit during the feature freeze and retry the effort
in the next cycle.

l10n: de.po: improve hint for autocorrected command... Ralf Thielow Fri, 25 Apr 2014 20:16:43 +0000 (22:16 +0200)

l10n: de.po: improve hint for autocorrected command execution

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>

l10n: de.po: translate 45 new messagesRalf Thielow Tue, 1 Apr 2014 18:25:20 +0000 (20:25 +0200)

l10n: de.po: translate 45 new messages

Translate 45 new messages came from git.pot update in 5e078fc
(l10n: git.pot: v2.0.0 round 1 (45 new, 28 removed)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Thomas Rast <tr@thomasrast.ch>

l10n: de.po: correct translation of "completed" after... Ralf Thielow Sat, 12 Apr 2014 19:39:10 +0000 (21:39 +0200)

l10n: de.po: correct translation of "completed" after resolving deltas

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>

pager: do allow spawning pager recursivelyJörn Engel Mon, 21 Apr 2014 20:46:22 +0000 (16:46 -0400)

pager: do allow spawning pager recursively

This reverts commit 88e8f908f2b0c56f9ccf8134d8ff9f689af9cc84, which
tried to allow

GIT_PAGER="git -p column --mode='dense color'" git -p branch

and still wanted to avoid "git -p column" to invoke itself. However,
this falls into "don't do that -p then" category.

In particular, inside "git log", with results going through less, a
potentially interesting commit may be found and from there inside
"less", the user may want to execute "git show <commit>". Before
the commit being reverted, this used to show the patch in less but
it no longer does.

Signed-off-by: Jörn Engel <joern@logfs.org>
Reviewed-by: Jeff King <peff@peff.net>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Acked-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'db/make-with-curl'Junio C Hamano Mon, 28 Apr 2014 22:48:12 +0000 (15:48 -0700)

Merge branch 'db/make-with-curl'

It turns out that some platforms do ship without curl-config even
though they build with the hardcoded default -lcurl and rely on it
to work.

* db/make-with-curl:
Makefile: default to -lcurl when no CURL_CONFIG or CURLDIR

Merge branch 'jk/external-diff-use-argv-array' (early... Junio C Hamano Mon, 28 Apr 2014 22:47:35 +0000 (15:47 -0700)

Merge branch 'jk/external-diff-use-argv-array' (early part)

Crash fix for codepath that miscounted the necessary size for an
array when spawning an external diff program.

* 'jk/external-diff-use-argv-array' (early part):
run_external_diff: use an argv_array for the command line

Makefile: default to -lcurl when no CURL_CONFIG or... Dave Borowitz Mon, 28 Apr 2014 21:01:23 +0000 (14:01 -0700)

Makefile: default to -lcurl when no CURL_CONFIG or CURLDIR

The original implementation of CURL_CONFIG support did not match the
original behavior of using -lcurl when CURLDIR was not set. This broke
implementations that were lacking curl-config but did have libcurl
installed along system libraries, such as MSysGit. In other words, the
assumption that curl-config is always installed was incorrect.

Instead, if CURL_CONFIG is empty or returns an empty result (e.g. due
to curl-config being missing), use the old behavior of falling back to
-lcurl.

Signed-off-by: Dave Borowitz <dborowitz@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 2.0-rc1 v2.0.0-rc1Junio C Hamano Fri, 25 Apr 2014 17:03:41 +0000 (10:03 -0700)

Git 2.0-rc1

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

setup: fix windows path buffer over-steppingMartin Erik Werner Thu, 24 Apr 2014 13:06:09 +0000 (15:06 +0200)

setup: fix windows path buffer over-stepping

Fix a buffer over-stepping issue triggered by providing an absolute path
that is similar to the work tree path.

abspath_part_inside_repo() may currently increment the path pointer by
offset_1st_component() + wtlen, which is too much, since
offset_1st_component() is a subset of wtlen.

For the *nix-style prefix '/', this does (by luck) not cause any issues,
since offset_1st_component() is 1 and there will always be a '/' or '\0'
that can "absorb" this.

In the case of DOS-style prefixes though, the offset_1st_component() is
3 and this can potentially over-step the string buffer. For example if

work_tree = "c:/r"
path = "c:/rl"

Then wtlen is 4, and incrementing the path pointer by (3 + 4) would
end up 2 bytes outside a string buffer of length 6.

Similarly if

work_tree = "c:/r"
path = "c:/rl/d/a"

Then (since the loop starts by also incrementing the pointer one step),
this would mean that the function would miss checking if "c:/rl/d" could
be the work_tree, arguably this is unlikely though, since it would only
be possible with symlinks on windows.

Fix this by simply avoiding to increment by offset_1st_component() and
wtlen at the same time.

Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jk/pack-bitmap'Junio C Hamano Thu, 24 Apr 2014 19:31:50 +0000 (12:31 -0700)

Merge branch 'jk/pack-bitmap'

A last minute (and hopefully the last) fix to avoid coredumps due
to an incorrect pointer arithmetic.

* jk/pack-bitmap:
ewah_bitmap.c: do not assume size_t and eword_t are the same size

Merge branch 'fc/transport-helper-sync-error-fix'Junio C Hamano Thu, 24 Apr 2014 19:31:34 +0000 (12:31 -0700)

Merge branch 'fc/transport-helper-sync-error-fix'

Make sure the marks are not written out when the transport helper
did not finish happily, to avoid leaving a marks file that is out of
sync with the reality.

* fc/transport-helper-sync-error-fix:
t5801 (remote-helpers): cleanup environment sets
transport-helper: fix sync issue on crashes
transport-helper: trivial cleanup
transport-helper: propagate recvline() error pushing
remote-helpers: make recvline return an error
transport-helper: remove barely used xchgline()

Merge branch 'db/make-with-curl'Junio C Hamano Thu, 24 Apr 2014 19:31:27 +0000 (12:31 -0700)

Merge branch 'db/make-with-curl'

Ask curl-config how to link with the curl library, instead of
having only a limited configurability knobs in the Makefile.

* db/make-with-curl:
Makefile: allow static linking against libcurl
Makefile: use curl-config to determine curl flags

t9117: use --prefix "" instead of --prefix=""Kyle J. McKay Tue, 22 Apr 2014 11:16:22 +0000 (04:16 -0700)

t9117: use --prefix "" instead of --prefix=""

Versions of Perl's Getopt::Long module before 2.37 do not contain
this fix that first appeared in Getopt::Long version 2.37:

* Bugfix: With gnu_compat, --foo= will no longer trigger "Option
requires an argument" but return the empty string.

Instead of using --prefix="" use --prefix "" when testing an
explictly empty prefix string in order to work with older versions
of Perl's Getopt::Long module.

Also add a paragraph on this workaround to the documentation of
git-svn itself.

Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: zh_CN.po: translate 46 new messages (2229t0f0u)Jiang Xin Thu, 13 Mar 2014 04:41:34 +0000 (12:41 +0800)

l10n: zh_CN.po: translate 46 new messages (2229t0f0u)

Translations for git v2.0.0-rc0. Also correct translatioins on relative
date in date.c with help from Brian Gesiak ($gmane/246390).

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

Merge branch 'fr-po' of git://github.com/jnavila/gitJiang Xin Wed, 23 Apr 2014 04:33:47 +0000 (12:33 +0800)

Merge branch 'fr-po' of git://github.com/jnavila/git

* 'fr-po' of git://github.com/jnavila/git:
l10n: fr translation for v2.0.0rc0 (2228t)

ewah_bitmap.c: do not assume size_t and eword_t are... Kyle J. McKay Tue, 22 Apr 2014 22:53:02 +0000 (15:53 -0700)

ewah_bitmap.c: do not assume size_t and eword_t are the same size

When buffer_grow changes the size of the buffer using realloc,
it first computes and saves the rlw pointer's offset into the
buffer using (uint8_t *) math before the realloc but then
restores it using (eword_t *) math.

In order to do this it's necessary to convert the (uint8_t *)
offset into an (eword_t *) offset. It was doing this by
dividing by the sizeof(size_t). Unfortunately sizeof(size_t)
is not same as sizeof(eword_t) on all platforms.

This causes illegal memory accesses and other bad things to
happen when attempting to use bitmaps on those platforms.

Fix this by dividing by the sizeof(eword_t) instead which
will always be correct for all platforms.

Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: fr translation for v2.0.0rc0 (2228t)Jean-Noel Avila Wed, 26 Feb 2014 20:27:14 +0000 (21:27 +0100)

l10n: fr translation for v2.0.0rc0 (2228t)

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
Signed-off-by: Matthieu Baerts <matttbe@gmail.com>
Signed-off-by: Xavier Mehrenberger <xavier.mehrenberger@gmail.com>

git-prompt.sh: don't put unsanitized branch names in... Richard Hansen Mon, 21 Apr 2014 23:53:09 +0000 (19:53 -0400)

git-prompt.sh: don't put unsanitized branch names in $PS1

Both bash and zsh subject the value of PS1 to parameter expansion,
command substitution, and arithmetic expansion. Rather than include
the raw, unescaped branch name in PS1 when running in two- or
three-argument mode, construct PS1 to reference a variable that holds
the branch name. Because the shells do not recursively expand, this
avoids arbitrary code execution by specially-crafted branch names such
as '$(IFS=_;cmd=sudo_rm_-rf_/;$cmd)'.

Signed-off-by: Richard Hansen <rhansen@bbn.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: Update Swedish translation (2228t0f0u)Peter Krefting Tue, 22 Apr 2014 09:26:02 +0000 (10:26 +0100)

l10n: Update Swedish translation (2228t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>

Update draft release notes to 2.0Junio C Hamano Mon, 21 Apr 2014 18:54:29 +0000 (11:54 -0700)

Update draft release notes to 2.0

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

Merge git://bogomips.org/git-svnJunio C Hamano Mon, 21 Apr 2014 17:53:09 +0000 (10:53 -0700)

Merge git://bogomips.org/git-svn

* git://bogomips.org/git-svn:
Git 2.0: git svn: Set default --prefix='origin/' if --prefix is not given

Merge branch 'jx/i18n'Junio C Hamano Mon, 21 Apr 2014 17:42:52 +0000 (10:42 -0700)

Merge branch 'jx/i18n'

* jx/i18n:
i18n: mention "TRANSLATORS:" marker in Documentation/CodingGuidelines
i18n: only extract comments marked with "TRANSLATORS:"
i18n: remove obsolete comments for translators in diffstat generation
i18n: fix uncatchable comments for translators in date.c

Merge branch 'km/avoid-non-function-return-in-rebase'Junio C Hamano Mon, 21 Apr 2014 17:42:45 +0000 (10:42 -0700)

Merge branch 'km/avoid-non-function-return-in-rebase'

Work around /bin/sh that does not like "return" at the top-level
of a file that is dot-sourced from inside a function definition.

* km/avoid-non-function-return-in-rebase:
Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD"
rebase: avoid non-function use of "return" on FreeBSD

Merge branch 'ep/shell-command-substitution'Junio C Hamano Mon, 21 Apr 2014 17:42:41 +0000 (10:42 -0700)

Merge branch 'ep/shell-command-substitution'

* ep/shell-command-substitution:
t9362-mw-to-git-utf8.sh: use the $( ... ) construct for command substitution
t9360-mw-to-git-clone.sh: use the $( ... ) construct for command substitution
git-tag.sh: use the $( ... ) construct for command substitution
git-revert.sh: use the $( ... ) construct for command substitution
git-resolve.sh: use the $( ... ) construct for command substitution
git-repack.sh: use the $( ... ) construct for command substitution
git-merge.sh: use the $( ... ) construct for command substitution
git-ls-remote.sh: use the $( ... ) construct for command substitution
git-fetch.sh: use the $( ... ) construct for command substitution
git-commit.sh: use the $( ... ) construct for command substitution
git-clone.sh: use the $( ... ) construct for command substitution
git-checkout.sh: use the $( ... ) construct for command substitution
install-webdoc.sh: use the $( ... ) construct for command substitution
howto-index.sh: use the $( ... ) construct for command substitution

t5801 (remote-helpers): cleanup environment setsFelipe Contreras Sun, 20 Apr 2014 18:43:37 +0000 (13:43 -0500)

t5801 (remote-helpers): cleanup environment sets

Commit 512477b (tests: use "env" to run commands with temporary env-var
settings) missed some variables in the remote-helpers test. Also
standardize these.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: git-gui: describe gui.displayuntrackedMax Kirillov Sat, 19 Apr 2014 21:47:14 +0000 (00:47 +0300)

Documentation: git-gui: describe gui.displayuntracked

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

run_external_diff: use an argv_array for the command... Jeff King Sat, 19 Apr 2014 19:17:06 +0000 (15:17 -0400)

run_external_diff: use an argv_array for the command line

We currently generate the command-line for the external
command using a fixed-length array of size 10. But if there
is a rename, we actually need 11 elements (10 items, plus a
NULL), and end up writing a random NULL onto the stack.

Rather than bump the limit, let's just use an argv_array, which
makes this sort of error impossible.

Noticed-by: Max L <infthi.inbox@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: vi.po (2228t): Update and minor fixTran Ngoc Quan Sun, 20 Apr 2014 08:22:26 +0000 (15:22 +0700)

l10n: vi.po (2228t): Update and minor fix

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>

Git 2.0: git svn: Set default --prefix='origin/' if... Johan Herland Fri, 11 Oct 2013 12:57:07 +0000 (14:57 +0200)

Git 2.0: git svn: Set default --prefix='origin/' if --prefix is not given

git-svn by default puts its Subversion-tracking refs directly in
refs/remotes/*. This runs counter to Git's convention of using
refs/remotes/$remote/* for storing remote-tracking branches.

Furthermore, combining git-svn with regular git remotes run the risk of
clobbering refs under refs/remotes (e.g. if you have a git remote
called "tags" with a "v1" branch, it will overlap with the git-svn's
tracking branch for the "v1" tag from Subversion.

Even though the git-svn refs stored in refs/remotes/* are not "proper"
remote-tracking branches (since they are not covered by a proper git
remote's refspec), they clearly represent a similar concept, and would
benefit from following the same convention.

For example, if git-svn tracks Subversion branch "foo" at
refs/remotes/foo, and you create a local branch refs/heads/foo to add
some commits to be pushed back to Subversion (using "git svn dcommit),
then it is clearly unhelpful of Git to throw

warning: refname 'foo' is ambiguous.

every time you checkout, rebase, or otherwise interact with the branch.

The existing workaround for this is to supply the --prefix=quux/ to
git svn init/clone, so that git-svn's tracking branches end up in
refs/remotes/quux/* instead of refs/remotes/*. However, encouraging
users to specify --prefix to work around a design flaw in git-svn is
suboptimal, and not a long term solution to the problem. Instead,
git-svn should default to use a non-empty prefix that saves
unsuspecting users from the inconveniences described above.

This patch will only affect newly created git-svn setups, as the
--prefix option only applies to git svn init (and git svn clone).
Existing git-svn setups will continue with their existing (lack of)
prefix. Also, if anyone somehow prefers git-svn's old layout, they
can recreate that by explicitly passing an empty prefix (--prefix "")
on the git svn init/clone command line.

The patch changes the default value for --prefix from "" to "origin/",
updates the git-svn manual page, and fixes the fallout in the git-svn
testcases.

(Note that this patch might be easier to review using the --word-diff
and --word-diff-regex=. diff options.)

[ew: squashed description of <= 1.9 behavior into manpage]

Suggested-by: Thomas Ferris Nicolaisen <tfnico@gmail.com>
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Eric Wong <normalperson@yhbt.net>

l10n: git.pot: v2.0.0 round 1 (45 new, 28 removed)Jiang Xin Sat, 19 Apr 2014 04:53:28 +0000 (12:53 +0800)

l10n: git.pot: v2.0.0 round 1 (45 new, 28 removed)

Generate po/git.pot from v2.0.0-rc0 for git v2.0.0 l10n round 1.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

Git 2.0-rc0 v2.0.0-rc0Junio C Hamano Fri, 18 Apr 2014 18:21:43 +0000 (11:21 -0700)

Git 2.0-rc0

An early-preview for the upcoming Git 2.0.

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

Merge branch 'jk/config-die-bad-number-noreturn'Junio C Hamano Fri, 18 Apr 2014 18:17:44 +0000 (11:17 -0700)

Merge branch 'jk/config-die-bad-number-noreturn'

Squelch a false compiler warning from older gcc.

* jk/config-die-bad-number-noreturn:
config.c: mark die_bad_number as NORETURN

Merge branch 'fc/remote-helper-fixes'Junio C Hamano Fri, 18 Apr 2014 18:17:40 +0000 (11:17 -0700)

Merge branch 'fc/remote-helper-fixes'

* fc/remote-helper-fixes:
remote-bzr: trivial test fix
remote-bzr: include authors field in pushed commits
remote-bzr: add support for older versions
remote-hg: always normalize paths
remote-helpers: allow all tests running from any dir

Merge branch 'fc/complete-aliased-push'Junio C Hamano Fri, 18 Apr 2014 18:17:36 +0000 (11:17 -0700)

Merge branch 'fc/complete-aliased-push'

* fc/complete-aliased-push:
completion: fix completing args of aliased "push", "fetch", etc.

Merge branch 'fc/prompt-zsh-read-from-file'Junio C Hamano Fri, 18 Apr 2014 18:17:22 +0000 (11:17 -0700)

Merge branch 'fc/prompt-zsh-read-from-file'

* fc/prompt-zsh-read-from-file:
prompt: fix missing file errors in zsh

i18n: mention "TRANSLATORS:" marker in Documentation... Junio C Hamano Fri, 18 Apr 2014 17:48:08 +0000 (10:48 -0700)

i18n: mention "TRANSLATORS:" marker in Documentation/CodingGuidelines

These comments have to have "TRANSLATORS: " at the very beginning
and have to deviate from the usual multi-line comment formatting
convention.

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

t9362-mw-to-git-utf8.sh: use the $( ... ) construct... Elia Pinto Wed, 16 Apr 2014 17:29:58 +0000 (10:29 -0700)

t9362-mw-to-git-utf8.sh: use the $( ... ) construct for command substitution

The Git CodingGuidelines prefer the $(...) construct for command
substitution instead of using the backquotes `...`.

The backquoted form is the traditional method for command
substitution, and is supported by POSIX. However, all but the
simplest uses become complicated quickly. In particular, embedded
command substitutions and/or the use of double quotes require
careful escaping with the backslash character.

The patch was generated by:

for _f in $(find . -name "*.sh")
do
sed -i 's@`\(.*\)`@$(\1)@g' ${_f}
done

and then carefully proof-read.

Signed-off-by: Elia Pinto <gitter.spiros@gmail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>