gitweb.git
Merge branch 'nd/status-show-in-progress'Junio C Hamano Thu, 14 Feb 2013 18:29:54 +0000 (10:29 -0800)

Merge branch 'nd/status-show-in-progress'

* nd/status-show-in-progress:
status: show the branch name if possible in in-progress info

Merge branch 'mm/remote-mediawiki-build'Junio C Hamano Thu, 14 Feb 2013 18:29:49 +0000 (10:29 -0800)

Merge branch 'mm/remote-mediawiki-build'

* mm/remote-mediawiki-build:
git-remote-mediawiki: use toplevel's Makefile
Makefile: make script-related rules usable from subdirectories

Merge branch 'bw/get-tz-offset-perl'Junio C Hamano Thu, 14 Feb 2013 18:29:44 +0000 (10:29 -0800)

Merge branch 'bw/get-tz-offset-perl'

* bw/get-tz-offset-perl:
cvsimport: format commit timestamp ourselves without using strftime
perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases
Move Git::SVN::get_tz to Git::get_tz_offset

Merge branch 'al/mergetool-printf-fix'Junio C Hamano Thu, 14 Feb 2013 18:29:37 +0000 (10:29 -0800)

Merge branch 'al/mergetool-printf-fix'

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

Merge branch 'jk/error-const-return'Junio C Hamano Thu, 14 Feb 2013 18:29:23 +0000 (10:29 -0800)

Merge branch 'jk/error-const-return'

* jk/error-const-return:
Use __VA_ARGS__ for all of error's arguments

Merge branch 'jx/utf8-printf-width'Junio C Hamano Thu, 14 Feb 2013 18:29:08 +0000 (10:29 -0800)

Merge branch 'jx/utf8-printf-width'

Use a new helper that prints a message and counts its display width
to align the help messages parse-options produces.

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

Merge branch 'mg/bisect-doc'Junio C Hamano Thu, 14 Feb 2013 18:29:01 +0000 (10:29 -0800)

Merge branch 'mg/bisect-doc'

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

Merge branch 'tz/perl-styles'Junio C Hamano Thu, 14 Feb 2013 18:28:55 +0000 (10:28 -0800)

Merge branch 'tz/perl-styles'

Add coding guidelines for writing Perl scripts for Git.

* tz/perl-styles:
Update CodingGuidelines for Perl

Merge branch 'jc/extended-fake-ancestor-for-gitlink'Junio C Hamano Thu, 14 Feb 2013 18:28:48 +0000 (10:28 -0800)

Merge branch 'jc/extended-fake-ancestor-for-gitlink'

Instead of requiring the full 40-hex object names on the index
line, we can read submodule commit object names from the textual
diff when synthesizing a fake ancestore tree for "git am -3".

* jc/extended-fake-ancestor-for-gitlink:
apply: verify submodule commit object name better

Merge branch 'dg/subtree-fixes'Junio C Hamano Thu, 14 Feb 2013 18:28:26 +0000 (10:28 -0800)

Merge branch 'dg/subtree-fixes'

contrib/subtree updates, but here are only the ones that looked
ready. The remainder of the patches will have another day.

* dg/subtree-fixes:
contrib/subtree: make the manual directory if needed
contrib/subtree: honor DESTDIR
contrib/subtree: fix synopsis
contrib/subtree: better error handling for 'subtree add'
contrib/subtree: use %B for split subject/body
contrib/subtree: remove test number comments

Merge branch 'maint'Junio C Hamano Tue, 12 Feb 2013 20:23:12 +0000 (12:23 -0800)

Merge branch 'maint'

* maint:
Replace filepattern with pathspec for consistency

Replace filepattern with pathspec for consistencyMatthieu Moy Tue, 12 Feb 2013 09:24:44 +0000 (10:24 +0100)

Replace filepattern with pathspec for consistency

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

This patch is obtained with by running:

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

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add utf8_fprintf helper that returns correct number... Jiang Xin Sat, 9 Feb 2013 06:31:09 +0000 (14:31 +0800)

Add utf8_fprintf helper that returns correct number of columns

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

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

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Reviewed-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-bisect.txt: clarify that reset quits bisectMichael J Gruber Mon, 11 Feb 2013 08:35:04 +0000 (09:35 +0100)

git-bisect.txt: clarify that reset quits bisect

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

Reported-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.8.2Junio C Hamano Mon, 11 Feb 2013 04:47:28 +0000 (20:47 -0800)

Update draft release notes to 1.8.2

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

Merge branch 'maint'Junio C Hamano Mon, 11 Feb 2013 04:40:44 +0000 (20:40 -0800)

Merge branch 'maint'

* maint:
user-manual: Rewrite git-gc section for automatic packing
user-manual: Fix 'you - Git' -> 'you--Git' typo
user-manual: Fix 'http' -> 'HTTP' typos
user-manual: Fix 'both: so' -> 'both; so' typo

user-manual: Rewrite git-gc section for automatic packingW. Trevor King Sun, 10 Feb 2013 15:10:27 +0000 (10:10 -0500)

user-manual: Rewrite git-gc section for automatic packing

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

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

user-manual: Fix 'you - Git' -> 'you--Git' typoW. Trevor King Sun, 10 Feb 2013 15:10:39 +0000 (10:10 -0500)

user-manual: Fix 'you - Git' -> 'you--Git' typo

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

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

user-manual: Fix 'http' -> 'HTTP' typosW. Trevor King Sun, 10 Feb 2013 15:10:37 +0000 (10:10 -0500)

user-manual: Fix 'http' -> 'HTTP' typos

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

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'sp/smart-http-content-type-check'Junio C Hamano Mon, 11 Feb 2013 04:35:23 +0000 (20:35 -0800)

Merge branch 'sp/smart-http-content-type-check'

The smart HTTP clients forgot to verify the content-type that comes
back from the server side to make sure that the request is being
handled properly.

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

user-manual: Fix 'both: so' -> 'both; so' typoW. Trevor King Sun, 10 Feb 2013 15:10:36 +0000 (10:10 -0500)

user-manual: Fix 'both: so' -> 'both; so' typo

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

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

difftool--helper: fix printf usageDavid Aguilar Sun, 10 Feb 2013 01:21:25 +0000 (17:21 -0800)

difftool--helper: fix printf usage

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

Reported-by: Asheesh Laroia <asheesh@asheesh.org>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

cvsimport: format commit timestamp ourselves without... Ben Walton Sat, 9 Feb 2013 21:46:58 +0000 (21:46 +0000)

cvsimport: format commit timestamp ourselves without using strftime

Some implementations of strftime(3) lack support for "%z". Also
there is no need for %s in git-cvsimport as the supplied time is
already in seconds since the epoch.

For %z, use the function get_tz_offset provided by Git.pm instead.

Signed-off-by: Ben Walton <bdwalton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

perl/Git.pm: fix get_tz_offset to properly handle DST... Ben Walton Sat, 9 Feb 2013 21:46:57 +0000 (21:46 +0000)

perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases

When passed a local time that was on the boundary of a DST change,
get_tz_offset returned a GMT offset that was incorrect (off by one
hour). This is because the time was converted to GMT and then back to
a time stamp via timelocal() which cannot disambiguate boundary cases
as noted in its documentation.

Modify this algorithm, using an approach suggested in

http://article.gmane.org/gmane.comp.version-control.git/213871

to first convert the timestamp in question to two broken down forms
with localtime() and gmtime(), and then compute what timestamps
these two broken down forms would represent in GMT (i.e. a timezone
that does not have DST issues) by applying timegm() on them. The
difference between the resulting timestamps is the timezone offset.

This avoids the ambigious conversion and allows a correct time to be
returned on every occassion.

Signed-off-by: Ben Walton <bdwalton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Move Git::SVN::get_tz to Git::get_tz_offsetBen Walton Sat, 9 Feb 2013 21:46:56 +0000 (21:46 +0000)

Move Git::SVN::get_tz to Git::get_tz_offset

This function has utility outside of the SVN module for any routine
that needs the equivalent of GNU strftime's %z formatting option.
Move it to the top-level Git.pm so that non-SVN modules don't need to
import the SVN module to use it.

The rename makes the purpose of the function clearer.

Signed-off-by: Ben Walton <bdwalton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'master' of git://github.com/git-l10n... Junio C Hamano Sat, 9 Feb 2013 21:43:39 +0000 (13:43 -0800)

Merge branch 'master' of git://github.com/git-l10n/git-po

* 'master' of git://github.com/git-l10n/git-po:
l10n: de.po: translate "reset" as "neu setzen"
l10n: de.po: translate "revision" consistently as "Revision"
l10n: de.po: translate 11 new messages
l10n: zh_CN.po: 800+ new translations on command usages
l10n: Update Swedish translation (1983t0f0u)
l10n: vi.po: updated Vietnamese translation
l10n: Update git.pot (11 new, 7 removed messages)
l10n: de.po: fix some minor issues

Merge branch 'jc/combine-diff-many-parents'Junio C Hamano Fri, 8 Feb 2013 23:29:07 +0000 (15:29 -0800)

Merge branch 'jc/combine-diff-many-parents'

We used to have an arbitrary 32 limit for combined diff input,
resulting in incorrect number of leading colons shown when showing
the "--raw --cc" output.

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

Merge branch 'jk/apply-similaritly-parsing'Junio C Hamano Fri, 8 Feb 2013 23:29:02 +0000 (15:29 -0800)

Merge branch 'jk/apply-similaritly-parsing'

Make sure the similarity value shown in the "apply --summary"
output is sensible, even when the input had a bogus value.

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

Merge branch 'mk/tcsh-complete-only-known-paths'Junio C Hamano Fri, 8 Feb 2013 23:28:51 +0000 (15:28 -0800)

Merge branch 'mk/tcsh-complete-only-known-paths'

The "complete with known paths only" update to completion scripts
returns directory names without trailing slash to compensate the
addition of '/' done by bash that reads from our completion result.
tcsh completion code that reads from our internal completion result
does not add '/', so let it ask our complletion code to keep the '/'
at the end.

* mk/tcsh-complete-only-known-paths:
completion: handle path completion and colon for tcsh script

Merge branch 'mp/complete-paths'Junio C Hamano Fri, 8 Feb 2013 23:28:42 +0000 (15:28 -0800)

Merge branch 'mp/complete-paths'

The completion script used to let the default completer to suggest
pathnames, which gave too many irrelevant choices (e.g. "git add"
would not want to add an unmodified path). Teach it to use a more
git-aware logic to enumerate only relevant ones.

* mp/complete-paths:
git-completion.bash: add support for path completion

Merge branch 'ct/autoconf-htmldir'Junio C Hamano Fri, 8 Feb 2013 23:28:37 +0000 (15:28 -0800)

Merge branch 'ct/autoconf-htmldir'

The autoconf subsystem passed --mandir down to generated
config.mak.autogen but forgot to do the same for --htmldir.

* ct/autoconf-htmldir:
Honor configure's htmldir switch

git-mergetool: print filename when it contains %Asheesh Laroia Fri, 8 Feb 2013 01:16:24 +0000 (17:16 -0800)

git-mergetool: print filename when it contains %

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

printf: %2F: invalid directive

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

Signed-off-by: Asheesh Laroia <asheesh@asheesh.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: de.po: translate "reset" as "neu setzen"Ralf Thielow Mon, 28 Jan 2013 18:24:42 +0000 (19:24 +0100)

l10n: de.po: translate "reset" as "neu setzen"

According to the glossary, "reset" should be
translated as "neu setzen" but in a couple of
messages we've translated it as "zurücksetzen".
This fixes that.

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

l10n: de.po: translate "revision" consistently as ... Ralf Thielow Mon, 28 Jan 2013 17:24:14 +0000 (18:24 +0100)

l10n: de.po: translate "revision" consistently as "Revision"

In the current German translation, the word "revision" was
translated as both "Version" (translation of "commit") and
"Revision". Since a revision in Git is not necessarily a
commit, we should not translate it with the same word in
order to give the user an idea that it's not necessarily
the same. After this commit, "revision" is consistently
translated as "Revision".

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

l10n: de.po: translate 11 new messagesRalf Thielow Sun, 27 Jan 2013 12:43:46 +0000 (13:43 +0100)

l10n: de.po: translate 11 new messages

Translate 11 new messages came from git.pot update
in 46bc403 (l10n: Update git.pot (11 new, 7 removed
messages)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>

git-remote-mediawiki: use toplevel's MakefileMatthieu Moy Fri, 8 Feb 2013 17:31:17 +0000 (18:31 +0100)

git-remote-mediawiki: use toplevel's Makefile

This makes the Makefile simpler, while providing more features, and more
consistency (the exact same rules with the exact same configuration as
Git official commands are applied with the new version).

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: make script-related rules usable from subdire... Matthieu Moy Fri, 8 Feb 2013 17:31:16 +0000 (18:31 +0100)

Makefile: make script-related rules usable from subdirectories

Git's Makefile provides a few nice features for script build and
installation (substitute the first line with the right path, hardcode the
path to Git library, ...).

The Makefile already knows how to process files outside the toplevel
directory with e.g.

make SCRIPT_PERL=path/to/file.perl path/to/file

but we can make it simpler for callers by exposing build, install and
clean rules as .PHONY targets.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: zh_CN.po: 800+ new translations on command usagesWang Sheng Wed, 30 Jan 2013 09:23:08 +0000 (17:23 +0800)

l10n: zh_CN.po: 800+ new translations on command usages

Most of the 800+ new translations are contributed by Wang Sheng.
So he is a zh_CN l10n maintainer for Git now.

Also fixed translations for some terms, such as blob, dangling.

Signed-off-by: Wang Sheng <wangsheng2008love@163.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

Use __VA_ARGS__ for all of error's argumentsMatt Kraai Fri, 8 Feb 2013 15:09:28 +0000 (07:09 -0800)

Use __VA_ARGS__ for all of error's arguments

QNX 6.3.2 uses GCC 2.95.3 by default, and GCC 2.95.3 doesn't remove the
comma if the error macro's variable argument is left out.

Instead of testing for a sufficiently recent version of GCC, make
__VA_ARGS__ match all of the arguments.

Signed-off-by: Matt Kraai <matt.kraai@amo.abbott.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.8.2Junio C Hamano Thu, 7 Feb 2013 23:25:06 +0000 (15:25 -0800)

Update draft release notes to 1.8.2

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

Sync with 1.8.1.3Junio C Hamano Thu, 7 Feb 2013 23:21:49 +0000 (15:21 -0800)

Sync with 1.8.1.3

Git 1.8.1.3 v1.8.1.3Junio C Hamano Thu, 7 Feb 2013 23:21:10 +0000 (15:21 -0800)

Git 1.8.1.3

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

Merge branch 'mz/pick-unborn' into maintJunio C Hamano Thu, 7 Feb 2013 23:16:04 +0000 (15:16 -0800)

Merge branch 'mz/pick-unborn' into maint

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

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

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

Merge branch 'nd/fix-perf-parameters-in-tests' into maint

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

Merge branch 'jc/do-not-let-random-file-interfere-with... Junio C Hamano Thu, 7 Feb 2013 23:15:23 +0000 (15:15 -0800)

Merge branch 'jc/do-not-let-random-file-interfere-with-completion-tests' into maint

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

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

Merge branch 'ft/transport-report-segv' into maintJunio C Hamano Thu, 7 Feb 2013 23:15:08 +0000 (15:15 -0800)

Merge branch 'ft/transport-report-segv' into maint

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

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

Merge branch 'sb/gpg-plug-fd-leak' into maintJunio C Hamano Thu, 7 Feb 2013 23:14:54 +0000 (15:14 -0800)

Merge branch 'sb/gpg-plug-fd-leak' into maint

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

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

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

Merge branch 'jc/fake-ancestor-with-non-blobs' into maint

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

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

Merge branch 'jn/auto-depend-workaround-buggy-ccache... Junio C Hamano Thu, 7 Feb 2013 23:13:34 +0000 (15:13 -0800)

Merge branch 'jn/auto-depend-workaround-buggy-ccache' into maint

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

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

Merge branch 'da/mergetool-docs'Junio C Hamano Thu, 7 Feb 2013 22:42:08 +0000 (14:42 -0800)

Merge branch 'da/mergetool-docs'

Build on top of the clean-up done by jk/mergetool and automatically
generate the list of mergetool and difftool backends the build
supports to be included in the documentation.

* da/mergetool-docs:
doc: generate a list of valid merge tools
mergetool--lib: list user configured tools in '--tool-help'
mergetool--lib: add functions for finding available tools
mergetool--lib: improve the help text in guess_merge_tool()
mergetool--lib: simplify command expressions

Merge branch 'ss/mergetools-tortoise'Junio C Hamano Thu, 7 Feb 2013 22:42:01 +0000 (14:42 -0800)

Merge branch 'ss/mergetools-tortoise'

Update mergetools to work better with newer merge helper tortoise ships.

* ss/mergetools-tortoise:
mergetools: teach tortoisemerge to handle filenames with SP correctly
mergetools: support TortoiseGitMerge

Merge branch 'jk/mergetool'Junio C Hamano Thu, 7 Feb 2013 22:41:57 +0000 (14:41 -0800)

Merge branch 'jk/mergetool'

Cleans up mergetool/difftool combo.

* jk/mergetool:
mergetools: simplify how we handle "vim" and "defaults"
mergetool--lib: don't call "exit" in setup_tool
mergetool--lib: improve show_tool_help() output
mergetools/vim: remove redundant diff command
git-difftool: use git-mergetool--lib for "--tool-help"
git-mergetool: don't hardcode 'mergetool' in show_tool_help
git-mergetool: remove redundant assignment
git-mergetool: move show_tool_help to mergetool--lib

Merge branch 'jk/doc-makefile-cleanup'Junio C Hamano Thu, 7 Feb 2013 22:41:51 +0000 (14:41 -0800)

Merge branch 'jk/doc-makefile-cleanup'

* jk/doc-makefile-cleanup:
Documentation/Makefile: clean up MAN*_TXT lists

Merge branch 'jk/remote-helpers-doc'Junio C Hamano Thu, 7 Feb 2013 22:41:45 +0000 (14:41 -0800)

Merge branch 'jk/remote-helpers-doc'

"git help remote-helpers" did not work; 'remote-helpers' is not
a subcommand name but a concept, so its documentation should have
been in gitremote-helpers, not git-remote-helpers.

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

Merge branch 'sb/run-command-fd-error-reporting'Junio C Hamano Thu, 7 Feb 2013 22:41:42 +0000 (14:41 -0800)

Merge branch 'sb/run-command-fd-error-reporting'

* sb/run-command-fd-error-reporting:
run-command: be more informative about what failed

Merge branch 'nd/branch-error-cases'Junio C Hamano Thu, 7 Feb 2013 22:41:38 +0000 (14:41 -0800)

Merge branch 'nd/branch-error-cases'

Fix various error messages and conditions in "git branch", e.g. we
advertised "branch -d/-D" to remove one or more branches but actually
implemented removal of zero or more branches---request to remove no
branches was not rejected.

* nd/branch-error-cases:
branch: let branch filters imply --list
docs: clarify git-branch --list behavior
branch: mark more strings for translation
branch: give a more helpful message on redundant arguments
branch: reject -D/-d without branch name

Merge branch 'sb/gpg-i18n'Junio C Hamano Thu, 7 Feb 2013 22:41:34 +0000 (14:41 -0800)

Merge branch 'sb/gpg-i18n'

* sb/gpg-i18n:
gpg: allow translation of more error messages

Merge branch 'jk/python-styles'Junio C Hamano Thu, 7 Feb 2013 22:41:31 +0000 (14:41 -0800)

Merge branch 'jk/python-styles'

* jk/python-styles:
CodingGuidelines: add Python coding guidelines

Merge branch 'ab/gitweb-use-same-scheme'Junio C Hamano Thu, 7 Feb 2013 22:41:24 +0000 (14:41 -0800)

Merge branch 'ab/gitweb-use-same-scheme'

Avoid mixed contents on a page coming via http and https when
gitweb is hosted on a https server.

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

Update CodingGuidelines for PerlTed Zlatanov Wed, 6 Feb 2013 19:49:01 +0000 (14:49 -0500)

Update CodingGuidelines for Perl

Add the coding guidelines for Perl.

Signed-off-by: Ted Zlatanov <tzz@lifelogs.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http_request: reset "type" strbuf before addingJeff King Wed, 6 Feb 2013 10:39:52 +0000 (05:39 -0500)

http_request: reset "type" strbuf before adding

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

Reported-by: Michael Schubert <mschub@elegosoft.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.8.2Junio C Hamano Wed, 6 Feb 2013 00:20:16 +0000 (16:20 -0800)

Update draft release notes to 1.8.2

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

Merge branch 'jn/auto-depend-workaround-buggy-ccache'Junio C Hamano Wed, 6 Feb 2013 00:13:52 +0000 (16:13 -0800)

Merge branch 'jn/auto-depend-workaround-buggy-ccache'

An age-old workaround to prevent buggy versions of ccache from
breaking the auto-generation of dependencies, which unfortunately
is still relevant because some people use ancient distros.

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

Merge branch 'ta/doc-no-small-caps'Junio C Hamano Wed, 6 Feb 2013 00:13:32 +0000 (16:13 -0800)

Merge branch 'ta/doc-no-small-caps'

Update documentation to change "GIT" which was a poor-man's small
caps to "Git". The latter was the intended spelling.

Also change "git" spelled in all-lowercase to "Git" when it refers
to the system as the whole or the concept it embodies, as opposed to
the command the end users would type.

* ta/doc-no-small-caps:
Documentation: StGit is the right spelling, not StGIT
Documentation: describe the "repository" in repository-layout
Documentation: add a description for 'gitfile' to glossary
Documentation: do not use undefined terms git-dir and git-file
Documentation: the name of the system is 'Git', not 'git'
Documentation: avoid poor-man's small caps GIT

Merge branch 'jc/fake-ancestor-with-non-blobs'Junio C Hamano Wed, 6 Feb 2013 00:13:11 +0000 (16:13 -0800)

Merge branch 'jc/fake-ancestor-with-non-blobs'

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

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

Merge branch 'sb/gpg-plug-fd-leak'Junio C Hamano Wed, 6 Feb 2013 00:12:43 +0000 (16:12 -0800)

Merge branch 'sb/gpg-plug-fd-leak'

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

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

Merge branch 'ft/transport-report-segv'Junio C Hamano Wed, 6 Feb 2013 00:12:32 +0000 (16:12 -0800)

Merge branch 'ft/transport-report-segv'

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

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

contrib/subtree: make the manual directory if neededJesper L. Nielsen Tue, 5 Feb 2013 04:06:06 +0000 (22:06 -0600)

contrib/subtree: make the manual directory if needed

Before install git-subtree documentation, make sure the manpage
directory exists.

Signed-off-by: Jesper L. Nielsen <lyager@gmail.com>
Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/subtree: honor DESTDIRAdam Tkac Tue, 5 Feb 2013 04:06:05 +0000 (22:06 -0600)

contrib/subtree: honor DESTDIR

Teach git-subtree's Makefile to honor DESTDIR.

Signed-off-by: Adam Tkac <atkac@redhat.com>
Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/subtree: fix synopsisDavid A. Greene Tue, 5 Feb 2013 04:06:04 +0000 (22:06 -0600)

contrib/subtree: fix synopsis

Fix the documentation of add to show that a repository can be
specified along with a commit.

Suggested by Yann Dirson <dirson@bertin.fr>.

Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/subtree: better error handling for 'subtree... David A. Greene Tue, 5 Feb 2013 04:06:03 +0000 (22:06 -0600)

contrib/subtree: better error handling for 'subtree add'

Check refspecs for validity before passing them on to other commands.
This lets us generate more helpful error messages.

Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/subtree: use %B for split subject/bodyTechlive Zheng Tue, 5 Feb 2013 04:06:02 +0000 (22:06 -0600)

contrib/subtree: use %B for split subject/body

Use %B to format the commit message and body to avoid an extra newline
if a commit only has a subject line.

Signed-off-by: Techlive Zheng <techlivezheng@gmail.com>
Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/subtree: remove test number commentsDavid A. Greene Tue, 5 Feb 2013 04:06:01 +0000 (22:06 -0600)

contrib/subtree: remove test number comments

Delete the comments indicating test numbers as it causes maintenance
headaches. t*.sh -i will help us find any broken tests and these
numbers are not helping us anyway.

Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4038: add tests for "diff --cc --raw <trees>"John Keeping Tue, 5 Feb 2013 21:39:49 +0000 (21:39 +0000)

t4038: add tests for "diff --cc --raw <trees>"

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: verify submodule commit object name betterJunio C Hamano Tue, 5 Feb 2013 19:19:32 +0000 (11:19 -0800)

apply: verify submodule commit object name better

A textual patch also records the submodule commit object name in
full. Make the parsing more robust by reading from there and
verifying the (possibly abbreviated) name on the index line matches.

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

status: show the branch name if possible in in-progress... Nguyễn Thái Ngọc Duy Sun, 3 Feb 2013 05:53:27 +0000 (12:53 +0700)

status: show the branch name if possible in in-progress info

The typical use-case is starting a rebase, do something else, come
back the day after, run "git status" or make a new commit and wonder
what in the world's going on. Which branch is being rebased is
probably the most useful tidbit to help, but the target may help
too.

Ideally, I would have loved to see "rebasing master on
origin/master", but the target ref name is not stored during rebase,
so this patch writes "rebasing master on a78c8c98b" as a
half-measure to remind future users of that potential improvement.

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

t5551: fix expected error outputJunio C Hamano Tue, 5 Feb 2013 00:21:42 +0000 (16:21 -0800)

t5551: fix expected error output

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

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

Update draft release notes to 1.8.2Junio C Hamano Mon, 4 Feb 2013 18:44:26 +0000 (10:44 -0800)

Update draft release notes to 1.8.2

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

Merge branch 'maint'Junio C Hamano Mon, 4 Feb 2013 18:26:11 +0000 (10:26 -0800)

Merge branch 'maint'

* maint:
Start preparing for 1.8.1.3

Merge branch 'jk/remote-helpers-in-python-3'Junio C Hamano Mon, 4 Feb 2013 18:25:34 +0000 (10:25 -0800)

Merge branch 'jk/remote-helpers-in-python-3'

Prepare remote-helper test written in Python to be run with Python3.

* jk/remote-helpers-in-python-3:
git_remote_helpers: remove GIT-PYTHON-VERSION upon "clean"
git-remote-testpy: fix path hashing on Python 3
git-remote-testpy: call print as a function
git-remote-testpy: don't do unbuffered text I/O
git-remote-testpy: hash bytes explicitly
svn-fe: allow svnrdump_sim.py to run with Python 3
git_remote_helpers: use 2to3 if building with Python 3
git_remote_helpers: force rebuild if python version changes
git_remote_helpers: fix input when running under Python 3
git_remote_helpers: allow building with Python 3

Merge branch 'pw/git-p4-on-cygwin'Junio C Hamano Mon, 4 Feb 2013 18:25:30 +0000 (10:25 -0800)

Merge branch 'pw/git-p4-on-cygwin'

Improve "git p4" on Cygwin.

* pw/git-p4-on-cygwin: (21 commits)
git p4: introduce gitConfigBool
git p4: avoid shell when calling git config
git p4: avoid shell when invoking git config --get-all
git p4: avoid shell when invoking git rev-list
git p4: avoid shell when mapping users
git p4: disable read-only attribute before deleting
git p4 test: use test_chmod for cygwin
git p4: cygwin p4 client does not mark read-only
git p4 test: avoid wildcard * in windows
git p4 test: use LineEnd unix in windows tests too
git p4 test: newline handling
git p4: scrub crlf for utf16 files on windows
git p4: remove unreachable windows \r\n conversion code
git p4 test: translate windows paths for cygwin
git p4 test: start p4d inside its db dir
git p4 test: use client_view in t9806
git p4 test: avoid loop in client_view
git p4 test: use client_view to build the initial client
git p4: generate better error message for bad depot path
git p4: remove unused imports
...

Merge branch 'jk/read-commit-buffer-data-after-free'Junio C Hamano Mon, 4 Feb 2013 18:25:18 +0000 (10:25 -0800)

Merge branch 'jk/read-commit-buffer-data-after-free'

Clarify the ownership rule for commit->buffer field, which some
callers incorrectly accessed without making sure it is populated.

* jk/read-commit-buffer-data-after-free:
logmsg_reencode: lazily load missing commit buffers
logmsg_reencode: never return NULL
commit: drop useless xstrdup of commit message

Merge branch 'mm/add-u-A-sans-pathspec'Junio C Hamano Mon, 4 Feb 2013 18:25:13 +0000 (10:25 -0800)

Merge branch 'mm/add-u-A-sans-pathspec'

Forbid "git add -u" and "git add -A" without pathspec run from a
subdirectory, to train people to type "." (or ":/") to make the
choice of default does not matter.

* mm/add-u-A-sans-pathspec:
add: warn when -u or -A is used without pathspec

Merge branch 'jc/push-reject-reasons'Junio C Hamano Mon, 4 Feb 2013 18:25:04 +0000 (10:25 -0800)

Merge branch 'jc/push-reject-reasons'

Improve error and advice messages given locally when "git push"
refuses when it cannot compute fast-forwardness by separating these
cases from the normal "not a fast-forward; merge first and push
again" case.

* jc/push-reject-reasons:
push: finishing touches to explain REJECT_ALREADY_EXISTS better
push: introduce REJECT_FETCH_FIRST and REJECT_NEEDS_FORCE
push: further simplify the logic to assign rejection reason
push: further clean up fields of "struct ref"

Merge branch 'jk/config-parsing-cleanup'Junio C Hamano Mon, 4 Feb 2013 18:24:50 +0000 (10:24 -0800)

Merge branch 'jk/config-parsing-cleanup'

Configuration parsing for tar.* configuration variables were
broken. Introduce a new config-keyname parser API to make the
callers much less error prone.

* jk/config-parsing-cleanup:
reflog: use parse_config_key in config callback
help: use parse_config_key for man config
submodule: simplify memory handling in config parsing
submodule: use parse_config_key when parsing config
userdiff: drop parse_driver function
convert some config callbacks to parse_config_key
archive-tar: use parse_config_key when parsing config
config: add helper function for parsing key names

Merge branch 'jc/custom-comment-char'Junio C Hamano Mon, 4 Feb 2013 18:23:49 +0000 (10:23 -0800)

Merge branch 'jc/custom-comment-char'

Allow a configuration variable core.commentchar to customize the
character used to comment out the hint lines in the edited text from
the default '#'.

* jc/custom-comment-char:
Allow custom "comment char"

Verify Content-Type from smart HTTP serversShawn Pearce Thu, 31 Jan 2013 21:02:07 +0000 (13:02 -0800)

Verify Content-Type from smart HTTP servers

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

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

Signed-off-by: Shawn Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Start preparing for 1.8.1.3Junio C Hamano Mon, 4 Feb 2013 18:21:10 +0000 (10:21 -0800)

Start preparing for 1.8.1.3

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

Merge branch 'bc/git-p4-for-python-2.4' into maintJunio C Hamano Mon, 4 Feb 2013 18:04:57 +0000 (10:04 -0800)

Merge branch 'bc/git-p4-for-python-2.4' into maint

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

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

Merge branch 'nd/edit-branch-desc-while-detached' into maint

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

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

Merge branch 'jn/do-not-drop-username-when-reading... Junio C Hamano Mon, 4 Feb 2013 18:04:26 +0000 (10:04 -0800)

Merge branch 'jn/do-not-drop-username-when-reading-from-etc-mailname' into maint

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

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

Merge branch 'jk/cvsimport-does-not-work-with-cvsps3... Junio C Hamano Mon, 4 Feb 2013 18:04:22 +0000 (10:04 -0800)

Merge branch 'jk/cvsimport-does-not-work-with-cvsps3' into maint

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

Merge branch 'dl/am-hg-locale' into maintJunio C Hamano Mon, 4 Feb 2013 18:04:10 +0000 (10:04 -0800)

Merge branch 'dl/am-hg-locale' into maint

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

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

Merge branch 'jc/help' into maintJunio C Hamano Mon, 4 Feb 2013 18:04:06 +0000 (10:04 -0800)

Merge branch 'jc/help' into maint

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

Merge branch 'jc/merge-blobs' into maintJunio C Hamano Mon, 4 Feb 2013 18:03:41 +0000 (10:03 -0800)

Merge branch 'jc/merge-blobs' into maint

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

Merge branch 'jc/doc-maintainer' into maintJunio C Hamano Mon, 4 Feb 2013 18:03:35 +0000 (10:03 -0800)

Merge branch 'jc/doc-maintainer' into maint

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

Merge branch 'bc/fix-array-syntax-for-3.0-in-completion... Junio C Hamano Mon, 4 Feb 2013 18:03:13 +0000 (10:03 -0800)

Merge branch 'bc/fix-array-syntax-for-3.0-in-completion-bash' into maint

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

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

completion: handle path completion and colon for tcsh... Marc Khouzam Sat, 2 Feb 2013 19:43:25 +0000 (19:43 +0000)

completion: handle path completion and colon for tcsh script

Recent enhancements to git-completion.bash provide intelligent path
completion for git commands. Such completions do not provide the
'/' at the end of directories for recent versions of bash; instead,
bash itself will add the trailing slash to directories to the result
provided by git-completion.bash. However, the completion for tcsh
uses the result of the bash completion script directly, so it either
needs to add the necessary slash itself, or needs to ask the bash
script to keep the trailing slash.

Adding the slash itself is difficult because we have to check the
each path in the output of the bash script to see if it is meant to
be a directory or something else. For example, assuming there is a
directory named 'commit' in the current directory, then, when
completing

git add commit<tab>

we would need to add a slash, but for

git help commit<tab>

we should not.

Figuring out such differences would require adding much intelligence
to the tcsh completion script. Instead, it is simpler to ask the
bash script to keep the trailing slash. This patch does this.

Also, tcsh does not handle the colon as a completion separator so we
remove it from the list of separators.

Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>

builtin/apply: tighten (dis)similarity index parsingJohn Keeping Sun, 3 Feb 2013 14:37:11 +0000 (14:37 +0000)

builtin/apply: tighten (dis)similarity index parsing

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

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

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

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

combine-diff: lift 32-way limit of combined diffJunio C Hamano Sun, 3 Feb 2013 21:08:18 +0000 (13:08 -0800)

combine-diff: lift 32-way limit of combined diff

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

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

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