gitweb.git
Merge branch 'rs/zip-compresssed-size-with-export-subst'Junio C Hamano Thu, 21 Mar 2013 21:03:04 +0000 (14:03 -0700)

Merge branch 'rs/zip-compresssed-size-with-export-subst'

When export-subst is used, "zip" output recorded incorrect
size of the file.

* rs/zip-compresssed-size-with-export-subst:
archive-zip: fix compressed size for stored export-subst files

Merge branch 'mn/send-email-works-with-credential'Junio C Hamano Thu, 21 Mar 2013 21:03:02 +0000 (14:03 -0700)

Merge branch 'mn/send-email-works-with-credential'

Hooks the credential system to send-email.

* mn/send-email-works-with-credential:
git-send-email: use git credential to obtain password
Git.pm: add interface for git credential command
Git.pm: allow pipes to be closed prior to calling command_close_bidi_pipe
Git.pm: refactor command_close_bidi_pipe to use _cmd_close
Git.pm: fix example in command_close_bidi_pipe documentation
Git.pm: allow command_close_bidi_pipe to be called as method

Merge branch 'tz/credential-authinfo'Junio C Hamano Thu, 21 Mar 2013 21:03:00 +0000 (14:03 -0700)

Merge branch 'tz/credential-authinfo'

A new read-only credential helper (in contrib/) to interact with
the .netrc/.authinfo files. Hopefully mn/send-email-authinfo topic
can rebuild on top of something like this.

* tz/credential-authinfo:
Add contrib/credentials/netrc with GPG support

Merge branch 'jk/utf-8-can-be-spelled-differently'Junio C Hamano Thu, 21 Mar 2013 21:02:58 +0000 (14:02 -0700)

Merge branch 'jk/utf-8-can-be-spelled-differently'

Some platforms and users spell UTF-8 differently; retry with the
most official "UTF-8" when the system does not understand the
user-supplied encoding name that are the common alternative
spellings of UTF-8.

* jk/utf-8-can-be-spelled-differently:
utf8: accept alternate spellings of UTF-8

Merge branch 'mg/gpg-interface-using-status'Junio C Hamano Thu, 21 Mar 2013 21:02:55 +0000 (14:02 -0700)

Merge branch 'mg/gpg-interface-using-status'

Call "gpg" using the right API when validating the signature on
tags.

* mg/gpg-interface-using-status:
pretty: make %GK output the signing key for signed commits
pretty: parse the gpg status lines rather than the output
gpg_interface: allow to request status return
log-tree: rely upon the check in the gpg_interface
gpg-interface: check good signature in a reliable way

Merge branch 'rt/commit-cleanup-config'Junio C Hamano Thu, 21 Mar 2013 21:02:53 +0000 (14:02 -0700)

Merge branch 'rt/commit-cleanup-config'

Fix tests that contaminated their environments and affected new
tests introduced later in the sequence by containing their effects
in their own subshells.

* rt/commit-cleanup-config:
t7502: perform commits using alternate editor in a subshell

Merge branch 'nd/branch-error-cases'Junio C Hamano Thu, 21 Mar 2013 21:02:51 +0000 (14:02 -0700)

Merge branch 'nd/branch-error-cases'

"git branch" had more cases where it did not bother to check
nonsense command line parameters.

* nd/branch-error-cases:
branch: segfault fixes and validation

Merge branch 'ap/maint-update-index-h-is-for-help'Junio C Hamano Thu, 21 Mar 2013 21:02:48 +0000 (14:02 -0700)

Merge branch 'ap/maint-update-index-h-is-for-help'

"git update-index -h" did not do the usual "-h(elp)" thing.

* ap/maint-update-index-h-is-for-help:
update-index: allow "-h" to also display options

Merge branch 'jc/perl-cat-blob'Junio C Hamano Thu, 21 Mar 2013 21:02:46 +0000 (14:02 -0700)

Merge branch 'jc/perl-cat-blob'

perl/Git.pm::cat_blob slurped everything in core only to write it
out to a file descriptor, which was not a very smart thing to do.

* jc/perl-cat-blob:
Git.pm: fix cat_blob crashes on large files

Merge branch 'da/difftool-fixes'Junio C Hamano Thu, 21 Mar 2013 21:02:43 +0000 (14:02 -0700)

Merge branch 'da/difftool-fixes'

Minor maintenance updates to difftool, and updates to its tests.

* da/difftool-fixes:
t7800: "defaults" is no longer a builtin tool name
t7800: modernize tests
t7800: update copyright notice
difftool: silence uninitialized variable warning

Merge branch 'ob/imap-send-ssl-verify'Junio C Hamano Thu, 21 Mar 2013 21:02:39 +0000 (14:02 -0700)

Merge branch 'ob/imap-send-ssl-verify'

Correctly connect to SSL/TLS sites that serve multiple hostnames on
a single IP by including Server Name Indication in the client-hello.

* ob/imap-send-ssl-verify:
imap-send: support Server Name Indication (RFC4366)

Merge branch 'bc/commit-complete-lines-given-via-m... Junio C Hamano Thu, 21 Mar 2013 21:02:37 +0000 (14:02 -0700)

Merge branch 'bc/commit-complete-lines-given-via-m-option'

'git commit -m "$str"' when $str was already terminated with a LF
now avoids adding an extra LF to the message.

* bc/commit-complete-lines-given-via-m-option:
Documentation/git-commit.txt: rework the --cleanup section
git-commit: only append a newline to -m mesg if necessary
t7502: demonstrate breakage with a commit message with trailing newlines
t/t7502: compare entire commit message with what was expected

Merge branch 'nd/count-garbage'Junio C Hamano Thu, 21 Mar 2013 21:02:34 +0000 (14:02 -0700)

Merge branch 'nd/count-garbage'

"git count-objects -v" did not count leftover temporary packfiles
and other kinds of garbage.

* nd/count-garbage:
count-objects: report how much disk space taken by garbage files
count-objects: report garbage files in pack directory too
sha1_file: reorder code in prepare_packed_git_one()
git-count-objects.txt: describe each line in -v output

Merge branch 'jc/fetch-raw-sha1'Junio C Hamano Thu, 21 Mar 2013 21:02:27 +0000 (14:02 -0700)

Merge branch 'jc/fetch-raw-sha1'

Allows requests to fetch objects at any tip of refs (including
hidden ones). It seems that there may be use cases even outside
Gerrit (e.g. $gmane/215701).

* jc/fetch-raw-sha1:
fetch: fetch objects by their exact SHA-1 object names
upload-pack: optionally allow fetching from the tips of hidden refs
fetch: use struct ref to represent refs to be fetched
parse_fetch_refspec(): clarify the codeflow a bit

Merge branch 'nd/preallocate-hash'Junio C Hamano Thu, 21 Mar 2013 21:02:19 +0000 (14:02 -0700)

Merge branch 'nd/preallocate-hash'

When we know approximately how many entries we will have in the
hash-table, it makes sense to size the hash table to that number
from the beginning to avoid unnecessary rehashing.

* nd/preallocate-hash:
Preallocate hash tables when the number of inserts are known in advance

Merge branch 'nd/index-pack-l10n-buf-overflow'Junio C Hamano Thu, 21 Mar 2013 21:02:16 +0000 (14:02 -0700)

Merge branch 'nd/index-pack-l10n-buf-overflow'

* nd/index-pack-l10n-buf-overflow:
index-pack: fix buffer overflow caused by translations

Merge branch 'tb/document-status-u-tradeoff'Junio C Hamano Thu, 21 Mar 2013 21:02:10 +0000 (14:02 -0700)

Merge branch 'tb/document-status-u-tradeoff'

Suggest users to look into using--untracked=no option when "git
status" takes too long.

* tb/document-status-u-tradeoff:
status: advise to consider use of -u when read_directory takes too long
git status: document trade-offs in choosing parameters to the -u option

Merge branch 'jn/shell-disable-interactive'Junio C Hamano Thu, 21 Mar 2013 21:01:53 +0000 (14:01 -0700)

Merge branch 'jn/shell-disable-interactive'

When the interactive access to git-shell is not enabled, we issue a
message meant to help the system admininstrator to enable it. Add
an explicit way to help the end users who connect to the service by
issuing custom messages to refuse such an access.

* jn/shell-disable-interactive:
shell: new no-interactive-login command to print a custom message
shell doc: emphasize purpose and security model

Merge branch 'jc/maint-push-refspec-default-doc'Junio C Hamano Thu, 21 Mar 2013 21:01:47 +0000 (14:01 -0700)

Merge branch 'jc/maint-push-refspec-default-doc'

Clarify in the documentation "what" gets pushed to "where" when the
command line to "git push" does not say these explicitly.

* jc/maint-push-refspec-default-doc:
Documentation/git-push: clarify the description of defaults

The first wave of topics for 1.8.3Junio C Hamano Tue, 19 Mar 2013 19:30:25 +0000 (12:30 -0700)

The first wave of topics for 1.8.3

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

Merge branch 'jc/add-2.0-u-A-sans-pathspec' (early... Junio C Hamano Tue, 19 Mar 2013 19:21:27 +0000 (12:21 -0700)

Merge branch 'jc/add-2.0-u-A-sans-pathspec' (early part)

* 'jc/add-2.0-u-A-sans-pathspec' (early part):
t2200: check that "add -u" limits itself to subdirectory

Merge branch 'lf/bundle-verify-list-prereqs'Junio C Hamano Tue, 19 Mar 2013 19:21:09 +0000 (12:21 -0700)

Merge branch 'lf/bundle-verify-list-prereqs'

* lf/bundle-verify-list-prereqs:
bundle: Add colons to list headings in "verify"
bundle: Fix "verify" output if history is complete

Merge branch 'jk/graph-c-expose-symbols-for-cgit'Junio C Hamano Tue, 19 Mar 2013 19:20:56 +0000 (12:20 -0700)

Merge branch 'jk/graph-c-expose-symbols-for-cgit'

In the v1.8.0 era, we changed symbols that do not have to be global
to file scope static, but a few functions in graph.c were used by
CGit from sideways bypassing the entry points of the API the
in-tree users use.

* jk/graph-c-expose-symbols-for-cgit:
Revert "graph.c: mark private file-scope symbols as static"

Merge branch 'tk/doc-filter-branch'Junio C Hamano Tue, 19 Mar 2013 19:20:50 +0000 (12:20 -0700)

Merge branch 'tk/doc-filter-branch'

* tk/doc-filter-branch:
Documentation: filter-branch env-filter example
git-filter-branch.txt: clarify ident variables usage

Merge branch 'wk/user-manual-literal-format'Junio C Hamano Tue, 19 Mar 2013 19:20:44 +0000 (12:20 -0700)

Merge branch 'wk/user-manual-literal-format'

* wk/user-manual-literal-format:
user-manual: Standardize backtick quoting

Merge branch 'rj/msvc-build'Junio C Hamano Tue, 19 Mar 2013 19:20:40 +0000 (12:20 -0700)

Merge branch 'rj/msvc-build'

* rj/msvc-build:
msvc: avoid collisions between "tags" and "TAGS"
msvc: test-svn-fe: Fix linker "unresolved external" error
msvc: Fix build by adding missing symbol defines
msvc: git-daemon: Fix linker "unresolved external" errors
msvc: Fix compilation errors caused by poll.h emulation

Merge branch 'dm/ni-maxhost-may-be-missing'Junio C Hamano Tue, 19 Mar 2013 19:18:21 +0000 (12:18 -0700)

Merge branch 'dm/ni-maxhost-may-be-missing'

On systems without NI_MAXHOST in their system header files,
connect.c (hence most of the transport) did not compile.

* dm/ni-maxhost-may-be-missing:
git-compat-util.h: Provide missing netdb.h definitions

Merge branch 'gp/describe-match-uses-glob-pattern'Junio C Hamano Tue, 19 Mar 2013 19:16:31 +0000 (12:16 -0700)

Merge branch 'gp/describe-match-uses-glob-pattern'

The syntax of the pattern given to the "--match=<pattern>" argument
to "git describe" was not documented to be a glob.

* gp/describe-match-uses-glob-pattern:
describe: Document --match pattern format

Merge branch 'gp/avoid-explicit-mention-of-dot-git... Junio C Hamano Tue, 19 Mar 2013 19:16:22 +0000 (12:16 -0700)

Merge branch 'gp/avoid-explicit-mention-of-dot-git-refs'

* gp/avoid-explicit-mention-of-dot-git-refs:
Fix ".git/refs" stragglers

Merge branch 'da/downcase-u-in-usage'Junio C Hamano Tue, 19 Mar 2013 19:15:54 +0000 (12:15 -0700)

Merge branch 'da/downcase-u-in-usage'

* da/downcase-u-in-usage:
contrib/mw-to-git/t/install-wiki.sh: use a lowercase "usage:" string
contrib/examples/git-remote.perl: use a lowercase "usage:" string
tests: use a lowercase "usage:" string
git-svn: use a lowercase "usage:" string
Documentation/user-manual.txt: use a lowercase "usage:" string
templates/hooks--update.sample: use a lowercase "usage:" string
contrib/hooks/setgitperms.perl: use a lowercase "usage:" string
contrib/examples: use a lowercase "usage:" string
contrib/fast-import/import-zips.py: use spaces instead of tabs
contrib/fast-import/import-zips.py: fix broken error message
contrib/fast-import: use a lowercase "usage:" string
contrib/credential: use a lowercase "usage:" string
git-cvsimport: use a lowercase "usage:" string
git-cvsimport: use a lowercase "usage:" string
git-cvsexportcommit: use a lowercase "usage:" string
git-archimport: use a lowercase "usage:" string
git-merge-one-file: use a lowercase "usage:" string
git-relink: use a lowercase "usage:" string
git-svn: use a lowercase "usage:" string
git-sh-setup: use a lowercase "usage:" string

Merge branch 'nd/doc-index-format'Junio C Hamano Tue, 19 Mar 2013 19:15:14 +0000 (12:15 -0700)

Merge branch 'nd/doc-index-format'

Update the index format documentation to mention the v4 format.

* nd/doc-index-format:
update-index: list supported idx versions and their features
read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()
index-format.txt: mention of v4 is missing in some places

Merge branch 'wk/doc-pre-rebase'Junio C Hamano Tue, 19 Mar 2013 19:14:05 +0000 (12:14 -0700)

Merge branch 'wk/doc-pre-rebase'

* wk/doc-pre-rebase:
Documentation/githooks: Explain pre-rebase parameters

Merge branch 'jc/color-diff-doc'Junio C Hamano Tue, 19 Mar 2013 19:11:31 +0000 (12:11 -0700)

Merge branch 'jc/color-diff-doc'

The --color[=<when>] option to the diff family was documented in a
confusing way.

* jc/color-diff-doc:
diff-options: unconfuse description of --color

Start the post 1.8.2 cycleJunio C Hamano Mon, 18 Mar 2013 22:01:19 +0000 (15:01 -0700)

Start the post 1.8.2 cycle

Again, tentatively let's call this cycle 1.8.3.

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

Merge branch 'maint'Junio C Hamano Sun, 17 Mar 2013 22:39:43 +0000 (15:39 -0700)

Merge branch 'maint'

* maint:
t1507: Test that branchname@{upstream} is interpreted as branch

t1507: Test that branchname@{upstream} is interpreted... Kacper Kornet Sun, 17 Mar 2013 22:17:09 +0000 (23:17 +0100)

t1507: Test that branchname@{upstream} is interpreted as branch

Syntax branchname@{upstream} should interpret its argument as a name of
a branch. Add the test to check that it doesn't try to interpret it as a
refname if the branch in question does not exist.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sun, 17 Mar 2013 07:11:11 +0000 (00:11 -0700)

Merge branch 'maint'

* maint:
rev-parse: clarify documentation of $name@{upstream} syntax
sha1_name: pass object name length to diagnose_invalid_sha1_path()
Makefile: keep LIB_H entries together and sorted

rev-parse: clarify documentation of $name@{upstream... Kacper Kornet Sat, 16 Mar 2013 18:51:43 +0000 (19:51 +0100)

rev-parse: clarify documentation of $name@{upstream} syntax

"git rev-parse" interprets string in string@{upstream} as a name of
a branch not a ref. For example, refs/heads/master@{upstream} looks
for an upstream branch that is merged by git-pull to ref
refs/heads/refs/heads/master not to refs/heads/master.

However the documentation could mislead a user to believe that the
string is interpreted as ref.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1_name: pass object name length to diagnose_invalid_... René Scharfe Sat, 16 Mar 2013 18:29:31 +0000 (19:29 +0100)

sha1_name: pass object name length to diagnose_invalid_sha1_path()

The only caller of diagnose_invalid_sha1_path() extracts a substring from
an object name by creating a NUL-terminated copy of the interesting part.
Add a length parameter to the function and thus avoid the need for an
allocation, thereby simplifying the code.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Preallocate hash tables when the number of inserts... Nguyễn Thái Ngọc Duy Sun, 17 Mar 2013 03:28:06 +0000 (10:28 +0700)

Preallocate hash tables when the number of inserts are known in advance

This avoids unnecessary re-allocations and reinsertions. On webkit.git
(i.e. about 182k inserts to the name hash table), this reduces about
100ms out of 3s user time.

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

Makefile: keep LIB_H entries together and sortedRené Scharfe Sat, 16 Mar 2013 15:58:28 +0000 (16:58 +0100)

Makefile: keep LIB_H entries together and sorted

As a follow-up to 60d24dd25 (Makefile: fold XDIFF_H and VCSSVN_H into
LIB_H), let the unconditional additions to LIB_H form a single sorted
list. Also drop the duplicate entry for xdiff/xdiff.h, which was easy
to spot after sorting.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

index-pack: fix buffer overflow caused by translationsNguyễn Thái Ngọc Duy Sat, 16 Mar 2013 01:25:18 +0000 (08:25 +0700)

index-pack: fix buffer overflow caused by translations

The translation of "completed with %d local objects" is put in a
48-byte buffer, which may be enough for English but not true for any
translations. Convert it to use strbuf (i.e. no hard limit on
translation length).

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

status: advise to consider use of -u when read_director... Nguyễn Thái Ngọc Duy Wed, 13 Mar 2013 12:59:16 +0000 (19:59 +0700)

status: advise to consider use of -u when read_directory takes too long

Introduce advice.statusUoption to suggest considering use of -u to
strike different trade-off when it took more than 2 seconds to
enumerate untracked/ignored files.

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

git status: document trade-offs in choosing parameters... Junio C Hamano Fri, 15 Mar 2013 16:53:48 +0000 (09:53 -0700)

git status: document trade-offs in choosing parameters to the -u option

In some repostories users experience that "git status" command takes
long time. The command spends some time searching the file system
for untracked files.

Explain the trade-off struck by the default choice of `normal` to
help users make an appropriate choice better, before talking about
the configuration variable.

Inspired by Torsten Bögershausen.

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

t2200: check that "add -u" limits itself to subdirectoryJeff King Thu, 14 Mar 2013 06:44:04 +0000 (02:44 -0400)

t2200: check that "add -u" limits itself to subdirectory

This behavior is due to change in the future, but let's test
it anyway. That helps make sure we do not accidentally
switch the behavior too soon while we are working in the
area, and it means that we can easily verify the change when
we do make it.

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

Git 1.8.2 v1.8.2Junio C Hamano Wed, 13 Mar 2013 18:28:08 +0000 (11:28 -0700)

Git 1.8.2

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

Merge branch 'maint'Junio C Hamano Mon, 11 Mar 2013 20:00:16 +0000 (13:00 -0700)

Merge branch 'maint'

* maint:
git.c: make usage match manual page

git.c: make usage match manual pageKevin Bracey Mon, 11 Mar 2013 19:44:15 +0000 (21:44 +0200)

git.c: make usage match manual page

Reorder option list in command-line usage to match the manual page.
Also make it less than 80-characters wide.

Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'mp/complete-paths'Junio C Hamano Mon, 11 Mar 2013 17:32:16 +0000 (10:32 -0700)

Merge branch 'mp/complete-paths'

* mp/complete-paths:
git-completion.bash: zsh does not implement function redirection correctly

Merge branch 'mm/add-u-A-finishing-touches'Junio C Hamano Mon, 11 Mar 2013 17:32:03 +0000 (10:32 -0700)

Merge branch 'mm/add-u-A-finishing-touches'

* mm/add-u-A-finishing-touches:
add: update pathless 'add [-u|-A]' warning to reflect change of plan

git-completion.bash: zsh does not implement function... Matthieu Moy Mon, 11 Mar 2013 12:21:27 +0000 (13:21 +0100)

git-completion.bash: zsh does not implement function redirection correctly

A recent change added functions whose entire standard error stream
is redirected to /dev/null using a construct that is valid POSIX.1
but is not widely used:

funcname () {
cd "$1" && run some command "$2"
} 2>/dev/null

Even though this file is "git-completion.bash", zsh completion
support dot-sources it (instead of asking bash to grok it like tcsh
completion does), and zsh does not implement this redirection
correctly.

With zsh, trying to complete an inexistant directory gave this:

git add no-such-dir/__git_ls_files_helper:cd:2: no such file or directory: no-such-dir/

Also these functions use "cd" to first go somewhere else before
running a command, but the location the caller wants them to go that
is given as an argument to them should not be affected by CDPATH
variable the users may have set for their interactive session.

To fix both of these, wrap the body of the function in a subshell,
unset CDPATH at the beginning of the subshell, and redirect the
standard error stream of the subshell to /dev/null.

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

Merge branch 'gp/add-u-A-documentation'Junio C Hamano Mon, 11 Mar 2013 15:11:37 +0000 (08:11 -0700)

Merge branch 'gp/add-u-A-documentation'

* gp/add-u-A-documentation:
add: Clarify documentation of -A and -u

add: update pathless 'add [-u|-A]' warning to reflect... Matthieu Moy Mon, 11 Mar 2013 08:01:32 +0000 (09:01 +0100)

add: update pathless 'add [-u|-A]' warning to reflect change of plan

We originally thought the transition would need a period where "git add
[-u|-A]" without pathspec would be forbidden, but the warning is big
enough to scare people and teach them not to use it (or, if so, to
understand the consequences).

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

Merge branch 'maint'Junio C Hamano Mon, 11 Mar 2013 05:29:29 +0000 (22:29 -0700)

Merge branch 'maint'

* maint:
Translate git_more_info_string consistently

Translate git_more_info_string consistentlyKevin Bracey Sun, 10 Mar 2013 15:10:20 +0000 (17:10 +0200)

Translate git_more_info_string consistently

"git help" translated the "See 'git help <command>' for more
information..." message, but "git" didn't.

Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

shell: new no-interactive-login command to print a... Jonathan Nieder Sat, 9 Mar 2013 22:00:11 +0000 (14:00 -0800)

shell: new no-interactive-login command to print a custom message

If I disable git-shell's interactive mode by removing the
~/git-shell-commands directory, attempts to ssh in to the service
produce a message intended for the administrator:

$ ssh git@myserver
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
$

That is helpful for the new admin who is wondering "What? Why isn't
the git-shell I just set up working?", but once the site setup is
complete, it would be better to give the user a friendly hint that she
is on the right track, like GitHub does.

Hi <username>! You've successfully authenticated, but
GitHub does not provide shell access.

An appropriate greeting might even include more complex dynamic
information, like gitolite's list of repositories the user has access
to. Add support for a ~/git-shell-commands/no-interactive-login
command that generates an arbitrary greeting. When the user tries to
log in:

* If the file ~/git-shell-commands/no-interactive-login exists,
run no-interactive-login to let the server say what it likes,
then hang up.

* Otherwise, if ~/git-shell-commands/ is present, start an
interactive read-eval-print loop.

* Otherwise, print the usual configuration hint and hang up.

Reported-by: Ethan Reesor <firelizzard@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Improved-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

shell doc: emphasize purpose and security modelJonathan Nieder Sat, 9 Mar 2013 21:55:37 +0000 (13:55 -0800)

shell doc: emphasize purpose and security model

The original git-shell(1) manpage emphasized that the shell supports
only git transport commands. As the shell gained features, that
emphasis and focus in the manual has been lost. Bring it back by
splitting the manpage into a few short sections and fleshing out each:

- SYNOPSIS, describing how the shell gets used in practice
- DESCRIPTION, which gives an overview of the purpose and guarantees
provided by this restricted shell
- COMMANDS, listing supported commands and restrictions on the
arguments they accept
- INTERACTIVE USE, describing the interactive mode

Also add a "see also" section with related reading.

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

Merge branch 'maint'Junio C Hamano Sat, 9 Mar 2013 19:54:05 +0000 (11:54 -0800)

Merge branch 'maint'

* maint:
perf: update documentation of GIT_PERF_REPEAT_COUNT

perf: update documentation of GIT_PERF_REPEAT_COUNTAntoine Pelisse Sat, 9 Mar 2013 15:29:25 +0000 (16:29 +0100)

perf: update documentation of GIT_PERF_REPEAT_COUNT

Currently the documentation of GIT_PERF_REPEAT_COUNT says the default is
five while "perf-lib.sh" uses a value of three as a default.

Update the documentation so that it is consistent with the code.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://git.bogomips.org/git-svnJunio C Hamano Fri, 8 Mar 2013 22:15:55 +0000 (14:15 -0800)

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

* git://git.bogomips.org/git-svn:
git svn: consistent spacing after "W:" in warnings
git svn: ignore partial svn:mergeinfo

Update draft release notes to 1.8.2Junio C Hamano Fri, 8 Mar 2013 22:14:27 +0000 (14:14 -0800)

Update draft release notes to 1.8.2

Split the backward-compatibility notes into two sections, the ones
that affect this release, and the other to describe changes meant
for Git 2.0. The latter gives a context to understand why the
changes for this release is necessary.

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

bundle: Add colons to list headings in "verify"Lukas Fleischer Fri, 8 Mar 2013 18:01:26 +0000 (19:01 +0100)

bundle: Add colons to list headings in "verify"

These slightly improve the reading flow by making it obvious that a list
follows.

Also, make the wording of both headings consistent by changing "contains
%d ref(s)" to "contains this ref"/"contains these %d refs".

Signed-off-by: Lukas Fleischer <git@cryptocrack.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/git-push: clarify the description of... Junio C Hamano Fri, 8 Mar 2013 17:44:33 +0000 (09:44 -0800)

Documentation/git-push: clarify the description of defaults

We describe what gets pushed by default when the command line does
not give any <refspec> under the bullet point of <refspec>.

It is a bit unfriendly to expect users to read on <refspec> when
they are not giving any in the first place. "What gets pushed" is
determined by taking many factors (<refspec> argument being only one
of them) into account, and is a property of the entire command, not
an individual argument. Also we do not describe "Where the push
goes" when the command line does not say.

Give the description on "what gets pushed to where" upfront before
explaining individual arguments and options.

Also update the description of <refspec> to say what it is, what it
is used for, before explaining what shape it takes.

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

git svn: consistent spacing after "W:" in warningsEric Wong Fri, 8 Mar 2013 09:46:41 +0000 (09:46 +0000)

git svn: consistent spacing after "W:" in warnings

All other instances of "W:"-prefixed warning messages have a space after
the "W:" to help with readability.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git svn: ignore partial svn:mergeinfoJan Pešta Thu, 7 Mar 2013 11:28:14 +0000 (12:28 +0100)

git svn: ignore partial svn:mergeinfo

Currently this is cosmetic change - the merges are ignored, becuase the methods
(lookup_svn_merge, find_rev_before, find_rev_after) are failing on comparing text with number.

See http://www.open.collab.net/community/subversion/articles/merge-info.html
Extract:
The range r30430:30435 that was added to 1.5.x in this merge has a '*' suffix for 1.5.x\www.
This '*' is the marker for a non-inheritable mergeinfo range.
The '*' means that only the path on which the mergeinfo is explicitly set has had this range merged into it.

Signed-off-by: Jan Pesta <jan.pesta@certicon.cz>
Signed-off-by: Eric Wong <normalperson@yhbt.net>

bundle: Fix "verify" output if history is completeLukas Fleischer Thu, 7 Mar 2013 00:56:35 +0000 (01:56 +0100)

bundle: Fix "verify" output if history is complete

A more informative message for "complete" bundles was added in commit
8c3710fd3011 (tweak "bundle verify" of a complete history, 2012-06-04).

However, the prerequisites ref list is currently read *after* we
check if it equals zero, which means we never actually use the
number of prerequisite refs to decide when to print the newly
introduced message. The code incorrectly uses the number of
references recorded in the bundle instead.

Signed-off-by: Lukas Fleischer <git@cryptocrack.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.2-rc3 v1.8.2-rc3Junio C Hamano Thu, 7 Mar 2013 21:14:39 +0000 (13:14 -0800)

Git 1.8.2-rc3

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

Merge git://github.com/git-l10n/git-poJunio C Hamano Thu, 7 Mar 2013 21:12:34 +0000 (13:12 -0800)

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

* 'master' of git://github.com/git-l10n/git-po:
l10n: zh_CN.po: translate 1 new message
l10n: de.po: translate 1 new message
l10n: vi.po: Update translation (2009t0f0u)
l10n: Update Swedish translation (2009t0f0u)
l10n: git.pot: v1.8.2 round 4 (1 changed)

Merge branch 'mp/complete-paths'Junio C Hamano Thu, 7 Mar 2013 21:11:55 +0000 (13:11 -0800)

Merge branch 'mp/complete-paths'

* mp/complete-paths:
git-completion.zsh: define __gitcomp_file compatibility function

Merge branch 'maint'Junio C Hamano Thu, 7 Mar 2013 20:50:36 +0000 (12:50 -0800)

Merge branch 'maint'

* maint:
gitweb/README: remove reference to git.kernel.org

Merge branch 'mh/maint-ceil-absolute' into maintJunio C Hamano Thu, 7 Mar 2013 20:49:57 +0000 (12:49 -0800)

Merge branch 'mh/maint-ceil-absolute' into maint

* mh/maint-ceil-absolute:
Provide a mechanism to turn off symlink resolution in ceiling paths

gitweb/README: remove reference to git.kernel.orgFredrik Gustafsson Thu, 7 Mar 2013 01:23:43 +0000 (02:23 +0100)

gitweb/README: remove reference to git.kernel.org

git.kernel.org no longer uses gitweb but has switched to cgit.

Info about this can be found on: https://www.kernel.org/pelican.html
or simply by looking at http://git.kernel.org . This is change since
2013-03-01.

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

add: Clarify documentation of -A and -uGreg Price Thu, 7 Mar 2013 10:13:15 +0000 (05:13 -0500)

add: Clarify documentation of -A and -u

The documentation of '-A' and '-u' is very confusing for someone who
doesn't already know what they do. Describe them with fewer words and
clearer parallelism to each other and to the behavior of plain 'add'.

Also mention the default <pathspec> for '-A' as well as '-u', because
it applies to both.

Signed-off-by: Greg Price <price@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: zh_CN.po: translate 1 new messageJiang Xin Tue, 5 Mar 2013 05:09:55 +0000 (13:09 +0800)

l10n: zh_CN.po: translate 1 new message

Translate 1 new message came from git.pot update in ed1ddaf
(l10n: git.pot: v1.8.2 round 4 (1 changed)).

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

l10n: de.po: translate 1 new messageRalf Thielow Tue, 5 Mar 2013 05:32:41 +0000 (06:32 +0100)

l10n: de.po: translate 1 new message

Translate 1 new message came from git.pot update in
ed1ddaf (l10n: git.pot: v1.8.2 round 4 (1 changed)).

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

l10n: vi.po: Update translation (2009t0f0u)Tran Ngoc Quan Wed, 6 Mar 2013 06:57:17 +0000 (13:57 +0700)

l10n: vi.po: Update translation (2009t0f0u)

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

git-completion.zsh: define __gitcomp_file compatibility... Matthieu Moy Tue, 5 Mar 2013 08:43:55 +0000 (09:43 +0100)

git-completion.zsh: define __gitcomp_file compatibility function

Commit fea16b47b60 (Fri Jan 11 19:48:43 2013, Manlio Perillo,
git-completion.bash: add support for path completion), introduced a new
__gitcomp_file function that uses the bash builtin "compgen". The
function was redefined for ZSH in the deprecated section of
git-completion.bash, but not in the new git-completion.zsh script.

As a result, users of git-completion.zsh trying to complete "git add
fo<tab>" get an error:

git add fo__gitcomp_file:8: command not found: compgen

This patch adds the redefinition and removes the error.

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

l10n: Update Swedish translation (2009t0f0u)Peter Krefting Tue, 5 Mar 2013 08:18:25 +0000 (09:18 +0100)

l10n: Update Swedish translation (2009t0f0u)

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

l10n: git.pot: v1.8.2 round 4 (1 changed)Jiang Xin Tue, 5 Mar 2013 04:41:45 +0000 (12:41 +0800)

l10n: git.pot: v1.8.2 round 4 (1 changed)

Generate po/git.pot from v1.8.2-rc2-4-g77995 for git v1.8.2
l10n round 4.

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

Merge git://github.com/git-l10n/git-poJunio C Hamano Mon, 4 Mar 2013 09:16:02 +0000 (01:16 -0800)

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

* git://github.com/git-l10n/git-po:
l10n: de.po: correct translation of "bisect" messages
l10n: de.po: translate 5 new messages
l10n: de.po: translate 35 new messages

Revert "graph.c: mark private file-scope symbols as... John Keeping Mon, 4 Mar 2013 00:03:37 +0000 (00:03 +0000)

Revert "graph.c: mark private file-scope symbols as static"

This reverts commit ba35480439d05b8f6cca50527072194fe3278bbb.

CGit uses these symbols to output the correct HTML around graph
elements. Making these symbols private means that CGit cannot be
updated to use Git 1.8.0 or newer, so let's not do that.

On top of the revert, also add comments so that we avoid reintroducing
this problem in the future and suggest to those modifying this API
that they might want to discuss it with the CGit developers.

Signed-off-by: John Keeping <john@keeping.me.uk>
Acked-by: Jason A. Donenfeld <Jason@zx2c4.com>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.2-rc2 v1.8.2-rc2Junio C Hamano Sun, 3 Mar 2013 09:24:11 +0000 (01:24 -0800)

Git 1.8.2-rc2

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

Sync with 1.8.1.5Junio C Hamano Fri, 1 Mar 2013 21:17:18 +0000 (13:17 -0800)

Sync with 1.8.1.5

Git 1.8.1.5 v1.8.1.5Junio C Hamano Fri, 1 Mar 2013 21:15:29 +0000 (13:15 -0800)

Git 1.8.1.5

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

Make !pattern in .gitattributes non-fatalThomas Rast Fri, 1 Mar 2013 20:06:17 +0000 (21:06 +0100)

Make !pattern in .gitattributes non-fatal

Before 82dce99 (attr: more matching optimizations from .gitignore,
2012-10-15), .gitattributes did not have any special treatment of a
leading '!'. The docs, however, always said

The rules how the pattern matches paths are the same as in
`.gitignore` files; see linkgit:gitignore[5].

By those rules, leading '!' means pattern negation. So 82dce99
correctly determined that this kind of line makes no sense and should
be disallowed.

However, users who actually had a rule for files starting with a '!'
are in a bad position: before 82dce99 '!' matched that literal
character, so it is conceivable that users have .gitattributes with
such lines in them. After 82dce99 the unescaped version was
disallowed in such a way that git outright refuses to run(!) most
commands in the presence of such a .gitattributes. It therefore
becomes very hard to fix, let alone work with, such repositories.

Let's at least allow the users to fix their repos: change the fatal
error into a warning.

Reported-by: mathstuf@gmail.com
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'wk/user-manual' into maintJunio C Hamano Fri, 1 Mar 2013 18:37:40 +0000 (10:37 -0800)

Merge branch 'wk/user-manual' into maint

* wk/user-manual:
user-manual: Flesh out uncommitted changes and submodule updates
user-manual: Use request-pull to generate "please pull" text
user-manual: Reorganize the reroll sections, adding 'git rebase -i'

Documentation/githooks: Fix linkgitAndrew Wong Fri, 1 Mar 2013 17:23:57 +0000 (12:23 -0500)

Documentation/githooks: Fix linkgit

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Wed, 27 Feb 2013 18:10:28 +0000 (10:10 -0800)

Merge branch 'maint'

* maint:
Update draft release notes to 1.8.1.5
Documentation/submodule: Add --force to update synopsis

Update draft release notes to 1.8.1.5Junio C Hamano Wed, 27 Feb 2013 18:09:59 +0000 (10:09 -0800)

Update draft release notes to 1.8.1.5

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

Merge branch 'ef/non-ascii-parse-options-error-diag... Junio C Hamano Wed, 27 Feb 2013 18:04:26 +0000 (10:04 -0800)

Merge branch 'ef/non-ascii-parse-options-error-diag' into maint

* ef/non-ascii-parse-options-error-diag:
parse-options: report uncorrupted multi-byte options

Merge branch 'wk/man-deny-current-branch-is-default... Junio C Hamano Wed, 27 Feb 2013 18:01:21 +0000 (10:01 -0800)

Merge branch 'wk/man-deny-current-branch-is-default-these-days' into maint

* wk/man-deny-current-branch-is-default-these-days:
user-manual: typofix (ofthe->of the)
user-manual: Update for receive.denyCurrentBranch=refuse

Merge branch 'jn/less-reconfigure' into maintJunio C Hamano Wed, 27 Feb 2013 17:59:19 +0000 (09:59 -0800)

Merge branch 'jn/less-reconfigure' into maint

* jn/less-reconfigure:
Makefile: avoid infinite loop on configure.ac change

Merge branch 'mh/maint-ceil-absolute'Junio C Hamano Wed, 27 Feb 2013 17:47:27 +0000 (09:47 -0800)

Merge branch 'mh/maint-ceil-absolute'

An earlier workaround designed to help people who list logical
directories that will not match what getcwd(3) returns in the
GIT_CEILING_DIRECTORIES had an adverse effect when it is slow to
stat and readlink a directory component of an element listed on it.

* mh/maint-ceil-absolute:
Provide a mechanism to turn off symlink resolution in ceiling paths

git-send-email: use git credential to obtain passwordMichal Nazarewicz Tue, 12 Feb 2013 14:02:33 +0000 (15:02 +0100)

git-send-email: use git credential to obtain password

If smtp_user is provided but smtp_pass is not, instead of
prompting for password, make git-send-email use git
credential command instead.

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

Git.pm: add interface for git credential commandMichal Nazarewicz Tue, 12 Feb 2013 14:02:32 +0000 (15:02 +0100)

Git.pm: add interface for git credential command

Add a credential() function which is an interface to the git
credential command. The code is heavily based on credential_*
functions in <contrib/mw-to-git/git-remote-mediawiki>.

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

archive-zip: fix compressed size for stored export... René Scharfe Wed, 27 Feb 2013 10:20:21 +0000 (11:20 +0100)

archive-zip: fix compressed size for stored export-subst files

Currently ZIP archive entries of files with export-subst attribute are
broken if they are stored uncompressed.

We get the size of a file from sha1_object_info(), but this number is
likely wrong for files whose contents are changed due to export-subst
placeholder expansion. We use sha1_file_to_archive() to get the
expanded file contents and size in that case. We proceed to use that
size for the uncompressed size field (good), but the compressed size
field is set based on the size from sha1_object_info() (bad).

This matters only for uncompressed files because for deflated files
we use the correct value after compression is done. And for files
without export-subst expansion the sizes from sha1_object_info() and
sha1_file_to_archive() are the same, so they are unaffected as well.

This patch fixes the issue by setting the compressed size based on the
uncompressed size only after we actually know the latter.

Also make use of the test file substfile1 to check for the breakage;
it was only stored verbatim so far. For that purpose, set the
attribute export-subst and replace its contents with the expected
expansion after committing.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/submodule: Add --force to update synopsisBrad King Wed, 27 Feb 2013 00:41:34 +0000 (19:41 -0500)

Documentation/submodule: Add --force to update synopsis

In commit 9db31bdf (submodule: Add --force option for git submodule
update, 2011-04-01) we added the option to the implementation's usage
synopsis but forgot to add it to the synopsis in the command
documentation. Add the option to the synopsis in the same location it
is reported in usage and re-wrap the options to avoid long lines.

Signed-off-by: Brad King <brad.king@kitware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: filter-branch env-filter exampleTadeusz Andrzej Kadłubowski Thu, 21 Feb 2013 20:23:38 +0000 (21:23 +0100)

Documentation: filter-branch env-filter example

filter-branch --env-filter example that shows how to change the email
address in all commits before publishing a project.

Signed-off-by: Tadeusz Andrzej Kadłubowski <yess@hell.org.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-filter-branch.txt: clarify ident variables usageTadeusz Andrzej Kadłubowski Thu, 21 Feb 2013 20:22:50 +0000 (21:22 +0100)

git-filter-branch.txt: clarify ident variables usage

There is a rare edge case of git-filter-branch: a filter that unsets
identity variables from the environment. Link to git-commit-tree
clarifies how Git would fall back in this situation.

Signed-off-by: Tadeusz Andrzej Kadłubowski <yess@hell.org.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'for-junio' of git://github.com/kusma/gitJunio C Hamano Tue, 26 Feb 2013 17:17:08 +0000 (09:17 -0800)

Merge branch 'for-junio' of git://github.com/kusma/git

* 'for-junio' of git://github.com/kusma/git:
wincred: improve compatibility with windows versions
wincred: accept CRLF on stdin to simplify console usage