gitweb.git
Merge branch 'jk/maint-pack-objects-compete-with-delete'Junio C Hamano Fri, 21 Oct 2011 23:04:33 +0000 (16:04 -0700)

Merge branch 'jk/maint-pack-objects-compete-with-delete'

* jk/maint-pack-objects-compete-with-delete:
downgrade "packfile cannot be accessed" errors to warnings
pack-objects: protect against disappearing packs

Merge branch 'jk/daemon-msgs'Junio C Hamano Fri, 21 Oct 2011 23:04:32 +0000 (16:04 -0700)

Merge branch 'jk/daemon-msgs'

* jk/daemon-msgs:
daemon: give friendlier error messages to clients

Conflicts:
daemon.c

Merge branch 'sc/difftool-skip'Junio C Hamano Fri, 21 Oct 2011 23:04:32 +0000 (16:04 -0700)

Merge branch 'sc/difftool-skip'

* sc/difftool-skip:
t7800: avoid arithmetic expansion notation
git-difftool: allow skipping file by typing 'n' at prompt

Merge branch 'jc/unseekable-bundle'Junio C Hamano Fri, 21 Oct 2011 23:04:32 +0000 (16:04 -0700)

Merge branch 'jc/unseekable-bundle'

* jc/unseekable-bundle:
bundle: add parse_bundle_header() helper function
bundle: allowing to read from an unseekable fd

Conflicts:
transport.c

Merge branch 'ph/transport-with-gitfile'Junio C Hamano Fri, 21 Oct 2011 23:04:32 +0000 (16:04 -0700)

Merge branch 'ph/transport-with-gitfile'

* ph/transport-with-gitfile:
Fix is_gitfile() for files too small or larger than PATH_MAX to be a gitfile
Add test showing git-fetch groks gitfiles
Teach transport about the gitfile mechanism
Learn to handle gitfiles in enter_repo
enter_repo: do not modify input

Sync with maintJunio C Hamano Fri, 21 Oct 2011 18:08:10 +0000 (11:08 -0700)

Sync with maint

Almost ready for 1.7.7.1Junio C Hamano Fri, 21 Oct 2011 18:01:07 +0000 (11:01 -0700)

Almost ready for 1.7.7.1

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

Merge branch 'nd/maint-autofix-tag-in-head' into maintJunio C Hamano Fri, 21 Oct 2011 17:49:26 +0000 (10:49 -0700)

Merge branch 'nd/maint-autofix-tag-in-head' into maint

* nd/maint-autofix-tag-in-head:
Accept tags in HEAD or MERGE_HEAD
merge: remove global variable head[]
merge: use return value of resolve_ref() to determine if HEAD is invalid
merge: keep stash[] a local variable

Conflicts:
builtin/merge.c

Merge branch 'jc/apply-blank-at-eof-fix' into maintJunio C Hamano Fri, 21 Oct 2011 17:49:26 +0000 (10:49 -0700)

Merge branch 'jc/apply-blank-at-eof-fix' into maint

* jc/apply-blank-at-eof-fix:
apply --whitespace=error: correctly report new blank lines at end

Merge branch 'jn/no-g-plus-s-on-bsd' into maintJunio C Hamano Fri, 21 Oct 2011 17:49:25 +0000 (10:49 -0700)

Merge branch 'jn/no-g-plus-s-on-bsd' into maint

* jn/no-g-plus-s-on-bsd:
Makefile: do not set setgid bit on directories on GNU/kFreeBSD

Merge branch 'rs/diff-cleanup-records-fix' into maintJunio C Hamano Fri, 21 Oct 2011 17:49:25 +0000 (10:49 -0700)

Merge branch 'rs/diff-cleanup-records-fix' into maint

* rs/diff-cleanup-records-fix:
diff: resurrect XDF_NEED_MINIMAL with --minimal
Revert removal of multi-match discard heuristic in 27af01

Merge branch 'il/archive-err-signal' into maintJunio C Hamano Fri, 21 Oct 2011 17:49:25 +0000 (10:49 -0700)

Merge branch 'il/archive-err-signal' into maint

* il/archive-err-signal:
Support ERR in remote archive like in fetch/push

Merge branch 'js/maint-merge-one-file-osx-expr' into... Junio C Hamano Fri, 21 Oct 2011 17:49:25 +0000 (10:49 -0700)

Merge branch 'js/maint-merge-one-file-osx-expr' into maint

* js/maint-merge-one-file-osx-expr:
merge-one-file: fix "expr: non-numeric argument"

Merge branch 'jm/maint-apply-detects-corrupt-patch... Junio C Hamano Fri, 21 Oct 2011 17:49:24 +0000 (10:49 -0700)

Merge branch 'jm/maint-apply-detects-corrupt-patch-header' into maint

* jm/maint-apply-detects-corrupt-patch-header:
fix "git apply --index ..." not to deref NULL

Merge branch 'jc/checkout-from-tree-keep-local-changes... Junio C Hamano Fri, 21 Oct 2011 17:49:24 +0000 (10:49 -0700)

Merge branch 'jc/checkout-from-tree-keep-local-changes' into maint

* jc/checkout-from-tree-keep-local-changes:
checkout $tree $path: do not clobber local changes in $path not in $tree

Merge branch 'mm/maint-config-explicit-bool-display... Junio C Hamano Fri, 21 Oct 2011 17:49:24 +0000 (10:49 -0700)

Merge branch 'mm/maint-config-explicit-bool-display' into maint

* mm/maint-config-explicit-bool-display:
config: display key_delim for config --bool --get-regexp

tests: add missing executable bitsJeff King Thu, 20 Oct 2011 21:58:33 +0000 (17:58 -0400)

tests: add missing executable bits

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

Update draft release notes to 1.7.8Junio C Hamano Wed, 19 Oct 2011 05:03:30 +0000 (22:03 -0700)

Update draft release notes to 1.7.8

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

t/t3000-ls-files-others.sh: use $SHELL_PATH to run... Brandon Casey Wed, 19 Oct 2011 16:26:02 +0000 (09:26 -0700)

t/t3000-ls-files-others.sh: use $SHELL_PATH to run git-new-workdir script

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'js/merge-edit-option'Junio C Hamano Wed, 19 Oct 2011 17:49:27 +0000 (10:49 -0700)

Merge branch 'js/merge-edit-option'

* js/merge-edit-option:
Teach merge the '[-e|--edit]' option

Conflicts:
builtin/merge.c

Merge branch 'rs/diff-whole-function'Junio C Hamano Wed, 19 Oct 2011 17:49:13 +0000 (10:49 -0700)

Merge branch 'rs/diff-whole-function'

* rs/diff-whole-function:
diff: add option to show whole functions as context
xdiff: factor out get_func_line()

Merge branch 'rs/pickaxe'Junio C Hamano Wed, 19 Oct 2011 17:49:09 +0000 (10:49 -0700)

Merge branch 'rs/pickaxe'

* rs/pickaxe:
pickaxe: factor out pickaxe
pickaxe: give diff_grep the same signature as has_changes
pickaxe: pass diff_options to contains and has_changes
pickaxe: factor out has_changes
pickaxe: plug regex/kws leak
pickaxe: plug regex leak
pickaxe: plug diff filespec leak with empty needle

Merge branch 'js/no-cherry-pick-head-after-punted'Junio C Hamano Wed, 19 Oct 2011 17:49:05 +0000 (10:49 -0700)

Merge branch 'js/no-cherry-pick-head-after-punted'

* js/no-cherry-pick-head-after-punted:
cherry-pick: do not give irrelevant advice when cherry-pick punted
revert.c: defer writing CHERRY_PICK_HEAD till it is safe to do so

Merge branch 'bk/submodule-in-recursive-merge'Junio C Hamano Wed, 19 Oct 2011 17:48:38 +0000 (10:48 -0700)

Merge branch 'bk/submodule-in-recursive-merge'

* bk/submodule-in-recursive-merge:
submodule: Search for merges only at end of recursive merge
submodule: Demonstrate known breakage during recursive merge

Merge branch 'jm/maint-apply-detects-corrupt-patch... Junio C Hamano Wed, 19 Oct 2011 17:48:29 +0000 (10:48 -0700)

Merge branch 'jm/maint-apply-detects-corrupt-patch-header'

* jm/maint-apply-detects-corrupt-patch-header:
fix "git apply --index ..." not to deref NULL

Merge branch 'jk/config-test-cleanup'Junio C Hamano Wed, 19 Oct 2011 17:47:59 +0000 (10:47 -0700)

Merge branch 'jk/config-test-cleanup'

* jk/config-test-cleanup:
t1300: attempting to remove a non-existent .git/config is not an error

t1300: attempting to remove a non-existent .git/config... Johannes Sixt Wed, 19 Oct 2011 07:37:06 +0000 (09:37 +0200)

t1300: attempting to remove a non-existent .git/config is not an error

Since some tests before test number 79 ("quoting") are skipped, .git/config
does not exist and 'rm .git/config' fails. Fix this particular case.

While at it, move other instance of 'rm .git/config' that occur in this
file inside the test function to document that the test cases want to
protect themselves from remnants of earlier tests.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'js/log-show-children'Junio C Hamano Wed, 19 Oct 2011 04:59:12 +0000 (21:59 -0700)

Merge branch 'js/log-show-children'

* js/log-show-children:
log --children

Merge branch 'cb/httpd-test-fix-port'Junio C Hamano Wed, 19 Oct 2011 04:59:11 +0000 (21:59 -0700)

Merge branch 'cb/httpd-test-fix-port'

* cb/httpd-test-fix-port:
use test number as port number

Merge branch 'jn/gitweb-manpages'Junio C Hamano Wed, 19 Oct 2011 04:59:11 +0000 (21:59 -0700)

Merge branch 'jn/gitweb-manpages'

* jn/gitweb-manpages:
gitweb: Add gitweb manpages to 'gitweb' package in git.spec
Documentation: Add gitweb config variables to git-config(1)
Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages
gitweb: Add gitweb(1) manpage for gitweb itself
gitweb: Add gitweb.conf(5) manpage for gitweb configuration files

Merge branch 'pt/mingw-misc-fixes'Junio C Hamano Wed, 19 Oct 2011 04:59:11 +0000 (21:59 -0700)

Merge branch 'pt/mingw-misc-fixes'

* pt/mingw-misc-fixes:
t9901: fix line-ending dependency on windows
mingw: ensure sockets are initialized before calling gethostname
mergetools: use the correct tool for Beyond Compare 3 on Windows
t9300: do not run --cat-blob-fd related tests on MinGW
git-svn: On MSYS, escape and quote SVN_SSH also if set by the user
t9001: do not fail only due to CR/LF issues
t1020: disable the pwd test on MinGW

Merge branch 'md/smtp-tls-hello-again'Junio C Hamano Wed, 19 Oct 2011 04:59:10 +0000 (21:59 -0700)

Merge branch 'md/smtp-tls-hello-again'

* md/smtp-tls-hello-again:
send-email: Honour SMTP domain when using TLS

Merge branch 'maint'Junio C Hamano Wed, 19 Oct 2011 04:42:41 +0000 (21:42 -0700)

Merge branch 'maint'

* maint:
strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline()

strbuf.c: remove unnecessary strbuf_grow() from strbuf_... Brandon Casey Thu, 6 Oct 2011 04:21:33 +0000 (23:21 -0500)

strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline()

This use of strbuf_grow() is a historical artifact that was once used to
ensure that strbuf.buf was allocated and properly nul-terminated. This
was added before the introduction of the slopbuf in b315c5c0, which
guarantees that strbuf.buf always points to a usable nul-terminated string.
So let's remove it.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.8Junio C Hamano Tue, 18 Oct 2011 05:07:57 +0000 (22:07 -0700)

Update draft release notes to 1.7.8

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

Merge branch 'jk/http-auth'Junio C Hamano Tue, 18 Oct 2011 04:37:15 +0000 (21:37 -0700)

Merge branch 'jk/http-auth'

* jk/http-auth:
http_init: accept separate URL parameter
http: use hostname in credential description
http: retry authentication failures for all http requests
remote-curl: don't retry auth failures with dumb protocol
improve httpd auth tests
url: decode buffers that are not NUL-terminated

Merge branch 'js/check-ref-format-test-mingw'Junio C Hamano Tue, 18 Oct 2011 04:37:15 +0000 (21:37 -0700)

Merge branch 'js/check-ref-format-test-mingw'

* js/check-ref-format-test-mingw:
t1402-check-ref-format: skip tests of refs beginning with slash on Windows

Merge branch 'jk/pull-rebase-with-work-tree'Junio C Hamano Tue, 18 Oct 2011 04:37:14 +0000 (21:37 -0700)

Merge branch 'jk/pull-rebase-with-work-tree'

* jk/pull-rebase-with-work-tree:
pull,rebase: handle GIT_WORK_TREE better

Conflicts:
git-pull.sh

Merge branch 'jk/config-test-cleanup'Junio C Hamano Tue, 18 Oct 2011 04:37:14 +0000 (21:37 -0700)

Merge branch 'jk/config-test-cleanup'

* jk/config-test-cleanup:
t1300: test mixed-case variable retrieval
t1300: put git invocations inside test function

Merge branch 'bc/attr-ignore-case'Junio C Hamano Tue, 18 Oct 2011 04:37:13 +0000 (21:37 -0700)

Merge branch 'bc/attr-ignore-case'

* bc/attr-ignore-case:
attr.c: respect core.ignorecase when matching attribute patterns
attr: read core.attributesfile from git_default_core_config
builtin/mv.c: plug miniscule memory leak
cleanup: use internal memory allocation wrapper functions everywhere
attr.c: avoid inappropriate access to strbuf "buf" member

Conflicts:
transport-helper.c

Merge branch 'sg/completion'Junio C Hamano Tue, 18 Oct 2011 04:37:13 +0000 (21:37 -0700)

Merge branch 'sg/completion'

* sg/completion:
completion: unite --format and --pretty for 'log' and 'show'
completion: unite --reuse-message and --reedit-message for 'notes'

Merge branch 'mm/maint-config-explicit-bool-display'Junio C Hamano Tue, 18 Oct 2011 04:37:12 +0000 (21:37 -0700)

Merge branch 'mm/maint-config-explicit-bool-display'

* mm/maint-config-explicit-bool-display:
config: display key_delim for config --bool --get-regexp

Merge branch 'tc/fetch-leak'Junio C Hamano Tue, 18 Oct 2011 04:37:12 +0000 (21:37 -0700)

Merge branch 'tc/fetch-leak'

* tc/fetch-leak:
fetch: plug two leaks on error exit in store_updated_refs

Conflicts:
builtin/fetch.c

Merge branch 'jk/name-hash-dirent'Junio C Hamano Tue, 18 Oct 2011 04:37:11 +0000 (21:37 -0700)

Merge branch 'jk/name-hash-dirent'

* jk/name-hash-dirent:
fix phantom untracked files when core.ignorecase is set

Merge branch 'ef/mingw-syslog'Junio C Hamano Tue, 18 Oct 2011 04:37:11 +0000 (21:37 -0700)

Merge branch 'ef/mingw-syslog'

* ef/mingw-syslog:
mingw: avoid using strbuf in syslog

Merge branch 'tm/completion-push-set-upstream'Junio C Hamano Tue, 18 Oct 2011 04:37:11 +0000 (21:37 -0700)

Merge branch 'tm/completion-push-set-upstream'

* tm/completion-push-set-upstream:
completion: push --set-upstream

Merge branch 'tm/completion-commit-fixup-squash'Junio C Hamano Tue, 18 Oct 2011 04:37:10 +0000 (21:37 -0700)

Merge branch 'tm/completion-commit-fixup-squash'

* tm/completion-commit-fixup-squash:
completion: commit --fixup and --squash
completion: unite --reuse-message and --reedit-message handling

Merge branch 'ph/push-to-delete-nothing'Junio C Hamano Tue, 18 Oct 2011 04:37:10 +0000 (21:37 -0700)

Merge branch 'ph/push-to-delete-nothing'

* ph/push-to-delete-nothing:
receive-pack: don't pass non-existent refs to post-{receive,update} hooks

Conflicts:
builtin/receive-pack.c

Merge branch 'jc/checkout-from-tree-keep-local-changes'Junio C Hamano Tue, 18 Oct 2011 04:37:09 +0000 (21:37 -0700)

Merge branch 'jc/checkout-from-tree-keep-local-changes'

* jc/checkout-from-tree-keep-local-changes:
checkout $tree $path: do not clobber local changes in $path not in $tree

Merge branch 'js/bisect-no-checkout'Junio C Hamano Tue, 18 Oct 2011 04:37:09 +0000 (21:37 -0700)

Merge branch 'js/bisect-no-checkout'

* js/bisect-no-checkout:
bisect: fix exiting when checkout failed in bisect_start()

use test number as port numberClemens Buchacher Mon, 17 Oct 2011 19:55:47 +0000 (21:55 +0200)

use test number as port number

Test 5550 was apparently using the default port number by mistake.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

resolve_gitlink_packed_ref(): fix mismergeJunio C Hamano Mon, 17 Oct 2011 18:43:30 +0000 (11:43 -0700)

resolve_gitlink_packed_ref(): fix mismerge

2c5c66b (Merge branch 'jp/get-ref-dir-unsorted', 2011-10-10) merged a
topic that forked from the mainline before a new helper function
get_packed_refs() refactored code to read packed-refs file. The merge made
the call to the helper function with an incorrect argument. The parameter
to the function has to be a path to the submodule.

Fix the mismerge.

Helped-by: Mark Levedahl <mlevedahl@gmail.com>
Helped-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Add gitweb manpages to 'gitweb' package in... Jakub Narebski Sun, 16 Oct 2011 11:07:35 +0000 (13:07 +0200)

gitweb: Add gitweb manpages to 'gitweb' package in git.spec

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: Add gitweb config variables to git-config(1)Jakub Narebski Sun, 16 Oct 2011 11:07:34 +0000 (13:07 +0200)

Documentation: Add gitweb config variables to git-config(1)

Add a list of gitweb config variables to git-config(1) manpage, just
linking to gitweb(1) or gitweb.conf(5).

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: Link to gitweb(1) and gitweb.conf(5... Jakub Narebski Sun, 16 Oct 2011 11:07:33 +0000 (13:07 +0200)

Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages

Add link to gitweb(1) in "SEE ALSO" section of git-instaweb(1) manpage,
and "Ancillary Commands" section of git(1) manpage (the latter by the
way of command-list.txt file).

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Add gitweb(1) manpage for gitweb itselfJakub Narebski Sun, 16 Oct 2011 11:07:32 +0000 (13:07 +0200)

gitweb: Add gitweb(1) manpage for gitweb itself

Most of what is in gitweb.txt it has been pulled directly from the
README and INSTALL files of gitweb.

Current version is somewhat based on structure of SVN::Web manpage
(one of web interfaces for Subversion).

gitweb.conf(5) i.e. gitweb configuration manpage now refers to
appropriate sections in gitweb(1). gitweb/README now refers to
gitweb/INSTALL and gitweb(1) manpage. gitweb/INSTALL now refers to
gitweb.conf(5) and gitweb(1).

Inspired-by: Drew Northup <drew.northup@maine.edu>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Add gitweb.conf(5) manpage for gitweb configura... Drew Northup Sun, 16 Oct 2011 11:07:31 +0000 (13:07 +0200)

gitweb: Add gitweb.conf(5) manpage for gitweb configuration files

Much of what is in gitweb.conf.txt has been pulled directly from the
README file of gitweb. The manpage was supplemented with description
of missing gitweb config variables, and with description of gitweb's
%features.

There remains a bit of redundancy, which should be reduced if
possible... but I think some of duplication of information is
inevitable.

[jn: Improved, extended, removed duplicate info from README]

Signed-off-by: Drew Northup <drew.northup@maine.edu>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.8Junio C Hamano Sun, 16 Oct 2011 17:58:35 +0000 (10:58 -0700)

Update draft release notes to 1.7.8

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

Merge git://repo.or.cz/git-guiJunio C Hamano Sun, 16 Oct 2011 10:01:44 +0000 (03:01 -0700)

Merge git://repo.or.cz/git-gui

* git://repo.or.cz/git-gui:
git-gui: incremental goto line in blame view
git-gui: clear the goto line input when hiding
git-gui: only accept numbers in the goto-line input
git-gui: search and linenumber input are mutual exclusive in the blame view
git-gui: deal with unknown files when pressing the "Stage Changed" button
git-gui: drop the 'n' and 'Shift-n' bindings from the last patch.
git-gui: Add keyboard shortcuts for search and goto commands in blame view.
git-gui: Enable jumping to a specific line number in blame view.
Fix tooltip display with multiple monitors on windows.
Fix typo: existant->existent
git-gui: updated translator README for current procedures.
git-gui: warn when trying to commit on a detached head
git-gui: Corrected a typo in the Swedish translation of 'Continue'

git-svn: Allow certain refs to be ignoredMichael Olson Mon, 10 Oct 2011 23:27:37 +0000 (16:27 -0700)

git-svn: Allow certain refs to be ignored

Implement a new --ignore-refs option which specifies a regex of refs
to ignore while importing svn history.

This is a useful supplement to the --ignore-paths option, as that
option only operates on the contents of branches and tags, not the
branches and tags themselves.

Signed-off-by: Michael Olson <mwolson@gnu.org>
Acked-by: Eric Wong <normalperson@yhbt.net>

git svn dcommit: new option --interactive.Frédéric Heitzmann Fri, 16 Sep 2011 21:02:01 +0000 (23:02 +0200)

git svn dcommit: new option --interactive.

Allow the user to check the patch set before it is commited to SVN. It is
then possible to accept/discard one patch, accept all, or quit.

This interactive mode is similar with 'git send email' behaviour. However,
'git svn dcommit' returns as soon as one patch is discarded.
Part of the code was taken from git-send-email.perl (see 'ask' function)

Tests several combinations of potential answers to
'git svn dcommit --interactive'. For each of them, test whether patches
were commited to SVN or not.

Thanks-to Eric Wong <normalperson@yhbt.net> for the initial idea.

Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Frédéric Heitzmann <frederic.heitzmann@gmail.com>

http_init: accept separate URL parameterJeff King Fri, 14 Oct 2011 07:40:40 +0000 (09:40 +0200)

http_init: accept separate URL parameter

The http_init function takes a "struct remote". Part of its
initialization procedure is to look at the remote's url and
grab some auth-related parameters. However, using the url
included in the remote is:

- wrong; the remote-curl helper may have a separate,
unrelated URL (e.g., from remote.*.pushurl). Looking at
the remote's configured url is incorrect.

- incomplete; http-fetch doesn't have a remote, so passes
NULL. So http_init never gets to see the URL we are
actually going to use.

- cumbersome; http-push has a similar problem to
http-fetch, but actually builds a fake remote just to
pass in the URL.

Instead, let's just add a separate URL parameter to
http_init, and all three callsites can pass in the
appropriate information.

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

http: use hostname in credential descriptionMichael J Gruber Fri, 14 Oct 2011 07:40:39 +0000 (09:40 +0200)

http: use hostname in credential description

Until now, a request for an http password looked like:

Username:
Password:

Now it will look like:

Username for 'example.com':
Password for 'example.com':

Picked-from: Jeff King <peff@peff.net>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

daemon: give friendlier error messages to clientsJeff King Fri, 14 Oct 2011 21:19:21 +0000 (17:19 -0400)

daemon: give friendlier error messages to clients

When the git-daemon is asked about an inaccessible repository, it simply
hangs up the connection without saying anything further. This makes it
hard to distinguish between a repository we cannot access (e.g., due to
typo), and a service or network outage.

Instead, let's print an "ERR" line, which git clients understand since
v1.6.1 (2008-12-24).

Because there is a risk of leaking information about non-exported
repositories, by default all errors simply say "access denied or
repository not exported". Sites which don't have hidden repositories, or
don't care, can pass a flag to turn on more specific messages.

Signed-off-by: Jeff King <peff@peff.net>
Helped-by: Sitaram Chamarty <sitaramc@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Sun, 16 Oct 2011 03:56:50 +0000 (20:56 -0700)

Sync with maint

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

Prepare for 1.7.7.1Junio C Hamano Sun, 16 Oct 2011 03:55:12 +0000 (20:55 -0700)

Prepare for 1.7.7.1

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

Merge branch 'ms/patch-id-with-overlong-line' into... Junio C Hamano Sun, 16 Oct 2011 03:46:39 +0000 (20:46 -0700)

Merge branch 'ms/patch-id-with-overlong-line' into maint

* ms/patch-id-with-overlong-line:
patch-id.c: use strbuf instead of a fixed buffer

Merge branch 'jc/maint-bundle-too-quiet' into maintJunio C Hamano Sun, 16 Oct 2011 03:46:39 +0000 (20:46 -0700)

Merge branch 'jc/maint-bundle-too-quiet' into maint

* jc/maint-bundle-too-quiet:
Teach progress eye-candy to fetch_refs_from_bundle()

Merge branch 'jk/filter-branch-require-clean-work-tree... Junio C Hamano Sun, 16 Oct 2011 03:46:38 +0000 (20:46 -0700)

Merge branch 'jk/filter-branch-require-clean-work-tree' into maint

* jk/filter-branch-require-clean-work-tree:
filter-branch: use require_clean_work_tree

Merge branch 'jc/maint-fsck-fwrite-size-check' into... Junio C Hamano Sun, 16 Oct 2011 03:46:38 +0000 (20:46 -0700)

Merge branch 'jc/maint-fsck-fwrite-size-check' into maint

* jc/maint-fsck-fwrite-size-check:
fsck: do not abort upon finding an empty blob

Merge branch 'bk/ancestry-path' into maintJunio C Hamano Sun, 16 Oct 2011 03:46:38 +0000 (20:46 -0700)

Merge branch 'bk/ancestry-path' into maint

* bk/ancestry-path:
t6019: avoid refname collision on case-insensitive systems
revision: do not include sibling history in --ancestry-path output
revision: keep track of the end-user input from the command line
rev-list: Demonstrate breakage with --ancestry-path --all

Merge branch 'jk/maint-fetch-submodule-check-fix' into... Junio C Hamano Sun, 16 Oct 2011 03:46:38 +0000 (20:46 -0700)

Merge branch 'jk/maint-fetch-submodule-check-fix' into maint

* jk/maint-fetch-submodule-check-fix:
fetch: avoid quadratic loop checking for updated submodules

Merge branch 'tr/mergetool-valgrind' into maintJunio C Hamano Sun, 16 Oct 2011 03:46:37 +0000 (20:46 -0700)

Merge branch 'tr/mergetool-valgrind' into maint

* tr/mergetool-valgrind:
Symlink mergetools scriptlets into valgrind wrappers

Merge branch 'nm/grep-object-sha1-lock' into maintJunio C Hamano Sun, 16 Oct 2011 03:46:37 +0000 (20:46 -0700)

Merge branch 'nm/grep-object-sha1-lock' into maint

* nm/grep-object-sha1-lock:
grep: Fix race condition in delta_base_cache

Conflicts:
builtin/grep.c

Merge branch 'jc/diff-index-unpack' into maintJunio C Hamano Sun, 16 Oct 2011 03:46:36 +0000 (20:46 -0700)

Merge branch 'jc/diff-index-unpack' into maint

* jc/diff-index-unpack:
diff-index: pass pathspec down to unpack-trees machinery
unpack-trees: allow pruning with pathspec
traverse_trees(): allow pruning with pathspec

Merge branch 'mm/rebase-i-exec-edit' into maintJunio C Hamano Sun, 16 Oct 2011 03:46:36 +0000 (20:46 -0700)

Merge branch 'mm/rebase-i-exec-edit' into maint

* mm/rebase-i-exec-edit:
rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree
rebase -i: clean error message for --continue after failed exec

send-email: Honour SMTP domain when using TLSMatthew Daley Sat, 15 Oct 2011 08:44:52 +0000 (04:44 -0400)

send-email: Honour SMTP domain when using TLS

git-send-email sends two SMTP EHLOs when using TLS encryption, however
only the first, unencrypted EHLO uses the SMTP domain that can be
optionally specified by the user (--smtp-domain). This is because the
call to hello() that produces the second, encrypted EHLO does not pass
the SMTP domain as an argument, and hence a default of
'localhost.localdomain' is used instead.

Fix by passing in the SMTP domain in this call.

Signed-off-by: Matthew Daley <mattjd@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/grep-untracked-exclude'Junio C Hamano Sun, 16 Oct 2011 03:27:19 +0000 (20:27 -0700)

Merge branch 'jc/grep-untracked-exclude'

* jc/grep-untracked-exclude:
grep: fix the error message that mentions --exclude

Merge branch 'jc/maint-grep-untracked-exclude' into... Junio C Hamano Sun, 16 Oct 2011 03:26:52 +0000 (20:26 -0700)

Merge branch 'jc/maint-grep-untracked-exclude' into jc/grep-untracked-exclude

* jc/maint-grep-untracked-exclude:
grep: fix the error message that mentions --exclude

Conflicts:
builtin/grep.c

grep: fix the error message that mentions --excludeBert Wesarg Sat, 15 Oct 2011 18:36:22 +0000 (20:36 +0200)

grep: fix the error message that mentions --exclude

Missing rename from --exclude to --standard-exclude.

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9901: fix line-ending dependency on windowsPat Thoyts Sat, 15 Oct 2011 14:05:17 +0000 (15:05 +0100)

t9901: fix line-ending dependency on windows

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

mingw: ensure sockets are initialized before calling... Pat Thoyts Sat, 15 Oct 2011 14:05:20 +0000 (15:05 +0100)

mingw: ensure sockets are initialized before calling gethostname

If the Windows sockets subsystem has not been initialized yet then an
attempt to get the hostname returns an error and prints a warning to the
console. This solves this issue for msysGit as seen with 'git fetch'.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

mergetools: use the correct tool for Beyond Compare... Pat Thoyts Sat, 15 Oct 2011 14:05:19 +0000 (15:05 +0100)

mergetools: use the correct tool for Beyond Compare 3 on Windows

On Windows the bcompare tool launches a graphical program and does
not wait for it to terminate. A separate 'bcomp' tool is provided which
will wait for the view to exit so we use this instead.

Reported-by: Werner BEROUX <werner@beroux.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-gui: incremental goto line in blame viewBert Wesarg Thu, 13 Oct 2011 13:48:15 +0000 (15:48 +0200)

git-gui: incremental goto line in blame view

The view jumps now to the given line number after each key press.

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: clear the goto line input when hidingBert Wesarg Thu, 13 Oct 2011 13:48:13 +0000 (15:48 +0200)

git-gui: clear the goto line input when hiding

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: only accept numbers in the goto-line inputBert Wesarg Thu, 13 Oct 2011 13:48:14 +0000 (15:48 +0200)

git-gui: only accept numbers in the goto-line input

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: search and linenumber input are mutual exclusi... Bert Wesarg Thu, 13 Oct 2011 13:48:12 +0000 (15:48 +0200)

git-gui: search and linenumber input are mutual exclusive in the blame view

It was possible to open the search input (Ctrl+S) and the goto-line input
(Ctrl+G) at the same time. Prevent this.

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

t9300: do not run --cat-blob-fd related tests on MinGWJohannes Schindelin Fri, 14 Oct 2011 22:53:33 +0000 (23:53 +0100)

t9300: do not run --cat-blob-fd related tests on MinGW

As diagnosed by Johannes Sixt, msys.dll does not hand through file
descriptors > 2 to child processes, so these test cases cannot passes when
run through an MSys bash.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: On MSYS, escape and quote SVN_SSH also if... Sebastian Schuberth Fri, 14 Oct 2011 22:53:31 +0000 (23:53 +0100)

git-svn: On MSYS, escape and quote SVN_SSH also if set by the user

While GIT_SSH does not require any escaping / quoting (e.g. for paths
containing spaces), SVN_SSH requires it due to its use in a Perl script.

Previously, SVN_SSH has only been escaped and quoted automatically if it
was unset and thus derived from GIT_SSH. For user convenience, do the
escaping and quoting also for a SVN_SSH set by the user. This way, the
user is able to use the same unescaped and unquoted syntax for GIT_SSH
and SVN_SSH.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9001: do not fail only due to CR/LF issuesJohannes Schindelin Fri, 14 Oct 2011 22:53:30 +0000 (23:53 +0100)

t9001: do not fail only due to CR/LF issues

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t1020: disable the pwd test on MinGWJohannes Schindelin Fri, 14 Oct 2011 22:53:28 +0000 (23:53 +0100)

t1020: disable the pwd test on MinGW

It fails both for line ending and for DOS path reasons.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: Fix %config_path_settings handlingCord Seele Fri, 14 Oct 2011 20:53:31 +0000 (22:53 +0200)

send-email: Fix %config_path_settings handling

cec5dae (use new Git::config_path() for aliasesfile, 2011-09-30) broke
the expansion of aliases.

This was caused by treating %config_path_settings, newly introduced in
said patch, like %config_bool_settings instead of like %config_settings.
Copy from %config_settings, making it more readable.

While at it add basic test for expansion of aliases, and for path
expansion, which would catch this error.

Nb. there were a few issues that were responsible for this error:

1. %config_bool_settings and %config_settings despite similar name have
different semantic.

%config_bool_settings values are arrays where the first element is
(reference to) the variable to set, and second element is default
value... which admittedly is a bit cryptic. More readable if more
verbose option would be to use hash reference, e.g.:

my %config_bool_settings = (
"thread" => { variable => \$thread, default => 1},
[...]

%config_settings values are either either reference to scalar variable
or reference to array. In second case it means that option (or config
option) is multi-valued. BTW. this is similar to what Getopt::Long does.

2. In cec5dae (use new Git::config_path() for aliasesfile, 2011-09-30)
the setting "aliasesfile" was moved from %config_settings to newly
introduced %config_path_settings. But the loop that parses settings
from %config_path_settings was copy'n'pasted *wrongly* from
%config_bool_settings instead of from %config_settings.

It looks like cec5dae author cargo-culted this change...

3. 994d6c6 (send-email: address expansion for common mailers, 2006-05-14)
didn't add test for alias expansion to t9001-send-email.sh

Signed-off-by: Cord Seele <cowose@gmail.com>
Tested-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Fri, 14 Oct 2011 19:51:24 +0000 (12:51 -0700)

Merge branch 'maint'

* maint:
t1304: fall back to $USER if $LOGNAME is not defined

downgrade "packfile cannot be accessed" errors to warningsJeff King Fri, 14 Oct 2011 18:04:16 +0000 (14:04 -0400)

downgrade "packfile cannot be accessed" errors to warnings

These can happen if another process simultaneously prunes a
pack. But that is not usually an error condition, because a
properly-running prune should have repacked the object into
a new pack. So we will notice that the pack has disappeared
unexpectedly, print a message, try other packs (possibly
after re-scanning the list of packs), and find it in the new
pack.

Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pack-objects: protect against disappearing packsJeff King Fri, 14 Oct 2011 18:03:48 +0000 (14:03 -0400)

pack-objects: protect against disappearing packs

It's possible that while pack-objects is running, a
simultaneously running prune process might delete a pack
that we are interested in. Because we load the pack indices
early on, we know that the pack contains our item, but by
the time we try to open and map it, it is gone.

Since c715f78, we already protect against this in the normal
object access code path, but pack-objects accesses the packs
at a lower level. In the normal access path, we call
find_pack_entry, which will call find_pack_entry_one on each
pack index, which does the actual lookup. If it gets a hit,
we will actually open and verify the validity of the
matching packfile (using c715f78's is_pack_valid). If we
can't open it, we'll issue a warning and pretend that we
didn't find it, causing us to go on to the next pack (or on
to loose objects).

Furthermore, we will cache the descriptor to the opened
packfile. Which means that later, when we actually try to
access the object, we are likely to still have that packfile
opened, and won't care if it has been unlinked from the
filesystem.

Notice the "likely" above. If there is another pack access
in the interim, and we run out of descriptors, we could
close the pack. And then a later attempt to access the
closed pack could fail (we'll try to re-open it, of course,
but it may have been deleted). In practice, this doesn't
happen because we tend to look up items and then access them
immediately.

Pack-objects does not follow this code path. Instead, it
accesses the packs at a much lower level, using
find_pack_entry_one directly. This means we skip the
is_pack_valid check, and may end up with the name of a
packfile, but no open descriptor.

We can add the same is_pack_valid check here. Unfortunately,
the access patterns of pack-objects are not quite as nice
for keeping lookup and object access together. We look up
each object as we find out about it, and the only later when
writing the packfile do we necessarily access it. Which
means that the opened packfile may be closed in the interim.

In practice, however, adding this check still has value, for
three reasons.

1. If you have a reasonable number of packs and/or a
reasonable file descriptor limit, you can keep all of
your packs open simultaneously. If this is the case,
then the race is impossible to trigger.

2. Even if you can't keep all packs open at once, you
may end up keeping the deleted one open (i.e., you may
get lucky).

3. The race window is shortened. You may notice early that
the pack is gone, and not try to access it. Triggering
the problem without this check means deleting the pack
any time after we read the list of index files, but
before we access the looked-up objects. Triggering it
with this check means deleting the pack means deleting
the pack after we do a lookup (and successfully access
the packfile), but before we access the object. Which
is a smaller window.

Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t1304: fall back to $USER if $LOGNAME is not definedRené Scharfe Fri, 14 Oct 2011 17:44:45 +0000 (19:44 +0200)

t1304: fall back to $USER if $LOGNAME is not defined

For some reason $LOGNAME is not set anymore for me after an upgrade from
Ubuntu 11.04 to 11.10. Use $USER in such a case.

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

t7800: avoid arithmetic expansion notationJunio C Hamano Fri, 14 Oct 2011 18:07:26 +0000 (11:07 -0700)

t7800: avoid arithmetic expansion notation

The construct "var=$(( something ..." is interpreted by some shells as
arithmetic expansion, even when it clearly is not, e.g.

var=$((foo; bar) | baz)

Avoid the issue by giving an extra SP to help the parser, i.e.

var=$( (foo; bar) | baz )

Noticed by Michael J Gruber.

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

Update draft release notes to 1.7.8Junio C Hamano Fri, 14 Oct 2011 05:15:39 +0000 (22:15 -0700)

Update draft release notes to 1.7.8

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

Merge branch 'js/maint-merge-one-file-osx-expr'Junio C Hamano Fri, 14 Oct 2011 02:03:24 +0000 (19:03 -0700)

Merge branch 'js/maint-merge-one-file-osx-expr'

* js/maint-merge-one-file-osx-expr:
merge-one-file: fix "expr: non-numeric argument"

Merge branch 'jn/ident-from-etc-mailname'Junio C Hamano Fri, 14 Oct 2011 02:03:24 +0000 (19:03 -0700)

Merge branch 'jn/ident-from-etc-mailname'

* jn/ident-from-etc-mailname:
ident: do not retrieve default ident when unnecessary
ident: check /etc/mailname if email is unknown