gitweb.git
peek-remote: remove deprecated alias of ls-remoteJohn Keeping Sun, 10 Nov 2013 15:47:31 +0000 (15:47 +0000)

peek-remote: remove deprecated alias of ls-remote

This has been deprecated since commit 87194d2 (Deprecate peek-remote,
2007-11-24), included in version 1.5.4.

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

lost-found: remove deprecated commandJohn Keeping Sun, 10 Nov 2013 15:47:30 +0000 (15:47 +0000)

lost-found: remove deprecated command

"git lost-found" has been deprecated since commit fc8b5f0 (Deprecate
git-lost-found, 2007-11-08), included in version 1.5.4.

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

tar-tree: remove deprecated commandJohn Keeping Sun, 10 Nov 2013 15:47:29 +0000 (15:47 +0000)

tar-tree: remove deprecated command

"git tar-tree" has been a thin wrapper around "git archive" since commit
fd88d9c (Remove upload-tar and make git-tar-tree a thin wrapper to
git-archive, 2006-09-24), which also made it print a message indicating
that git-tar-tree is deprecated.

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

repo-config: remove deprecated alias for "git config"John Keeping Sun, 10 Nov 2013 15:47:28 +0000 (15:47 +0000)

repo-config: remove deprecated alias for "git config"

The release notes for Git 1.5.4 say that "git repo-config" will be
removed in the next feature release. Since Git 2.0 is nearly here,
remove it.

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

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

Sync with 1.8.4.3

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

Git 1.8.4.3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sync with maint

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

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

Start preparing for 1.8.4.3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Git 1.8.5-rc1

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

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

Merge branch 'fc/trivial'

A random collection of style fixes and minor doc updates.

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

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

Update draft release notes to 1.8.5

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

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

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

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

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

Merge branch 'vd/doc-unpack-objects'

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

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

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

Test fixup to a topic recently graduated.

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

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

Merge branch 'jk/subtree-install-fix'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Update draft release notes to 1.8.5

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

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

Merge branch 'sb/refs-code-cleanup'

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

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

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

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

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

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

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

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

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

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

Merge branch 'jk/reset-p-current-head-fix'Junio C Hamano Fri, 1 Nov 2013 14:38:49 +0000 (07:38 -0700)

Merge branch 'jk/reset-p-current-head-fix'

"git reset -p HEAD" has codepath to special case it from resetting
to contents of other commits, but recent change broke it.

* jk/reset-p-current-head-fix:
reset: pass real rev name to add--interactive
add-interactive: handle unborn branch in patch mode

Merge branch 'jk/pack-corruption-post-mortem'Junio C Hamano Fri, 1 Nov 2013 14:38:46 +0000 (07:38 -0700)

Merge branch 'jk/pack-corruption-post-mortem'

* jk/pack-corruption-post-mortem:
howto: add article on recovering a corrupted object

Merge branch 'jk/for-each-ref-skip-parsing'Junio C Hamano Fri, 1 Nov 2013 14:38:41 +0000 (07:38 -0700)

Merge branch 'jk/for-each-ref-skip-parsing'

* jk/for-each-ref-skip-parsing:
for-each-ref: avoid loading objects to print %(objectname)

Merge branch 'ap/remote-hg-unquote-cquote'Junio C Hamano Fri, 1 Nov 2013 14:38:35 +0000 (07:38 -0700)

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

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

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

Merge branch 'jl/submodule-mv'Junio C Hamano Fri, 1 Nov 2013 14:38:26 +0000 (07:38 -0700)

Merge branch 'jl/submodule-mv'

Moving a regular file in a repository with a .gitmodules file was
producing a warning 'Could not find section in .gitmodules where
path=<filename>'.

* jl/submodule-mv:
mv: Fix spurious warning when moving a file in presence of submodules

Documentation: restore a space in unpack-objects usageVivien Didelot Thu, 31 Oct 2013 21:41:11 +0000 (17:41 -0400)

Documentation: restore a space in unpack-objects usage

The commit 87b7b84 removed a space in the unpack-objects usage, which
makes the synopsis a bit confusing. This patch simply restores it.

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

setup: trivial style fixesFelipe Contreras Thu, 31 Oct 2013 09:25:46 +0000 (03:25 -0600)

setup: trivial style fixes

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

run-command: trivial style fixesFelipe Contreras Thu, 31 Oct 2013 09:25:45 +0000 (03:25 -0600)

run-command: trivial style fixes

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

diff: trivial style fixFelipe Contreras Thu, 31 Oct 2013 09:25:44 +0000 (03:25 -0600)

diff: trivial style fix

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

revision: trivial style fixesFelipe Contreras Thu, 31 Oct 2013 09:25:43 +0000 (03:25 -0600)

revision: trivial style fixes

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

pretty: trivial style fixFelipe Contreras Thu, 31 Oct 2013 09:25:42 +0000 (03:25 -0600)

pretty: trivial style fix

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

describe: trivial style fixesFelipe Contreras Thu, 31 Oct 2013 09:25:41 +0000 (03:25 -0600)

describe: trivial style fixes

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

transport-helper: trivial style fixFelipe Contreras Thu, 31 Oct 2013 09:25:40 +0000 (03:25 -0600)

transport-helper: trivial style fix

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

sha1-name: trivial style cleanupFelipe Contreras Thu, 31 Oct 2013 09:25:39 +0000 (03:25 -0600)

sha1-name: trivial style cleanup

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

branch: trivial style fixFelipe Contreras Thu, 31 Oct 2013 09:25:38 +0000 (03:25 -0600)

branch: trivial style fix

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

revision: add missing includeFelipe Contreras Thu, 31 Oct 2013 09:25:36 +0000 (03:25 -0600)

revision: add missing include

Otherwise we might not have 'struct diff_options'.

[jc: needs a matching follow-up patch to remove inclusion of diff.h
from *.c files that do not themselves use anything from diff.h]

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

doc/pull: clarify the illustrationsJunio C Hamano Thu, 31 Oct 2013 20:43:35 +0000 (13:43 -0700)

doc/pull: clarify the illustrations

The second illustration that shows the history after "git pull"
spelled the remote-tracking branch with "remotes/" prefix, which
is not necessary. Drop it.

To match the assumption that a remote-tracking branch is used to
keep track of the advancement of the master at the origin, update
the first illustration that shows the history before "git pull"
to show the distinction between the master currently at origin and
the stale origin/master remote-tracking branch.

Noticed-by: Felipe Contreras <felipe.contreras@gmail.com>
Helped-by: Max Horn <max@quendi.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t: replace pulls with mergesFelipe Contreras Thu, 31 Oct 2013 09:25:33 +0000 (03:25 -0600)

t: replace pulls with merges

This is what the code intended.

No functional changes.

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

merge: simplify ff-only optionFelipe Contreras Thu, 31 Oct 2013 09:25:32 +0000 (03:25 -0600)

merge: simplify ff-only option

No functional changes.

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

Fix '\%o' for printf from coreutilsKacper Kornet Thu, 31 Oct 2013 11:51:32 +0000 (12:51 +0100)

Fix '\%o' for printf from coreutils

The printf utility provided by coreutils when interpreting '\%o' format
does not recognize %o as formatting directive. For example
printf '\%o 0 returns \%o and warning: ignoring excess arguments,
starting with ‘0’, which results in failed tests in
t5309-pack-delta-cycles.sh. In most shells the test ends with success as
the printf is a builtin utility.

Fix it by using '\\%o' which is interpreted consistently in all versions
of printf.

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

web--browse: Add support for xdg-openRüdiger Sonderfeld Sat, 26 Oct 2013 17:43:54 +0000 (19:43 +0200)

web--browse: Add support for xdg-open

xdg-open is a tool similar to git-web--browse. It opens a file or URL in the
user's preferred application. It could probably be made default at least on
Linux with a graphical environment.

Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3200: do not open a HTML manual page when DEFAULT_MAN_... Johannes Sixt Sat, 26 Oct 2013 18:48:46 +0000 (20:48 +0200)

t3200: do not open a HTML manual page when DEFAULT_MAN_FORMAT is html

We have the build configuration option DEFAULT_MAN_FORMAT to choose a
format different from man pages to be used by 'git help' when no format
is requested explicitly. Since 65db0443 (Set the default help format to
html for msys builds, 2013-06-04) we use html on Windows by default.

There is one test in t3200-branch.sh that invokes a help page. The
intent of the redirections applied to the command invocation is to avoid
that the man page viewer interferes with the automated test. But when
the default format is not "man", this does not have the intended effect,
and the HTML manual page is opened during the test run. Request "man"
format explicitly to keep the test silent.

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

Git 1.8.5-rc0 v1.8.5-rc0Junio C Hamano Wed, 30 Oct 2013 19:17:47 +0000 (12:17 -0700)

Git 1.8.5-rc0

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

Merge branch 'maint'Junio C Hamano Wed, 30 Oct 2013 19:11:22 +0000 (12:11 -0700)

Merge branch 'maint'

* maint:
t5570: Update for clone-progress-to-stderr branch

Merge branch 'jk/refs-c-squelch-gcc'Junio C Hamano Wed, 30 Oct 2013 19:11:03 +0000 (12:11 -0700)

Merge branch 'jk/refs-c-squelch-gcc'

* jk/refs-c-squelch-gcc:
silence gcc array-bounds warning

Merge branch 'jk/date-c-double-semicolon'Junio C Hamano Wed, 30 Oct 2013 19:11:01 +0000 (12:11 -0700)

Merge branch 'jk/date-c-double-semicolon'

* jk/date-c-double-semicolon:
drop redundant semicolon in empty while

Merge branch 'nd/lift-path-max'Junio C Hamano Wed, 30 Oct 2013 19:10:56 +0000 (12:10 -0700)

Merge branch 'nd/lift-path-max'

* nd/lift-path-max:
checkout_entry(): clarify the use of topath[] parameter
entry.c: convert checkout_entry to use strbuf

Merge branch 'tr/valgrind-test-fix'Junio C Hamano Wed, 30 Oct 2013 19:10:52 +0000 (12:10 -0700)

Merge branch 'tr/valgrind-test-fix'

* tr/valgrind-test-fix:
Revert "test-lib: allow prefixing a custom string before "ok N" etc."
Revert "test-lib: support running tests under valgrind in parallel"

Merge branch 'tr/gitk-doc-update'Junio C Hamano Wed, 30 Oct 2013 19:10:50 +0000 (12:10 -0700)

Merge branch 'tr/gitk-doc-update'

* tr/gitk-doc-update:
Documentation: revamp gitk(1)

Merge branch 'jl/pack-transfer-avoid-double-close'Junio C Hamano Wed, 30 Oct 2013 19:10:45 +0000 (12:10 -0700)

Merge branch 'jl/pack-transfer-avoid-double-close'

The codepath that send_pack() calls pack_objects() mistakenly
closed the same file descriptor twice, leading to potentially
closing a wrong file descriptor that was opened in the meantime.

* jl/pack-transfer-avoid-double-close:
Clear fd after closing to avoid double-close error

Merge branch 'sb/git-svn-docs-indent-with-ht'Junio C Hamano Wed, 30 Oct 2013 19:10:34 +0000 (12:10 -0700)

Merge branch 'sb/git-svn-docs-indent-with-ht'

* sb/git-svn-docs-indent-with-ht:
git-svn docs: Use tabs consistently within the ascii doc

Merge branch 'nd/magic-pathspec'Junio C Hamano Wed, 30 Oct 2013 19:10:29 +0000 (12:10 -0700)

Merge branch 'nd/magic-pathspec'

All callers to parse_pathspec() must choose between getting no
pathspec or one path that is limited to the current directory
when there is no paths given on the command line, but there were
two callers that violated this rule, triggering a BUG().

* nd/magic-pathspec:
Fix calling parse_pathspec with no paths nor PATHSPEC_PREFER_* flags

Merge branch 'nd/gc-lock-against-each-other'Junio C Hamano Wed, 30 Oct 2013 19:10:27 +0000 (12:10 -0700)

Merge branch 'nd/gc-lock-against-each-other'

* nd/gc-lock-against-each-other:
gc: remove gc.pid file at end of execution

Merge branch 'hn/log-graph-color-octopus'Junio C Hamano Wed, 30 Oct 2013 19:10:21 +0000 (12:10 -0700)

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

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

Merge branch 'mm/checkout-auto-track-fix'Junio C Hamano Wed, 30 Oct 2013 19:10:16 +0000 (12:10 -0700)

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

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

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

Merge branch 'sg/t3600-nul-sha1-fix'Junio C Hamano Wed, 30 Oct 2013 19:10:09 +0000 (12:10 -0700)

Merge branch 'sg/t3600-nul-sha1-fix'

* sg/t3600-nul-sha1-fix:
t3600: fix broken "choking git rm" test

Merge branch 'fc/styles'Junio C Hamano Wed, 30 Oct 2013 19:10:06 +0000 (12:10 -0700)

Merge branch 'fc/styles'

C coding style fixes.

* fc/styles:
block-sha1/sha1.c: have SP around arithmetic operators
base85.c: have SP around arithmetic operators
archive.c: have SP around arithmetic operators
alloc.c: have SP around arithmetic operators
abspath.c: have SP around arithmetic operators
alias: have SP around arithmetic operators
C: have space around && and || operators

Merge branch 'jc/upload-pack-send-symref'Junio C Hamano Wed, 30 Oct 2013 19:10:00 +0000 (12:10 -0700)

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

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

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

Merge branch 'jk/http-auth-redirects'Junio C Hamano Wed, 30 Oct 2013 19:09:53 +0000 (12:09 -0700)

Merge branch 'jk/http-auth-redirects'

Handle the case where http transport gets redirected during the
authorization request better.

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

subtree: add makefile target for html docsJeff King Tue, 29 Oct 2013 16:30:37 +0000 (12:30 -0400)

subtree: add makefile target for html docs

The Makefile currently builds the roff manpage, but not the
html form. As some people may prefer the latter, let's make
it an option to build that, too. We also wire it into "make
doc" so that it is built by default.

This patch does not build or install it as part of
"install-doc"; that would require extra infrastructure to
handle installing the html as we do in git's regular
Documentation/ tree. That can come later if somebody is
interested.

Tested-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5570: Update for clone-progress-to-stderr branchBrian Gernhardt Mon, 21 Oct 2013 17:54:12 +0000 (13:54 -0400)

t5570: Update for clone-progress-to-stderr branch

git clone now reports its progress to standard error, which throws off
t5570. Using test_i18ngrep instead of test_cmp allows the test to be
more flexible by only looking for the expected error and ignoring any
other output from the program.

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Avoid difference in tr semantics between System V and BSDBen Walton Mon, 28 Oct 2013 21:43:00 +0000 (21:43 +0000)

Avoid difference in tr semantics between System V and BSD

Solaris' tr (both /usr/bin/ and /usr/xpg4/bin) uses the System V
semantics for tr whereby string1's length is truncated to the length
of string2 if string2 is shorter. The BSD semantics, as used by GNU tr
see string2 padded to the length of string1 using the final character
in string2. POSIX explicitly doesn't specify the correct behavior
here, making both equally valid.

This difference means that Solaris' native tr implementations produce
different results for tr ":\t\n" "\0" than GNU tr. This breaks a few
tests in t0008-ignores.sh.

Possible fixes for this are to make string2 be "\0\0\0" or "[\0*]".

Instead, use perl to perform these transliterations which means we
don't need to worry about the difference at all. Since we're replacing
tr with perl, we also use perl to replace the sed invocations used to
transform the files.

Replace four identical transforms with a function named
broken_c_unquote. Replace the other two identical transforms with a
fuction named broken_c_unquote_verbose.

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

for-each-ref: avoid loading objects to print %(objectname)Jeff King Wed, 30 Oct 2013 06:50:16 +0000 (02:50 -0400)

for-each-ref: avoid loading objects to print %(objectname)

If you ask for-each-ref to print each ref and its object,
like:

git for-each-ref --format='%(objectname) %(refname)'

this should involve little more work than looking at the ref
files (and packed-refs) themselves. However, for-each-ref
will actually load each object from disk just to print its
sha1. For most repositories, this isn't a big deal, but it
can be noticeable if you have a large number of refs to
print. Here are best-of-five timings for the command above
on a repo with ~10K refs:

[before]
real 0m0.112s
user 0m0.092s
sys 0m0.016s

[after]
real 0m0.014s
user 0m0.012s
sys 0m0.000s

This patch checks for %(objectname) and %(objectname:short)
before we actually parse the object (and the rest of the
code is smart enough to avoid parsing if we have filled all
of our placeholders).

Note that we can't simply move the objectname parsing code
into the early loop. If the "deref" form %(*objectname) is
used, then we do need to parse the object in order to peel
the tag. So instead of moving the code, we factor it out
into a separate function that can be called for both cases.

While we're at it, we add some basic tests for the
dereferenced placeholders, which were not tested at all
before. This helps ensure we didn't regress that case.

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

cvsserver: Determinize output to combat Perl 5.18 hash... Anders Kaseorg Wed, 30 Oct 2013 08:44:43 +0000 (04:44 -0400)

cvsserver: Determinize output to combat Perl 5.18 hash randomization

Perl 5.18 randomizes the seed used by its hash function, so iterating
through hashes results in different orders from run to run:
http://perldoc.perl.org/perl5180delta.html#Hash-overhaul

This usually broke t9400 (gitcvs.dbname, gitcvs.ext.dbname, when
running cmp on two .sqlite files) and t9402 (check [cvswork3] diff,
when running test_cmp on two diffs).

To fix this, hide the internal order of hashes with sort when sending
output or running database queries.

(An alternative workaround is PERL_HASH_SEED=0, but this seems nicer.)

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t: use perl instead of "$PERL_PATH" where applicableJeff King Tue, 29 Oct 2013 01:23:03 +0000 (21:23 -0400)

t: use perl instead of "$PERL_PATH" where applicable

As of the last commit, we can use "perl" instead of
"$PERL_PATH" when running tests, as the former is now a
function which uses the latter. As the shorter "perl" is
easier on the eyes, let's switch to using it everywhere.

This is not quite a mechanical s/$PERL_PATH/perl/
replacement, though. There are some places where we invoke
perl from a script we generate on the fly, and those scripts
do not have access to our internal shell functions. The
result can be double-checked by running:

ln -s /bin/false bin-wrappers/perl
make test

which continues to pass even after this patch.

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

t: provide a perl() function which uses $PERL_PATHJeff King Tue, 29 Oct 2013 01:22:07 +0000 (21:22 -0400)

t: provide a perl() function which uses $PERL_PATH

Once upon a time, we assumed that calling a bare "perl" in
the test scripts was OK, because we would find the perl from
the user's PATH, and we were only asking that perl to do
basic operations that work even on old versions of perl.

Later, we found that some systems really prefer to use
$PERL_PATH even for these basic cases, because the system
perl misbehaves in some way (e.g., by handling line endings
differently). We then switched "perl" invocations to
"$PERL_PATH" to respect the user's choice.

Having to use "$PERL_PATH" is ugly and cumbersome, though.
Instead, let's provide a perl() shell function that tests
can use, which will transparently do the right thing.

Unfortunately, test writers still have to use $PERL_PATH in
certain situations, so we still need to keep the advice in
the README.

Note that this may fix test failures in t5004, t5503, t6002,
t6003, t6300, t8001, and t8002, depending on your system's
perl setup. All of these can be detected by running:

ln -s /bin/false bin-wrappers/perl
make test

which fails before this patch, and passes after.

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

doc/howto: warn about (dumb)http server document being... Sitaram Chamarty Sat, 21 Sep 2013 02:23:06 +0000 (07:53 +0530)

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

Describe when it is still applicable, and tell people where to go
for most normal cases.

Signed-off-by: Sitaram Chamarty <sitaram@atc.tcs.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/README: tests can use perl even with NO_PERLJonathan Nieder Mon, 28 Oct 2013 19:22:16 +0000 (12:22 -0700)

t/README: tests can use perl even with NO_PERL

The git build system supports a NO_PERL switch to avoid installing
perl bindings or other features (like "git add --patch") that rely on
perl on runtime, but even with NO_PERL it has not been possible for a
long time to run tests without perl. Helpers such as

nul_to_q () {
"$PERL_PATH" -pe 'y/\000/Q/'
}

use perl as a better tr or sed and are regularly used in tests without
worrying to add a PERL prerequisite.

Perl is portable enough that it seems fine to keep relying on it for
this kind of thing in tests (and more readable than the alternative of
trying to find POSIXy equivalents). Update the test documentation to
clarify this.

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

Almost -rc0 for 1.8.5Junio C Hamano Mon, 28 Oct 2013 17:52:07 +0000 (10:52 -0700)

Almost -rc0 for 1.8.5

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

Sync with v1.8.4.2Junio C Hamano Mon, 28 Oct 2013 17:51:53 +0000 (10:51 -0700)

Sync with v1.8.4.2

Merge branch 'sb/repack-in-c'Junio C Hamano Mon, 28 Oct 2013 17:43:41 +0000 (10:43 -0700)

Merge branch 'sb/repack-in-c'

Finishing touches to update documentation.

* sb/repack-in-c:
Reword repack documentation to no longer state it's a script

Merge branch 'sg/prompt-svn-remote-fix'Junio C Hamano Mon, 28 Oct 2013 17:43:38 +0000 (10:43 -0700)

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

Bash portability fix.

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

Merge branch 'jk/split-broken-ident'Junio C Hamano Mon, 28 Oct 2013 17:43:32 +0000 (10:43 -0700)

Merge branch 'jk/split-broken-ident'

Make the fall-back parsing of commit objects with broken author or
committer lines more robust to pick up the timestamps.

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

Merge branch 'jk/remote-literal-string-leakfix'Junio C Hamano Mon, 28 Oct 2013 17:43:28 +0000 (10:43 -0700)

Merge branch 'jk/remote-literal-string-leakfix'

* jk/remote-literal-string-leakfix:
remote: do not copy "origin" string literal

Merge branch 'ew/keepalive'Junio C Hamano Mon, 28 Oct 2013 17:43:24 +0000 (10:43 -0700)

Merge branch 'ew/keepalive'

* ew/keepalive:
http: use curl's tcp keepalive if available
http: enable keepalive on TCP sockets

Merge branch 'jc/revision-range-unpeel'Junio C Hamano Mon, 28 Oct 2013 17:43:16 +0000 (10:43 -0700)

Merge branch 'jc/revision-range-unpeel'

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

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

Merge branch 'jx/relative-path-regression-fix'Junio C Hamano Mon, 28 Oct 2013 17:42:29 +0000 (10:42 -0700)

Merge branch 'jx/relative-path-regression-fix'

* jx/relative-path-regression-fix:
Use simpler relative_path when set_git_dir
relative_path should honor dos-drive-prefix
test: use unambigous leading path (/foo) for MSYS

Git 1.8.4.2 v1.8.4.2Junio C Hamano Mon, 28 Oct 2013 17:21:29 +0000 (10:21 -0700)

Git 1.8.4.2

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

Merge branch 'jk/clone-progress-to-stderr' into maintJunio C Hamano Mon, 28 Oct 2013 17:19:24 +0000 (10:19 -0700)

Merge branch 'jk/clone-progress-to-stderr' into maint

"git clone" gave some progress messages to the standard output, not to
the standard error, and did not allow suppressing them with the
"--no-progress" option.

* jk/clone-progress-to-stderr:
clone: always set transport options
clone: treat "checking connectivity" like other progress
clone: send diagnostic messages to stderr

Merge branch 'jk/format-patch-from' into maintJunio C Hamano Mon, 28 Oct 2013 17:18:43 +0000 (10:18 -0700)

Merge branch 'jk/format-patch-from' into maint

"format-patch --from=<whom>" forgot to omit unnecessary in-body from
line, i.e. when <whom> is the same as the real author.

* jk/format-patch-from:
format-patch: print in-body "From" only when needed

Merge branch 'jk/shortlog-tolerate-broken-commit' into... Junio C Hamano Mon, 28 Oct 2013 17:17:31 +0000 (10:17 -0700)

Merge branch 'jk/shortlog-tolerate-broken-commit' into maint

"git shortlog" used to choke and die when there is a malformed commit
(e.g. missing authors); it now simply ignore such a commit and keeps
going.

* jk/shortlog-tolerate-broken-commit:
shortlog: ignore commits with missing authors