gitweb.git
git fetch: support host:/~repoTorsten Bögershausen Thu, 28 Nov 2013 19:49:38 +0000 (20:49 +0100)

git fetch: support host:/~repo

The documentation (in urls.txt) says that

"ssh://host:/~repo",
"host:/~repo" or
"host:~repo"

specify the repository "repo" in the home directory at "host".

This has not been working for "host:/~repo".

Before commit 356bec "Support [address] in URLs", the comparison
"url != hostname" could be used to determine if the URL had a scheme
or not: "ssh://host/host" != "host".

However, after 356bec "[::1]" was converted into "::1", yielding
url != hostname as well. To fix this regression, don't use
"if (url != hostname)", but look at the separator instead.

Rename the variable "c" into "separator" to make it easier to read.

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

t5500: add test cases for diag-urlTorsten Bögershausen Thu, 28 Nov 2013 19:49:29 +0000 (20:49 +0100)

t5500: add test cases for diag-url

Add test cases using git fetch-pack --diag-url:

- parse out host and path for URLs with a scheme (git:// file:// ssh://)
- parse host names embedded by [] correctly
- extract the port number, if present
- separate URLs like "file" (which are local)
from URLs like "host:repo" which should use ssh

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

git fetch-pack: add --diag-urlTorsten Bögershausen Thu, 28 Nov 2013 19:49:17 +0000 (20:49 +0100)

git fetch-pack: add --diag-url

The main purpose is to trace the URL parser called by git_connect() in
connect.c

The main features of the parser can be listed as this:

- parse out host and path for URLs with a scheme (git:// file:// ssh://)
- parse host names embedded by [] correctly
- extract the port number, if present
- separate URLs like "file" (which are local)
from URLs like "host:repo" which should use ssh

Add the new parameter "--diag-url" to "git fetch-pack", which prints
the value for protocol, host and path to stderr and exits.

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

git_connect: factor out discovery of the protocol and... Johannes Sixt Thu, 28 Nov 2013 19:49:01 +0000 (20:49 +0100)

git_connect: factor out discovery of the protocol and its parts

git_connect has grown large due to the many different protocols syntaxes
that are supported. Move the part of the function that parses the URL to
connect to into a separate function for readability.

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

git_connect: remove artificial limit of a remote commandJohannes Sixt Thu, 28 Nov 2013 19:48:45 +0000 (20:48 +0100)

git_connect: remove artificial limit of a remote command

Since day one, function git_connect() had a limit on the command line of
the command that is invoked to make a connection. 7a33bcbe converted the
code that constructs the command to strbuf. This would have been the
right time to remove the limit, but it did not happen. Remove it now.

git_connect() uses start_command() to invoke the command; consequently,
the limits of the system still apply, but are diagnosed only at execve()
time. But these limits are more lenient than the 1K that git_connect()
imposed.

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

rev-parse: be more careful with munging argumentsJeff King Fri, 6 Dec 2013 22:07:52 +0000 (17:07 -0500)

rev-parse: be more careful with munging arguments

When rev-parse looks at whether an argument like "foo..bar" or
"foobar^@" is a difference or parent-shorthand, it internally
munges the arguments so that it can pass the individual rev
arguments to get_sha1(). However, we do not consistently un-munge
the result.

For cases where we do not match (e.g., "doesnotexist..HEAD"), we
would then want to try to treat the argument as a filename.
try_difference gets() this right, and always unmunges in this case.
However, try_parent_shorthand() never unmunges, leading to incorrect
error messages, or even incorrect results:

$ git rev-parse foobar^@
foobar
fatal: ambiguous argument 'foobar': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

$ >foobar
$ git rev-parse foobar^@
foobar

For cases where we do match, neither function unmunges. This does
not currently matter, since we are done with the argument. However,
a future patch will do further processing, and this prepares for
it. In addition, it's simply a confusing interface for some cases to
modify the const argument, and others not to.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rev-parse: correctly diagnose revision errors before... Jeff King Fri, 6 Dec 2013 22:05:48 +0000 (17:05 -0500)

rev-parse: correctly diagnose revision errors before "--"

Rev-parse understands that a "--" may separate revisions and
filenames, and that anything after the "--" is taken as-is.
However, it does not understand that anything before the
token must be a revision (which is the usual rule
implemented by the setup_revisions parser).

Since rev-parse prefers revisions to files when parsing
before the "--", we end up with the correct result (if such
an argument is a revision, we parse it as one, and if it is
not, it is an error either way). However, we misdiagnose
the errors:

$ git rev-parse foobar -- >/dev/null
fatal: ambiguous argument 'foobar': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

$ >foobar
$ git rev-parse foobar -- >/dev/null
fatal: bad flag '--' used after filename

In both cases, we should know that the real error is that
"foobar" is meant to be a revision, but could not be
resolved.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

clone,fetch: catch non positive --depth option valueNguyễn Thái Ngọc Duy Thu, 5 Dec 2013 03:31:11 +0000 (10:31 +0700)

clone,fetch: catch non positive --depth option value

Instead of simply ignoring the value passed to --depth option when
it is zero or negative, catch and report it as an error to let
people know that they were using the option incorrectly.

Original-patch-by: Andrés G. Aragoneses <knocte@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit -v: strip diffs and submodule shortlogs from... Jens Lehmann Thu, 5 Dec 2013 19:44:14 +0000 (20:44 +0100)

commit -v: strip diffs and submodule shortlogs from the commit message

When using the '-v' option of "git commit" the diff added to the commit
message temporarily for editing is stripped off after the user exited the
editor by searching for "\ndiff --git " and truncating the commmit message
there if it is found.

But this approach has two problems:

- when the commit message itself contains a line starting with
"diff --git" it will be truncated there prematurely; and

- when the "diff.submodule" setting is set to "log", the diff may
start with "Submodule <hash1>..<hash2>", which will be left in
the commit message while it shouldn't.

Fix that by introducing a special scissor separator line starting with the
comment character ('#' or the core.commentChar config if set) followed by
two lines describing what it is for. The scissor line - which will not be
translated - is used to reliably detect the start of the diff so it can be
chopped off from the commit message, no matter what the user enters there.

Turn a known test failure fixed by this change into a successful test;
also add one for a diff starting with a submodule log and another one for
proper handling of the comment char.

Reported-by: Ari Pollak <ari@debian.org>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5601: add tests for sshTorsten Bögershausen Thu, 28 Nov 2013 19:48:22 +0000 (20:48 +0100)

t5601: add tests for ssh

Add more tests testing all the combinations:

-IPv4 or IPv6
-path starting with "/" or with "/~"
-with and without the ssh:// scheme

Some tests fail; they need updates in connect.c

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

t5601: remove clear_ssh, refactor setup_ssh_wrapperTorsten Bögershausen Thu, 28 Nov 2013 19:53:47 +0000 (20:53 +0100)

t5601: remove clear_ssh, refactor setup_ssh_wrapper

Commit 8d3d28f5 added test cases for URLs which should be ssh.
Remove the function clear_ssh, use test_when_finished to clean up.

Introduce the function setup_ssh_wrapper, which could be factored
out together with expect_ssh.

Tighten one test and use "foo:bar" instead of "./foo:bar",

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

mv: let 'git mv file no-such-dir/' error outMatthieu Moy Tue, 3 Dec 2013 08:32:04 +0000 (09:32 +0100)

mv: let 'git mv file no-such-dir/' error out

Git used to trim the trailing slash, and make the command equivalent
to 'git mv file no-such-dir', which created the file no-such-dir
(while the trailing slash explicitly stated that it could only be a
directory).

This patch skips the trailing slash removal for the destination
path. The path with its trailing slash is passed to rename(2),
which errors out with the appropriate message:

$ git mv file no-such-dir/
fatal: renaming 'file' failed: Not a directory

Original-patch-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: set SSL options through IO::Socket::SSL... Thomas Rast Sun, 1 Dec 2013 22:48:43 +0000 (23:48 +0100)

send-email: set SSL options through IO::Socket::SSL::set_client_defaults

When --smtp-encryption=ssl, we use a Net::SMTP::SSL connection,
passing its ->new all the options that would otherwise go to
Net::SMTP->new (most options) and IO::Socket::SSL->start_SSL (for the
SSL options).

However, while Net::SMTP::SSL replaces the underlying socket class
with an SSL socket, it does nothing to allow passing options to that
socket. So the SSL-relevant options are lost.

Fortunately there is an escape hatch: we can directly set the options
with IO::Socket::SSL::set_client_defaults. They will then persist
within the IO::Socket::SSL module.

Signed-off-by: Thomas Rast <tr@thomasrast.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: --smtp-ssl-cert-path takes an argumentThomas Rast Sun, 1 Dec 2013 22:48:42 +0000 (23:48 +0100)

send-email: --smtp-ssl-cert-path takes an argument

35035bb (send-email: be explicit with SSL certificate verification,
2013-07-18) forgot to specify that --smtp-ssl-cert-path takes a string
argument. This means that the option could not actually be used as
intended. Presumably noone noticed because it's much easier to set it
through configs anyway.

Add the required "=s".

Signed-off-by: Thomas Rast <tr@thomasrast.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: pass Debug to Net::SMTP::SSL::newThomas Rast Sun, 1 Dec 2013 22:48:41 +0000 (23:48 +0100)

send-email: pass Debug to Net::SMTP::SSL::new

We forgot to pass the Debug option through to Net::SMTP::SSL->new --
which is the same as Net::SMTP->new. This meant that with security
set to SSL, we would never enable debug output.

Pass through the flag.

Signed-off-by: Thomas Rast <tr@thomasrast.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.5.1 v1.8.5.1Junio C Hamano Tue, 3 Dec 2013 19:16:56 +0000 (11:16 -0800)

Git 1.8.5.1

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

ref-iteration doc: add_submodule_odb() returns 0 for... Nick Townsend Mon, 25 Nov 2013 23:31:09 +0000 (15:31 -0800)

ref-iteration doc: add_submodule_odb() returns 0 for success

The usage sample of add_submodule_odb() function in the Submodules
section expects non-zero return value for success, but the function
actually reports success with zero.

Helped-by: René Scharfe <l.s.r@web.de>
Reviewed-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Nick Townsend <nick.townsend@mac.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with 1.8.4.5Junio C Hamano Mon, 2 Dec 2013 23:34:44 +0000 (15:34 -0800)

Sync with 1.8.4.5

Git 1.8.4.5 v1.8.4.5Junio C Hamano Mon, 2 Dec 2013 23:33:30 +0000 (15:33 -0800)

Git 1.8.4.5

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

submodule: do not copy unknown update mode from .gitmodulesJunio C Hamano Mon, 2 Dec 2013 21:31:55 +0000 (13:31 -0800)

submodule: do not copy unknown update mode from .gitmodules

When submodule.$name.update is given as hint from the upstream in
the .gitmodules file, we used to blindly copy it to .git/config,
unless there already is a value defined for the submodule.

However, there is no reason to expect that the update mode hinted by
the upstream is available in the version of Git the user is using,
and a really custom "!cmd" prepared by an upstream person running on
Linux may not even be available to a user on Windows. It is simply
irresponsible to copy the setting blindly and to attempt to use it
during a later "submodule update" without validating it first.

Just show the suggested value to the diagnostic output, and set the
value to 'none' in the configuration, if it is not one of the ones
that are known to be supported by this version of Git.

Helped-by: Jens Lehmann <Jens.Lehmann@web.de>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: revamp git-cherry(1)Thomas Rast Fri, 22 Nov 2013 16:29:16 +0000 (17:29 +0100)

Documentation: revamp git-cherry(1)

git-cherry(1)'s "description" section has never really managed
to explain to me what the command does. It contains too much
explanation of the algorithm instead of simply saying what
goals it achieves, and too much terminology that we otherwise
do not use (fork-point instead of merge-base).

Try a much more concise approach: state what it finds out, why
this is neat, and how the output is formatted, in a few short
paragraphs. In return, provide much longer examples of how it
fits into a "format-patch | am" based workflow, and how it
compares to reading the same from git-log.

Also carefully avoid using "merge" in a context where it does
not mean something that comes from git-merge(1). Instead, say
"apply" in an attempt to further link to patch workflow
concepts.

While there, also omit the language about _which_ upstream
branch we treat as the default. I literally just learned that
we support having several, so let's not confuse new users
here, especially considering that git-config(1) does not
document this.

Prompted-by: a.huemer@commend.com on #git
Signed-off-by: Thomas Rast <tr@thomasrast.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.5 v1.8.5Junio C Hamano Wed, 27 Nov 2013 20:14:45 +0000 (12:14 -0800)

Git 1.8.5

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

Sync with maintJunio C Hamano Wed, 27 Nov 2013 20:13:29 +0000 (12:13 -0800)

Sync with maint

* maint:
remote-hg: don't decode UTF-8 paths into Unicode objects

remote-hg: don't decode UTF-8 paths into Unicode objectsRichard Hansen Mon, 18 Nov 2013 04:12:42 +0000 (23:12 -0500)

remote-hg: don't decode UTF-8 paths into Unicode objects

The internal mercurial API expects ordinary 8-bit string objects, not
Unicode string objects. With this change, the test-hg.sh unit tests
pass again.

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

SubmittingPatches: document how to handle multiple... René Scharfe Wed, 27 Nov 2013 00:28:39 +0000 (01:28 +0100)

SubmittingPatches: document how to handle multiple patches

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rh/remote-hg-bzr-updates' (early part)Junio C Hamano Mon, 25 Nov 2013 16:20:02 +0000 (08:20 -0800)

Merge branch 'rh/remote-hg-bzr-updates' (early part)

Unbreaks a recent breakage due to use of unquote-c-style.

This may need to be cherry-picked down to 1.8.4.x series.

* 'rh/remote-hg-bzr-updates' (early part):
remote-hg: don't decode UTF-8 paths into Unicode objects

glossary-content.txt: fix documentation of "**" patternsNguyễn Thái Ngọc Duy Thu, 21 Nov 2013 06:44:20 +0000 (13:44 +0700)

glossary-content.txt: fix documentation of "**" patterns

"**" means bold in ASCIIDOC, so we need to escape it. This is similar
to 8447dc8 (gitignore.txt: fix documentation of "**" patterns -
2013-11-07)

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

Documentation/gitcli.txt: fix double quotesJason St. John Wed, 20 Nov 2013 01:34:40 +0000 (20:34 -0500)

Documentation/gitcli.txt: fix double quotes

Replace double quotes around literal examples with backticks

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

diff: restrict pathspec limitations to diff b/f case... Nguyễn Thái Ngọc Duy Wed, 20 Nov 2013 01:26:41 +0000 (08:26 +0700)

diff: restrict pathspec limitations to diff b/f case only

builtin_diff_b_f() needs a path, not pathspec. Other modes in diff
can deal with pathspec just fine. But because of the current
GUARD_PATHSPEC() location, other modes also reject :(glob) and
:(icase).

Move GUARD_PATHSPEC(), and the "path" assignment statement, which is
the reason of this GUARD_PATHSPEC(), inside builtin_diff_b_f().

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

Git 1.8.5-rc3 v1.8.5-rc3Junio C Hamano Wed, 20 Nov 2013 19:18:25 +0000 (11:18 -0800)

Git 1.8.5-rc3

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

Sync with 1.8.4.4Junio C Hamano Wed, 20 Nov 2013 19:26:59 +0000 (11:26 -0800)

Sync with 1.8.4.4

Git 1.8.4.4 v1.8.4.4Junio C Hamano Wed, 20 Nov 2013 19:26:08 +0000 (11:26 -0800)

Git 1.8.4.4

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

Merge branch 'mb/relnotes-1.8.5-fix'Junio C Hamano Wed, 20 Nov 2013 19:15:25 +0000 (11:15 -0800)

Merge branch 'mb/relnotes-1.8.5-fix'

* mb/relnotes-1.8.5-fix:
RelNotes: spelling & grammar fixes

RelNotes: spelling & grammar fixesMarc Branchaud Thu, 14 Nov 2013 17:01:13 +0000 (12:01 -0500)

RelNotes: spelling & grammar fixes

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'nd/literal-pathspecs'Junio C Hamano Mon, 18 Nov 2013 22:31:29 +0000 (14:31 -0800)

Merge branch 'nd/literal-pathspecs'

Fixes a regression on 'master' since v1.8.4.

* nd/literal-pathspecs:
pathspec: stop --*-pathspecs impact on internal parse_pathspec() uses

remote-hg: don't decode UTF-8 paths into Unicode objectsRichard Hansen Mon, 18 Nov 2013 04:12:42 +0000 (23:12 -0500)

remote-hg: don't decode UTF-8 paths into Unicode objects

The internal mercurial API expects ordinary 8-bit string objects, not
Unicode string objects. With this change, the test-hg.sh unit tests
pass again.

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

Documentation/rev-list-options.txt: fix some grammatica... Jason St. John Fri, 15 Nov 2013 01:34:02 +0000 (20:34 -0500)

Documentation/rev-list-options.txt: fix some grammatical issues and typos

Various fixes:

- fix typos (e.g. "show" -> "shown")
- use "regular expression(s)" instead of "regexp" where appropriate
- reword some sentences for easier reading
- fix/improve some grammatical issues (e.g. comma usage)
- add missing articles (e.g. "the")
- change "E-mail" to "email"

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

Documentation/rev-list-options.txt: fix mark-upJason St. John Fri, 15 Nov 2013 01:34:01 +0000 (20:34 -0500)

Documentation/rev-list-options.txt: fix mark-up

Some the labeled list entries have a blank line between the label
and the body text, and some don't. Use the latter style for
consistency; incidentally, syntax highlighting in Vim works better
if there is no blank line there.

Typeset literal options, commands, and path names in monospace.
When using `literal string` mark-up to do so, there is no need to
escape AsciiDoc special characters with backslashes, so make sure we
don't do so.

Replace some double quotes with proper AsciiDoc quotes
(e.g. ``foo'').

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

State correct usage of literal examples in man pages... Jason St. John Thu, 14 Nov 2013 23:08:45 +0000 (18:08 -0500)

State correct usage of literal examples in man pages in the coding standards

The man pages contain inconsistent usage of backticks vs. single quotes
around options, commands, etc. that are in paragraphs. This commit states
that backticks should always be used around literal examples.

This commit states that "--" and friends should not be escaped
(e.g. use `--pretty=oneline` instead of `\--pretty=oneline`).

This commit also states correct usage for typesetting command usage
examples with inline substitutions.

Thanks-to: Ramkumar Ramachandra <artagnon@gmail.com>
Thanks-to: Stuart Rackham <srackham@gmail.com>
Thanks-to: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jason St. John <jstjohn@purdue.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Mon, 18 Nov 2013 20:25:28 +0000 (12:25 -0800)

Merge branch 'maint'

Hotfix for recent regression while talking to upload-pack
in a repository with many symbolic refs.

* maint:
Revert "upload-pack: send non-HEAD symbolic refs"

Merge branch 'jx/branch-vv-always-compare-with-upstream'Junio C Hamano Mon, 18 Nov 2013 20:24:49 +0000 (12:24 -0800)

Merge branch 'jx/branch-vv-always-compare-with-upstream'

Hot-fix for a regression.

* jx/branch-vv-always-compare-with-upstream:
branch: fix --verbose output column alignment

branch: fix --verbose output column alignmentTorstein Hegge Thu, 14 Nov 2013 18:18:01 +0000 (19:18 +0100)

branch: fix --verbose output column alignment

Commit f2e0873 (branch: report invalid tracking branch as gone) removed
an early return from fill_tracking_info() in the path taken when 'git
branch -v' lists a branch in sync with its upstream. This resulted in an
unconditionally added space in front of the subject line:

$ git branch -v
* master f5eb3da commit pushed to upstream
topic f935eb6 unpublished topic

Instead, only add the trailing space if a decoration have been added.

To catch this kind of whitespace breakage in the tests, be a bit less
smart when filtering the output through sed.

Signed-off-by: Torstein Hegge <hegge@resisty.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Revert "upload-pack: send non-HEAD symbolic refs"Junio C Hamano Mon, 18 Nov 2013 18:15:45 +0000 (10:15 -0800)

Revert "upload-pack: send non-HEAD symbolic refs"

This reverts commit 5e7dcad771cb873e278a0571b46910d7c32e2f6c; there
may be unbounded number of symbolic refs in the repository, but the
capability header line in the on-wire protocol has a rather low
length limit.

Documentation/git-log.txt: mark-up fix and minor rephasingJason St. John Wed, 13 Nov 2013 06:21:49 +0000 (01:21 -0500)

Documentation/git-log.txt: mark-up fix and minor rephasing

- typeset options, commands, and paths in monospace;
- typeset references to sections with emphasis;
- replace some double quotes with proper AsciiDoc quotes (e.g. ``foo'');
- use title case when referring to section headings.

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

Documentation/git-log: update "--log-size" descriptionJason St. John Wed, 13 Nov 2013 06:21:48 +0000 (01:21 -0500)

Documentation/git-log: update "--log-size" description

"--log-size" was added in commit 9fa3465, and the commit message
contained a satisfactory explanation; however, the man page entry
for it did not describe the actual output format, what the output
meant and what the option was meant to be used for.

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

Git 1.8.5-rc2 v1.8.5-rc2Junio C Hamano Wed, 13 Nov 2013 20:59:31 +0000 (12:59 -0800)

Git 1.8.5-rc2

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

Merge git://github.com/git-l10n/git-poJunio C Hamano Tue, 12 Nov 2013 19:26:11 +0000 (11:26 -0800)

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

* git://github.com/git-l10n/git-po:
l10n: de.po: improve error message when pushing to unknown upstream
l10n: de.po: translate 68 new messages
po/TEAMS: update Thomas Rast's email address
l10n: Update Swedish translation (2194t0f0u)
l10n: fr.po 2194/1294 messages translated
l10n: zh_CN.po: translate 68 messages (2194t0f0u)
l10n: vi.po (2194t): Update and minor fix
l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)

Correct word usage of "timezone" in "Documentation... Jason St. John Sat, 9 Nov 2013 00:48:52 +0000 (19:48 -0500)

Correct word usage of "timezone" in "Documentation" directory

"timezone" is two words, not one (i.e. "time zone" is correct).

Correct this in these files:
-- date-formats.txt
-- git-blame.txt
-- git-cvsimport.txt
-- git-fast-import.txt
-- git-svn.txt
-- gitweb.conf.txt
-- rev-list-options.txt

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

contrib: typofixesMasanari Iida Tue, 12 Nov 2013 15:17:45 +0000 (00:17 +0900)

contrib: typofixes

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/technical/http-protocol.txt: typofixesMasanari Iida Tue, 12 Nov 2013 15:17:43 +0000 (00:17 +0900)

Documentation/technical/http-protocol.txt: typofixes

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

typofixes: fix misspelt commentsMasanari Iida Tue, 12 Nov 2013 15:17:42 +0000 (00:17 +0900)

typofixes: fix misspelt comments

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: de.po: improve error message when pushing to... Ralf Thielow Fri, 8 Nov 2013 19:34:35 +0000 (20:34 +0100)

l10n: de.po: improve error message when pushing to unknown upstream

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

l10n: de.po: translate 68 new messagesRalf Thielow Sat, 2 Nov 2013 17:58:52 +0000 (18:58 +0100)

l10n: de.po: translate 68 new messages

Translate 68 new messages came from git.pot update in 727b957
(l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)).

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

po/TEAMS: update Thomas Rast's email addressRalf Thielow Sat, 2 Nov 2013 17:56:14 +0000 (18:56 +0100)

po/TEAMS: update Thomas Rast's email address

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

git-fetch-pack uses URLs like git-fetchTorsten Bögershausen Fri, 8 Nov 2013 17:54:05 +0000 (18:54 +0100)

git-fetch-pack uses URLs like git-fetch

"git fetch-pack" allows [<host>:]<directory> to point out the source
repository.
Use the term <repository>, which is already used in "git fetch" or "git pull"
to describe URLs supported by Git.

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

Merge remote-tracking branch 'sv/nafmo/master'Jiang Xin Sun, 10 Nov 2013 00:48:23 +0000 (08:48 +0800)

Merge remote-tracking branch 'sv/nafmo/master'

* sv/nafmo/master:
l10n: Update Swedish translation (2194t0f0u)

l10n: Update Swedish translation (2194t0f0u)Peter Krefting Tue, 2 Jul 2013 12:09:37 +0000 (13:09 +0100)

l10n: Update Swedish translation (2194t0f0u)

And fix a typo.

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

l10n: fr.po 2194/1294 messages translatedJean-Noel Avila Fri, 1 Nov 2013 14:35:08 +0000 (15:35 +0100)

l10n: fr.po 2194/1294 messages translated

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
Signed-off-by: Sebastien Helleu <flashcode@flashtux.org>

Sync with 1.8.4.3Junio C Hamano Fri, 8 Nov 2013 20:08:43 +0000 (12:08 -0800)

Sync with 1.8.4.3

Git 1.8.4.3 v1.8.4.3Junio C Hamano Fri, 8 Nov 2013 20:06:19 +0000 (12:06 -0800)

Git 1.8.4.3

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

Merge branch 'jn/test-prereq-perl-doc' into maintJunio C Hamano Fri, 8 Nov 2013 20:01:58 +0000 (12:01 -0800)

Merge branch 'jn/test-prereq-perl-doc' into maint

The interaction between use of Perl in our test suite and NO_PERL
has been clarified a bit.

* jn/test-prereq-perl-doc:
t/README: tests can use perl even with NO_PERL

Merge branch 'ap/remote-hg-unquote-cquote' into maintJunio C Hamano Fri, 8 Nov 2013 20:01:13 +0000 (12:01 -0800)

Merge branch 'ap/remote-hg-unquote-cquote' into maint

A fast-import stream expresses a pathname with funny characters by
quoting them in C style; remote-hg remote helper (in contrib/)
forgot to unquote such a path.

* ap/remote-hg-unquote-cquote:
remote-hg: unquote C-style paths when exporting

Merge branch 'jc/upload-pack-send-symref' into maintJunio C Hamano Fri, 8 Nov 2013 19:38:00 +0000 (11:38 -0800)

Merge branch 'jc/upload-pack-send-symref' into maint

One long-standing flaw in the pack transfer protocol used by "git
clone" was that there was no way to tell the other end which branch
"HEAD" points at, and the receiving end needed to guess. A new
capability has been defined in the pack protocol to convey this
information so that cloning from a repository with more than one
branches pointing at the same commit where the HEAD is at now
reliably sets the initial branch in the resulting repository.

* jc/upload-pack-send-symref:
t5570: Update for clone-progress-to-stderr branch
t5570: Update for symref capability
clone: test the new HEAD detection logic
connect: annotate refs with their symref information in get_remote_head()
connect.c: make parse_feature_value() static
upload-pack: send non-HEAD symbolic refs
upload-pack: send symbolic ref information as capability
upload-pack.c: do not pass confusing cb_data to mark_our_ref()
t5505: fix "set-head --auto with ambiguous HEAD" test

Merge branch 'jk/http-auth-redirects' into maintJunio C Hamano Fri, 8 Nov 2013 19:37:25 +0000 (11:37 -0800)

Merge branch 'jk/http-auth-redirects' into maint

We did not handle cases where http transport gets redirected during
the authorization request (e.g. from http:// to https://).

* jk/http-auth-redirects:
http.c: Spell the null pointer as NULL
remote-curl: rewrite base url from info/refs redirects
remote-curl: store url as a strbuf
remote-curl: make refs_url a strbuf
http: update base URLs when we see redirects
http: provide effective url to callers
http: hoist credential request out of handle_curl_result
http: refactor options to http_get_*
http_request: factor out curlinfo_strbuf
http_get_file: style fixes

Sync with maintJunio C Hamano Thu, 7 Nov 2013 22:41:25 +0000 (14:41 -0800)

Sync with maint

* maint:
Start preparing for 1.8.4.3
gitignore.txt: fix documentation of "**" patterns

Start preparing for 1.8.4.3Junio C Hamano Thu, 7 Nov 2013 22:39:47 +0000 (14:39 -0800)

Start preparing for 1.8.4.3

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

Merge branch 'sc/doc-howto-dumb-http' into maintJunio C Hamano Thu, 7 Nov 2013 22:37:39 +0000 (14:37 -0800)

Merge branch 'sc/doc-howto-dumb-http' into maint

An ancient How-To on serving Git repositories on an HTTP server
lacked a warning that it has been mostly superseded with more
modern way.

* sc/doc-howto-dumb-http:
doc/howto: warn about (dumb)http server document being too old

Merge branch 'vd/doc-unpack-objects' into maintJunio C Hamano Thu, 7 Nov 2013 22:37:35 +0000 (14:37 -0800)

Merge branch 'vd/doc-unpack-objects' into maint

The synopsis section of "git unpack-objects" documentation has been
clarified a bit.

* vd/doc-unpack-objects:
Documentation: "pack-file" is not literal in unpack-objects
Documentation: restore a space in unpack-objects usage

Merge branch 'jk/subtree-install-fix' into maintJunio C Hamano Thu, 7 Nov 2013 22:37:17 +0000 (14:37 -0800)

Merge branch 'jk/subtree-install-fix' into maint

We did not generate HTML version of documentation to "git subtree"
in contrib/.

* jk/subtree-install-fix:
subtree: add makefile target for html docs

Merge branch 'hn/log-graph-color-octopus' into maintJunio C Hamano Thu, 7 Nov 2013 22:37:11 +0000 (14:37 -0800)

Merge branch 'hn/log-graph-color-octopus' into maint

Coloring around octopus merges in "log --graph" output was screwy.

* hn/log-graph-color-octopus:
graph: fix coloring around octopus merges

Merge branch 'mm/checkout-auto-track-fix' into maintJunio C Hamano Thu, 7 Nov 2013 22:36:59 +0000 (14:36 -0800)

Merge branch 'mm/checkout-auto-track-fix' into maint

"git checkout topic", when there is not yet a local "topic" branch
but there is a unique remote-tracking branch for a remote "topic"
branch, pretended as if "git checkout -t -b topic remote/$r/topic"
(for that unique remote $r) was run. This hack however was not
implemented for "git checkout topic --".

* mm/checkout-auto-track-fix:
checkout: proper error message on 'git checkout foo bar --'
checkout: allow dwim for branch creation for "git checkout $branch --"

Merge branch 'sg/prompt-svn-remote-fix' into maintJunio C Hamano Thu, 7 Nov 2013 22:36:45 +0000 (14:36 -0800)

Merge branch 'sg/prompt-svn-remote-fix' into maint

Bash prompting code to deal with an SVN remote as an upstream
were coded in a way not supported by older Bash versions (3.x).

* sg/prompt-svn-remote-fix:
bash prompt: don't use '+=' operator in show upstream code path

Merge branch 'jk/split-broken-ident' into maintJunio C Hamano Thu, 7 Nov 2013 22:34:51 +0000 (14:34 -0800)

Merge branch 'jk/split-broken-ident' into maint

The fall-back parsing of commit objects with broken author or
committer lines were less robust than ideal in picking up the
timestamps.

* jk/split-broken-ident:
split_ident: parse timestamp from end of line

Merge branch 'jc/revision-range-unpeel' into maintJunio C Hamano Thu, 7 Nov 2013 22:34:14 +0000 (14:34 -0800)

Merge branch 'jc/revision-range-unpeel' into maint

"git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the
output, but "git rev-list --objects v1.0^..v1.0" did not.

* jc/revision-range-unpeel:
revision: do not peel tags used in range notation

gitignore.txt: fix documentation of "**" patternsKarsten Blees Thu, 7 Nov 2013 16:30:47 +0000 (17:30 +0100)

gitignore.txt: fix documentation of "**" patterns

"**" means bold in ASCIIDOC, so we need to escape it.

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.5-rc1 v1.8.5-rc1Junio C Hamano Wed, 6 Nov 2013 22:35:19 +0000 (14:35 -0800)

Git 1.8.5-rc1

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

Merge branch 'fc/trivial'Junio C Hamano Wed, 6 Nov 2013 22:34:43 +0000 (14:34 -0800)

Merge branch 'fc/trivial'

A random collection of style fixes and minor doc updates.

* fc/trivial:
setup: trivial style fixes
run-command: trivial style fixes
diff: trivial style fix
revision: trivial style fixes
pretty: trivial style fix
describe: trivial style fixes
transport-helper: trivial style fix
sha1-name: trivial style cleanup
branch: trivial style fix
revision: add missing include
doc/pull: clarify the illustrations
t: replace pulls with merges
merge: simplify ff-only option

sha1_loose_object_info(): do not return success on... Junio C Hamano Wed, 6 Nov 2013 18:00:57 +0000 (10:00 -0800)

sha1_loose_object_info(): do not return success on missing object

Since 052fe5ea (sha1_loose_object_info: make type lookup optional,
2013-07-12), sha1_loose_object_info() returns happily without
checking if the object in question exists, which is not what the the
caller sha1_object_info_extended() expects; the caller does not even
bother checking the existence of the object itself.

Noticed-by: Sven Brauch <svenbrauch@googlemail.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.8.5Junio C Hamano Mon, 4 Nov 2013 23:05:08 +0000 (15:05 -0800)

Update draft release notes to 1.8.5

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

Merge branch 'bw/solaris-sed-tr-test-portability'Junio C Hamano Mon, 4 Nov 2013 22:58:19 +0000 (14:58 -0800)

Merge branch 'bw/solaris-sed-tr-test-portability'

* bw/solaris-sed-tr-test-portability:
t4015: simplify sed command that is not even seen by sed
Avoid difference in tr semantics between System V and BSD
Change sed i\ usage to something Solaris' sed can handle

Merge branch 'vd/doc-unpack-objects'Junio C Hamano Mon, 4 Nov 2013 22:58:15 +0000 (14:58 -0800)

Merge branch 'vd/doc-unpack-objects'

* vd/doc-unpack-objects:
Documentation: "pack-file" is not literal in unpack-objects
Documentation: restore a space in unpack-objects usage

Merge branch 'jk/duplicate-objects-in-packs'Junio C Hamano Mon, 4 Nov 2013 22:58:10 +0000 (14:58 -0800)

Merge branch 'jk/duplicate-objects-in-packs'

Test fixup to a topic recently graduated.

* jk/duplicate-objects-in-packs:
Fix '\%o' for printf from coreutils

Merge branch 'jk/subtree-install-fix'Junio C Hamano Mon, 4 Nov 2013 22:58:08 +0000 (14:58 -0800)

Merge branch 'jk/subtree-install-fix'

* jk/subtree-install-fix:
subtree: add makefile target for html docs

Merge branch 'ak/cvsserver-stabilize-use-of-hash-keys'Junio C Hamano Mon, 4 Nov 2013 22:58:05 +0000 (14:58 -0800)

Merge branch 'ak/cvsserver-stabilize-use-of-hash-keys'

* ak/cvsserver-stabilize-use-of-hash-keys:
cvsserver: Determinize output to combat Perl 5.18 hash randomization

Merge branch 'jk/wrap-perl-used-in-tests'Junio C Hamano Mon, 4 Nov 2013 22:58:01 +0000 (14:58 -0800)

Merge branch 'jk/wrap-perl-used-in-tests'

* jk/wrap-perl-used-in-tests:
t: use perl instead of "$PERL_PATH" where applicable
t: provide a perl() function which uses $PERL_PATH

Merge branch 'sc/doc-howto-dumb-http'Junio C Hamano Mon, 4 Nov 2013 22:57:57 +0000 (14:57 -0800)

Merge branch 'sc/doc-howto-dumb-http'

* sc/doc-howto-dumb-http:
doc/howto: warn about (dumb)http server document being too old

Merge branch 'jn/test-prereq-perl-doc'Junio C Hamano Mon, 4 Nov 2013 22:57:53 +0000 (14:57 -0800)

Merge branch 'jn/test-prereq-perl-doc'

* jn/test-prereq-perl-doc:
t/README: tests can use perl even with NO_PERL

t1005: add test for "read-tree --reset -u A B"Junio C Hamano Fri, 1 Nov 2013 22:04:08 +0000 (15:04 -0700)

t1005: add test for "read-tree --reset -u A B"

With a conflicted index, this used to give us an error.

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

t1005: reindentJunio C Hamano Fri, 1 Nov 2013 21:55:17 +0000 (14:55 -0700)

t1005: reindent

Just to update the style of this ancient test script to match
our house style.

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

unpack-trees: fix "read-tree -u --reset A B" with confl... Jeff King Sat, 29 Dec 2012 20:51:54 +0000 (15:51 -0500)

unpack-trees: fix "read-tree -u --reset A B" with conflicted index

When we call "read-tree --reset -u HEAD ORIG_HEAD", the first thing we
do with the index is to call read_cache_unmerged. Originally that
would read the index, leaving aside any unmerged entries. However, as
of d1a43f2 (reset --hard/read-tree --reset -u: remove unmerged new
paths, 2008-10-15), it actually creates a new cache entry to serve as
a placeholder, so that we later know to update the working tree.

However, we later noticed that the sha1 of that unmerged entry was
just copied from some higher stage, leaving you with random content in
the index. That was fixed by e11d7b5 ("reset --merge": fix unmerged
case, 2009-12-31), which instead puts the null sha1 into the newly
created entry, and sets a CE_CONFLICTED flag. At the same time, it
teaches the unpack-trees machinery to pay attention to this flag, so
that oneway_merge throws away the current value.

However, it did not update the code paths for twoway_merge, which is
where we end up in the two-way read-tree with --reset. We notice that
the HEAD and ORIG_HEAD versions are the same, and say "oh, we can just
reuse the current version". But that's not true. The current version
is bogus.

Notice this case and make sure we do not keep the bogus entry; either
we do not have that path in the tree we are moving to (i.e. remove
it), or we want to have the cache entry we created for the tree we are
moving to (i.e. resolve by explicitly saying the "newtree" version is
what we want).

[jc: this is from the almost year-old $gmane/212316]

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

t4015: simplify sed command that is not even seen by sedJunio C Hamano Mon, 4 Nov 2013 18:11:15 +0000 (10:11 -0800)

t4015: simplify sed command that is not even seen by sed

Noticed by Andreas Schwab; \<LF> inside a double quotes pair is
eaten by the shell to become an empty string and is not doing
anything.

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

l10n: zh_CN.po: translate 68 messages (2194t0f0u)Jiang Xin Tue, 17 Sep 2013 15:37:05 +0000 (23:37 +0800)

l10n: zh_CN.po: translate 68 messages (2194t0f0u)

Translate 68 new messages came from git.pot update in 727b957
(l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)).

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

l10n: vi.po (2194t): Update and minor fixTran Ngoc Quan Sat, 2 Nov 2013 06:21:55 +0000 (13:21 +0700)

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

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

l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)Jiang Xin Sat, 2 Nov 2013 00:08:26 +0000 (08:08 +0800)

l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)

Generate po/git.pot from v1.8.5-rc0-23-gaa27064 for git v1.8.5
l10n round 1.

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

Documentation: "pack-file" is not literal in unpack... Vivien Didelot Fri, 1 Nov 2013 15:42:43 +0000 (11:42 -0400)

Documentation: "pack-file" is not literal in unpack-objects

Make it clear that "pack-file" is not to be spelled as is in the
unpack-objects usage.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.8.5Junio C Hamano Fri, 1 Nov 2013 15:14:52 +0000 (08:14 -0700)

Update draft release notes to 1.8.5

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

Merge branch 'sb/refs-code-cleanup'Junio C Hamano Fri, 1 Nov 2013 14:38:58 +0000 (07:38 -0700)

Merge branch 'sb/refs-code-cleanup'

* sb/refs-code-cleanup:
cache: remove unused function 'have_git_dir'
refs: remove unused function invalidate_ref_cache

Merge branch 'rs/web-browse-xdg-open'Junio C Hamano Fri, 1 Nov 2013 14:38:56 +0000 (07:38 -0700)

Merge branch 'rs/web-browse-xdg-open'

* rs/web-browse-xdg-open:
web--browse: Add support for xdg-open

Merge branch 'js/tests-windows-port-fix'Junio C Hamano Fri, 1 Nov 2013 14:38:54 +0000 (07:38 -0700)

Merge branch 'js/tests-windows-port-fix'

* js/tests-windows-port-fix:
tests: undo special treatment of CRLF for Windows
Windows: a test_cmp that is agnostic to random LF <> CRLF conversions
t5300-pack-object: do not compare binary data using test_cmp

Merge branch 'js/test-help-format-windows-port-fix'Junio C Hamano Fri, 1 Nov 2013 14:38:51 +0000 (07:38 -0700)

Merge branch 'js/test-help-format-windows-port-fix'

* js/test-help-format-windows-port-fix:
t3200: do not open a HTML manual page when DEFAULT_MAN_FORMAT is html