gitweb.git
Merge git://ozlabs.org/~paulus/gitkJunio C Hamano Mon, 9 Dec 2013 22:55:41 +0000 (14:55 -0800)

Merge git://ozlabs.org/~paulus/gitk

* git://ozlabs.org/~paulus/gitk:
gitk: Recognize -L option
gitk: Support showing the gathered inline diffs
gitk: Split out diff part in $commitinfo
gitk: Refactor per-line part of getblobdiffline and its support
gitk: Support -G option from the command line
gitk: Tag display improvements

Start 1.9 cycleJunio C Hamano Fri, 6 Dec 2013 19:20:04 +0000 (11:20 -0800)

Start 1.9 cycle

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

Merge branch 'jk/remove-experimental-loose-object-support'Junio C Hamano Fri, 6 Dec 2013 19:09:42 +0000 (11:09 -0800)

Merge branch 'jk/remove-experimental-loose-object-support'

* jk/remove-experimental-loose-object-support:
drop support for "experimental" loose objects

Merge branch 'nd/magic-pathspec'Junio C Hamano Fri, 6 Dec 2013 19:08:03 +0000 (11:08 -0800)

Merge branch 'nd/magic-pathspec'

"git diff -- ':(icase)makefile'" were rejected unnecessarily.
This needs to be merged to 'maint' later.

* nd/magic-pathspec:
diff: restrict pathspec limitations to diff b/f case only

Merge branch 'rr/for-each-ref-decoration'Junio C Hamano Fri, 6 Dec 2013 19:07:20 +0000 (11:07 -0800)

Merge branch 'rr/for-each-ref-decoration'

Add a few formatting directives to "git for-each-ref --format=...",
to paint them in color, etc.

* rr/for-each-ref-decoration:
for-each-ref: avoid color leakage
for-each-ref: introduce %(color:...) for color
for-each-ref: introduce %(upstream:track[short])
for-each-ref: introduce %(HEAD) asterisk marker
t6300 (for-each-ref): don't hardcode SHA-1 hexes
t6300 (for-each-ref): clearly demarcate setup

Merge branch 'jc/bundle'Junio C Hamano Fri, 6 Dec 2013 19:07:14 +0000 (11:07 -0800)

Merge branch 'jc/bundle'

Code clean-up.

* jc/bundle:
bundle: use argv-array

Merge branch 'rh/remote-hg-bzr-updates'Junio C Hamano Fri, 6 Dec 2013 19:06:52 +0000 (11:06 -0800)

Merge branch 'rh/remote-hg-bzr-updates'

Updates to remote-bzr and remote-hg in contrib.

* rh/remote-hg-bzr-updates:
remote-bzr, remote-hg: fix email address regular expression
test-hg.sh: help user correlate verbose output with email test
test-hg.sh: fix duplicate content strings in author tests
test-hg.sh: avoid obsolete 'test' syntax
test-hg.sh: eliminate 'local' bashism
test-bzr.sh, test-hg.sh: prepare for change to push.default=simple
test-bzr.sh, test-hg.sh: allow running from any dir
test-lib.sh: convert $TEST_DIRECTORY to an absolute path

Merge branch 'jn/perl-lib-extra'Junio C Hamano Fri, 6 Dec 2013 19:05:38 +0000 (11:05 -0800)

Merge branch 'jn/perl-lib-extra'

Allow customizing the paths to Perl modules with the new
PERLLIB_EXTRA makefile variable.

* jn/perl-lib-extra:
Makefile: add PERLLIB_EXTRA variable that adds to default perl path
Makefile: rebuild perl scripts when perl paths change

Merge branch 'gj/push-more-verbose-advice' (early part)Junio C Hamano Thu, 5 Dec 2013 22:03:32 +0000 (14:03 -0800)

Merge branch 'gj/push-more-verbose-advice' (early part)

* 'gj/push-more-verbose-advice' (early part):
push: enhance unspecified push default warning

Merge branch 'jn/mediawiki-makefile-updates'Junio C Hamano Thu, 5 Dec 2013 21:00:23 +0000 (13:00 -0800)

Merge branch 'jn/mediawiki-makefile-updates'

Build and installation procedure clean-up.

* jn/mediawiki-makefile-updates:
git-remote-mediawiki build: handle DESTDIR/INSTLIBDIR with whitespace
git-remote-mediawiki build: make 'install' command configurable
git-remote-mediawiki: honor DESTDIR in "make install"
git-remote-mediawiki: do not remove installed files in "clean" target

Merge branch 'jl/submodule-update-retire-orig-flags'Junio C Hamano Thu, 5 Dec 2013 21:00:20 +0000 (13:00 -0800)

Merge branch 'jl/submodule-update-retire-orig-flags'

Code clean-up.

* jl/submodule-update-retire-orig-flags:
submodule update: remove unnecessary orig_flags variable

Merge branch 'nd/wt-status-align-i18n'Junio C Hamano Thu, 5 Dec 2013 21:00:16 +0000 (13:00 -0800)

Merge branch 'nd/wt-status-align-i18n'

An attempt to automatically align the names in the "git status"
output, taking the display width of (translated) section labels
into account.

* nd/wt-status-align-i18n:
wt-status: take the alignment burden off translators

Merge branch 'sb/sha1-loose-object-info-check-existence'Junio C Hamano Thu, 5 Dec 2013 21:00:11 +0000 (13:00 -0800)

Merge branch 'sb/sha1-loose-object-info-check-existence'

"git cat-file --batch-check=ok" did not check the existence of the
named object.

* sb/sha1-loose-object-info-check-existence:
sha1_loose_object_info(): do not return success on missing object

Merge branch 'jk/two-way-merge-corner-case-fix'Junio C Hamano Thu, 5 Dec 2013 20:59:25 +0000 (12:59 -0800)

Merge branch 'jk/two-way-merge-corner-case-fix'

Fix a rather longstanding corner-case bug in twoway "reset to
there" merge, which is most often seen in "git am --abort".

* jk/two-way-merge-corner-case-fix:
t1005: add test for "read-tree --reset -u A B"
t1005: reindent
unpack-trees: fix "read-tree -u --reset A B" with conflicted index

Merge branch 'jc/ref-excludes'Junio C Hamano Thu, 5 Dec 2013 20:59:09 +0000 (12:59 -0800)

Merge branch 'jc/ref-excludes'

People often wished a way to tell "git log --branches" (and "git
log --remotes --not --branches") to exclude some local branches
from the expansion of "--branches" (similarly for "--tags", "--all"
and "--glob=<pattern>"). Now they have one.

* jc/ref-excludes:
rev-parse: introduce --exclude=<glob> to tame wildcards
rev-list --exclude: export add/clear-ref-exclusion and ref-excluded API
rev-list --exclude: tests
document --exclude option
revision: introduce --exclude=<glob> to tame wildcards

Merge branch 'nv/parseopt-opt-arg'Junio C Hamano Thu, 5 Dec 2013 20:59:03 +0000 (12:59 -0800)

Merge branch 'nv/parseopt-opt-arg'

Enhance "rev-parse --parseopt" mode to help parsing options with
an optional parameter.

* nv/parseopt-opt-arg:
rev-parse --parseopt: add the --stuck-long mode
Use the word 'stuck' instead of 'sticked'

Merge branch 'bc/http-100-continue'Junio C Hamano Thu, 5 Dec 2013 20:58:58 +0000 (12:58 -0800)

Merge branch 'bc/http-100-continue'

Issue "100 Continue" responses to help use of GSS-Negotiate
authentication scheme over HTTP transport when needed.

* bc/http-100-continue:
remote-curl: fix large pushes with GSSAPI
remote-curl: pass curl slot_results back through run_slot
http: return curl's AUTHAVAIL via slot_results

Merge branch 'jc/merge-base-reflog'Junio C Hamano Thu, 5 Dec 2013 20:58:27 +0000 (12:58 -0800)

Merge branch 'jc/merge-base-reflog'

Code the logic in "pull --rebase" that figures out a fork point
from reflog entries in C.

* jc/merge-base-reflog:
merge-base: teach "--fork-point" mode
merge-base: use OPT_CMDMODE and clarify the command line parsing

Merge branch 'jk/replace-perl-in-built-scripts'Junio C Hamano Thu, 5 Dec 2013 20:58:21 +0000 (12:58 -0800)

Merge branch 'jk/replace-perl-in-built-scripts'

* jk/replace-perl-in-built-scripts:
use @@PERL@@ in built scripts

Merge branch 'jh/loose-object-dirs-creation-race'Junio C Hamano Thu, 5 Dec 2013 20:54:14 +0000 (12:54 -0800)

Merge branch 'jh/loose-object-dirs-creation-race'

When two processes created one loose object file each, which fell
into the same fan-out bucket that previously did not have any
objects, they both tried to do an equivalent of

mkdir .git/objects/$fanout &&
chmod $shared_perm .git/objects/$fanout

before writing into their file .git/objects/$fanout/$remainder,
one of which could have failed unnecessarily when the second
invocation of mkdir found that the directory already has been
created by the first one.

* jh/loose-object-dirs-creation-race:
sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs

Merge branch 'jk/robustify-parse-commit'Junio C Hamano Thu, 5 Dec 2013 20:54:01 +0000 (12:54 -0800)

Merge branch 'jk/robustify-parse-commit'

* jk/robustify-parse-commit:
checkout: do not die when leaving broken detached HEAD
use parse_commit_or_die instead of custom message
use parse_commit_or_die instead of segfaulting
assume parse_commit checks for NULL commit
assume parse_commit checks commit->object.parsed
log_tree_diff: die when we fail to parse a commit

Merge branch 'ak/submodule-foreach-quoting'Junio C Hamano Thu, 5 Dec 2013 20:53:17 +0000 (12:53 -0800)

Merge branch 'ak/submodule-foreach-quoting'

A behavior change, but a worthwhile one: "git submodule foreach"
was treating its arguments as part of a single command to be
concatenated and passed to a shell, making writing buggy
scripts too easy.

This patch preserves the old "just pass it to the shell" behavior
when a single argument is passed to 'git submodule foreach' and
moves to a new "skip the shell and use the arguments passed
unmolested" behavior when more than one argument is passed.

The old behavior (always concatenating and passing to the shell)
was similar to the 'ssh' command, while the new behavior (switching
on the number of arguments) is what 'xterm -e' does.

May need more thought to make sure this change is advertised well
so that scripts that used multiple arguments but added their own
extra layer of quoting are not broken.

* ak/submodule-foreach-quoting:
submodule foreach: skip eval for more than one argument

Sync with 1.8.5.1Junio C Hamano Tue, 3 Dec 2013 19:42:03 +0000 (11:42 -0800)

Sync with 1.8.5.1

* maint:
Git 1.8.5.1
ref-iteration doc: add_submodule_odb() returns 0 for success

Merge branch 'nd/glossary-content-pathspec-markup'Junio C Hamano Tue, 3 Dec 2013 19:41:52 +0000 (11:41 -0800)

Merge branch 'nd/glossary-content-pathspec-markup'

* nd/glossary-content-pathspec-markup:
glossary-content.txt: fix documentation of "**" patterns

Merge branch 'jj/doc-markup-gitcli'Junio C Hamano Tue, 3 Dec 2013 19:41:46 +0000 (11:41 -0800)

Merge branch 'jj/doc-markup-gitcli'

* jj/doc-markup-gitcli:
Documentation/gitcli.txt: fix double quotes

Merge branch 'jj/doc-markup-hints-in-coding-guidelines'Junio C Hamano Tue, 3 Dec 2013 19:41:43 +0000 (11:41 -0800)

Merge branch 'jj/doc-markup-hints-in-coding-guidelines'

* jj/doc-markup-hints-in-coding-guidelines:
State correct usage of literal examples in man pages in the coding standards

Merge branch 'jj/log-doc'Junio C Hamano Tue, 3 Dec 2013 19:41:40 +0000 (11:41 -0800)

Merge branch 'jj/log-doc'

Mark-up fixes.

* jj/log-doc:
Documentation/git-log.txt: mark-up fix and minor rephasing
Documentation/git-log: update "--log-size" description

Merge branch 'jj/rev-list-options-doc'Junio C Hamano Tue, 3 Dec 2013 19:41:37 +0000 (11:41 -0800)

Merge branch 'jj/rev-list-options-doc'

Mark-up and grammo fixes.

* jj/rev-list-options-doc:
Documentation/rev-list-options.txt: fix some grammatical issues and typos
Documentation/rev-list-options.txt: fix mark-up

Merge branch 'mi/typofixes'Junio C Hamano Tue, 3 Dec 2013 19:41:33 +0000 (11:41 -0800)

Merge branch 'mi/typofixes'

* mi/typofixes:
contrib: typofixes
Documentation/technical/http-protocol.txt: typofixes
typofixes: fix misspelt comments

Merge branch 'tb/doc-fetch-pack-url'Junio C Hamano Tue, 3 Dec 2013 19:41:31 +0000 (11:41 -0800)

Merge branch 'tb/doc-fetch-pack-url'

* tb/doc-fetch-pack-url:
git-fetch-pack uses URLs like git-fetch

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>

gitk: Recognize -L optionThomas Rast Sat, 16 Nov 2013 17:37:44 +0000 (18:37 +0100)

gitk: Recognize -L option

This gives line-log support to gitk, by exploiting the new support for
processing and showing "inline" diffs straight from the git-log
output.

Note that we 'set allknown 0', which is a bit counterintuitive since
this is a "known" option. But that flag prevents gitk from thinking
it can optimize the view by running rev-list to see the topology; in
the -L case that doesn't work.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Support showing the gathered inline diffsThomas Rast Sat, 16 Nov 2013 17:37:43 +0000 (18:37 +0100)

gitk: Support showing the gathered inline diffs

The previous commit split the diffs into a separate field. Now we
actually want to show them.

To that end we use the stored diff, and

- process it once to build a fake "tree diff", i.e., a list of all
changed files;

- feed it through parseblobdiffline to actually format it into the
$ctext field, like the existing diff machinery would.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Split out diff part in $commitinfoThomas Rast Sat, 16 Nov 2013 17:37:42 +0000 (18:37 +0100)

gitk: Split out diff part in $commitinfo

So far we just parsed everything after the headers into the "comment"
bit of $commitinfo, including notes and -- if you gave weird options
-- the diff.

Split out the diff, if any, into a separate field. It's easy to
recognize, since it always starts with /^diff/ and is preceded by an
empty line.

We take care to snip away said empty line. The display code already
properly spaces the end of the message from the first diff, and
leaving another empty line at the end looks ugly.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Refactor per-line part of getblobdiffline and... Thomas Rast Sat, 16 Nov 2013 17:37:41 +0000 (18:37 +0100)

gitk: Refactor per-line part of getblobdiffline and its support

For later use with data sources other than a pipe, refactor the big
worker part of getblobdiffline to a separate function
parseblobdiffline. Also refactor its initialization and wrap-up to
separate routines.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Support -G option from the command lineThomas Rast Sat, 16 Nov 2013 17:37:40 +0000 (18:37 +0100)

gitk: Support -G option from the command line

The -G option's usage is exactly analogous to that of -S, so
supporting it is easy.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>

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>

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

drop support for "experimental" loose objectsJeff King Thu, 21 Nov 2013 11:48:37 +0000 (06:48 -0500)

drop support for "experimental" loose objects

In git v1.4.3, we introduced a new loose object format that
encoded some object information outside of the zlib stream.
Ultimately the format was dropped in v1.5.3, but we kept the
reading side around to help people migrate objects. Each
time we open a loose object, we use a heuristic to check
whether it is in the normal loose format, or the
experimental one.

This heuristic is robust in the face of valid data, but it
tends to treat corrupted or garbage data as an experimental
object. With the regular format, we would notice quickly
that zlib's crc does not check out and complain. With the
experimental object, we are likely to extract a nonsensical
object size and try to allocate a huge buffer, resulting in
xmalloc calling "die".

This latter behavior is much worse, for two reasons. One,
git reports an allocation error when the real error is
corruption. And two, the program dies unconditionally, so
you cannot even run fsck (which would otherwise ignore the
broken object and keep going).

We could try to improve the heuristic to err on the side of
normal objects in the face of corruption, but there is
really little point. The experimental format is long-dead,
and was never enabled by default to begin with. We can
instead simply remove it. The only affected repository would
be one that explicitly set core.legacyheaders in 2007, and
then never repacked in the intervening 6 years.

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

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

for-each-ref: avoid color leakageRamkumar Ramachandra Mon, 18 Nov 2013 17:39:13 +0000 (23:09 +0530)

for-each-ref: avoid color leakage

To make sure that an invocation like the following doesn't leak color,

$ git for-each-ref --format='%(subject)%(color:green)'

auto-reset at the end of the format string when the last color token
seen in the format string isn't a color-reset.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

for-each-ref: introduce %(color:...) for colorRamkumar Ramachandra Mon, 18 Nov 2013 17:39:12 +0000 (23:09 +0530)

for-each-ref: introduce %(color:...) for color

Enhance 'git for-each-ref' with color formatting options. You can now
use the following format in for-each-ref:

%(color:green)%(refname:short)%(color:reset)

where color names are described in color.branch.*.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

for-each-ref: introduce %(upstream:track[short])Ramkumar Ramachandra Mon, 18 Nov 2013 17:39:11 +0000 (23:09 +0530)

for-each-ref: introduce %(upstream:track[short])

Introduce %(upstream:track) to display "[ahead M, behind N]" and
%(upstream:trackshort) to display "=", ">", "<", or "<>"
appropriately (inspired by contrib/completion/git-prompt.sh).

Now you can use the following format in for-each-ref:

%(refname:short)%(upstream:trackshort)

to display refs with terse tracking information.

Note that :track and :trackshort only work with "upstream", and error
out when used with anything else.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

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

Makefile: add PERLLIB_EXTRA variable that adds to defau... Jonathan Nieder Fri, 15 Nov 2013 21:10:28 +0000 (13:10 -0800)

Makefile: add PERLLIB_EXTRA variable that adds to default perl path

Some platforms ship Perl modules used by git scripts outside the
default perl path (e.g., on Mac OS X, Subversion's perl bindings live
in a separate xcode perl path). Add an PERLLIB_EXTRA variable to hold
a colon-separated list of extra directories to add to the perl path in
git's scripts, as a convenience for packagers.

Requested-by: Dave Borowitz <dborowitz@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: rebuild perl scripts when perl paths changeJonathan Nieder Mon, 18 Nov 2013 22:23:11 +0000 (14:23 -0800)

Makefile: rebuild perl scripts when perl paths change

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

for-each-ref: introduce %(HEAD) asterisk markerRamkumar Ramachandra Mon, 18 Nov 2013 17:39:10 +0000 (23:09 +0530)

for-each-ref: introduce %(HEAD) asterisk marker

'git branch' shows which branch you are currently on with an '*', but
'git for-each-ref' misses this feature. So, extend its format with
%(HEAD) for the same effect.

Now you can use the following format in for-each-ref:

%(HEAD) %(refname:short)

to display an asterisk next to the current ref.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t6300 (for-each-ref): don't hardcode SHA-1 hexesRamkumar Ramachandra Mon, 18 Nov 2013 17:39:09 +0000 (23:09 +0530)

t6300 (for-each-ref): don't hardcode SHA-1 hexes

Use rev-parse in its place, making it easier for future patches to
modify the test script.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t6300 (for-each-ref): clearly demarcate setupRamkumar Ramachandra Mon, 18 Nov 2013 17:39:08 +0000 (23:09 +0530)

t6300 (for-each-ref): clearly demarcate setup

Condense the two-step setup into one step, and give it an appropriate
name.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote-bzr, remote-hg: fix email address regular expressionRichard Hansen Mon, 18 Nov 2013 04:12:50 +0000 (23:12 -0500)

remote-bzr, remote-hg: fix email address regular expression

Before, strings like "foo.bar@example.com" would be converted to
"foo. <bar@example.com>" when they should be "unknown
<foo.bar@example.com>".

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>

test-hg.sh: help user correlate verbose output with... Richard Hansen Mon, 18 Nov 2013 04:12:49 +0000 (23:12 -0500)

test-hg.sh: help user correlate verbose output with email test

It's hard to tell which author conversion test failed when the email
addresses look similar.

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>

test-hg.sh: fix duplicate content strings in author... Richard Hansen Mon, 18 Nov 2013 04:12:48 +0000 (23:12 -0500)

test-hg.sh: fix duplicate content strings in author tests

"beta" was used twice. Change the second copy to "gamma" and
increment the remaining content strings.

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>

test-hg.sh: avoid obsolete 'test' syntaxRichard Hansen Mon, 18 Nov 2013 04:12:47 +0000 (23:12 -0500)

test-hg.sh: avoid obsolete 'test' syntax

The POSIX spec says that the '-a', '-o', and parentheses operands to
the 'test' utility are obsolete extensions due to the potential for
ambiguity. Replace '-o' with '|| test' to avoid unspecified behavior.

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>

test-hg.sh: eliminate 'local' bashismRichard Hansen Mon, 18 Nov 2013 04:12:46 +0000 (23:12 -0500)

test-hg.sh: eliminate 'local' bashism

Unlike bash, POSIX shell does not specify a 'local' command for
declaring function-local variable scope. Except for IFS, the variable
names are not used anywhere else in the script so simply remove the
'local'. For IFS, move the assignment to the 'read' command to
prevent it from affecting code outside the function.

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>

test-bzr.sh, test-hg.sh: prepare for change to push... Richard Hansen Mon, 18 Nov 2013 04:12:45 +0000 (23:12 -0500)

test-bzr.sh, test-hg.sh: prepare for change to push.default=simple

Change 'git push <remote>' to 'git push <remote> <branch>' in one of
the test-bzr.sh tests to ensure that the test continues to pass when
the default value of push.default changes to simple.

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>

test-bzr.sh, test-hg.sh: allow running from any dirFelipe Contreras Mon, 18 Nov 2013 04:12:44 +0000 (23:12 -0500)

test-bzr.sh, test-hg.sh: allow running from any dir

Set TEST_DIRECTORY to the t/ directory (if TEST_DIRECTORY is not
already set) so that the user doesn't already have to be in the test
directory to run these test scripts.

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

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>

test-lib.sh: convert $TEST_DIRECTORY to an absolute... Felipe Contreras Mon, 18 Nov 2013 04:12:43 +0000 (23:12 -0500)

test-lib.sh: convert $TEST_DIRECTORY to an absolute path

If $TEST_DIRECTORY is specified in the environment, convert the value
to an absolute path to ensure that it remains valid even when 'cd' is
used.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Reviewed-by: Richard Hansen <rhansen@bbn.com>
Signed-off-by: Richard Hansen <rhansen@bbn.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.

push: enhance unspecified push default warningGreg Jacobson Fri, 4 Oct 2013 14:20:07 +0000 (10:20 -0400)

push: enhance unspecified push default warning

When the unset push.default warning message is displayed this may be
the first time many users encounter push.default.

Explain in the warning message in a compact manner what push.default
is and what the change means to the end-user to help the users decide.

Signed-off-by: Greg Jacobson <coder5000@gmail.com>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Helped-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Helped-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

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>

bundle: use argv-arrayJunio C Hamano Tue, 12 Nov 2013 21:32:11 +0000 (13:32 -0800)

bundle: use argv-array

Instead of hand-crafted arrays to manage command line arguments
we create internally, use argv-array helpers.

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-remote-mediawiki build: handle DESTDIR/INSTLIBDIR... Jonathan Nieder Mon, 11 Nov 2013 20:46:12 +0000 (12:46 -0800)

git-remote-mediawiki build: handle DESTDIR/INSTLIBDIR with whitespace

Quote DESTDIR and INSTLIBDIR for the shell in the same way as is done in
the toplevel Makefile to avoid confusion in case they contain shell
metacharacters.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-remote-mediawiki build: make 'install' command... Jonathan Nieder Mon, 11 Nov 2013 20:45:50 +0000 (12:45 -0800)

git-remote-mediawiki build: make 'install' command configurable

On some machines, the most usable 'install' tool is named
'ginstall'.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-remote-mediawiki: honor DESTDIR in "make install"Jonathan Nieder Mon, 11 Nov 2013 20:45:29 +0000 (12:45 -0800)

git-remote-mediawiki: honor DESTDIR in "make install"

So now you can run

DESTDIR=$(pwd)/tmp make -Ccontrib/mw-to-git install

to install the mediawiki remote helper, git-mw tool, and Git::Mediawiki
perl module under tmp/ as preparation for zipping it up and extracting
on another machine.

While at it, make sure the directory that should contain Git::Mediawiki
exists before putting a file there. Without this patch, the makefile
uses DESTDIR when installing git-mw and git-remote-mediawiki but not
the perl module, resulting in errors from "make install" if the
$(INSTLIBDIR)/Git directory does not exist:

install: cannot create regular file \
'/usr/share/perl/5.18.1/Git/Mediawiki.pm': No such file or directory

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

submodule update: remove unnecessary orig_flags variableJens Lehmann Mon, 11 Nov 2013 20:55:52 +0000 (21:55 +0100)

submodule update: remove unnecessary orig_flags variable

cmd_update() in the submodule script tries to preserve the options given
on the command line in the "orig_flags" variable to pass them on into the
recursion when the '--recursive' option is given. But this isn't necessary
because all the variables set by the options will be seen in the recursion
too as that is achieved by executing "eval cmd_update".

The same has already been done for cmd_status() in e15bec0ec, so let's
clean up cmd_update() likewise. Also add a test to make sure that a
submodule name given on the command line is not passed into the recursion
(which was the goal of adding the orig_flags variable in 98dbe63db).

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

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>

git-remote-mediawiki: do not remove installed files... Jonathan Nieder Sat, 9 Nov 2013 02:22:39 +0000 (18:22 -0800)

git-remote-mediawiki: do not remove installed files in "clean" target

Running "make clean" after a successful "make install" should not
result in a broken mediawiki remote helper.

Reported-by: Thorsten Glaser <t.glaser@tarent.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr>
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>