gitweb.git
Merge branch 'maint-1.7.6' into maint-1.7.7Junio C Hamano Thu, 12 Jan 2012 03:11:00 +0000 (19:11 -0800)

Merge branch 'maint-1.7.6' into maint-1.7.7

* maint-1.7.6:
attr: fix leak in free_attr_elem
t2203: fix wrong commit command

attr: fix leak in free_attr_elemJeff King Thu, 12 Jan 2012 03:05:03 +0000 (22:05 -0500)

attr: fix leak in free_attr_elem

This function frees the individual "struct match_attr"s we
have allocated, but forgot to free the array holding their
pointers, leading to a minor memory leak (but it can add up
after checking attributes for paths in many directories).

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

t2203: fix wrong commit commandNguyễn Thái Ngọc Duy Wed, 11 Jan 2012 03:21:38 +0000 (10:21 +0700)

t2203: fix wrong commit command

Add commit message to avoid commit's aborting due to the lack of
commit message, not because there are INTENT_TO_ADD entries in index.

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

Prepare for 1.7.7.6Junio C Hamano Tue, 10 Jan 2012 22:16:49 +0000 (14:16 -0800)

Prepare for 1.7.7.6

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

Merge the attributes fix in from maint-1.6.6 branchJunio C Hamano Tue, 10 Jan 2012 22:14:26 +0000 (14:14 -0800)

Merge the attributes fix in from maint-1.6.6 branch

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

Prepare for 1.7.6.6Junio C Hamano Tue, 10 Jan 2012 21:11:03 +0000 (13:11 -0800)

Prepare for 1.7.6.6

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

Documentation: rerere's rr-cache auto-creation and... Junio C Hamano Tue, 10 Jan 2012 14:57:27 +0000 (15:57 +0100)

Documentation: rerere's rr-cache auto-creation and rerere.enabled

The description of rerere.enabled left the user in the dark as to who
might create an rr-cache directory. Add a note that simply invoking
rerere does this.

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

attr.c: clarify the logic to pop attr_stackJunio C Hamano Tue, 10 Jan 2012 20:28:38 +0000 (12:28 -0800)

attr.c: clarify the logic to pop attr_stack

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

attr.c: make bootstrap_attr_stack() leave earlyJunio C Hamano Tue, 10 Jan 2012 20:27:37 +0000 (12:27 -0800)

attr.c: make bootstrap_attr_stack() leave early

Thas would de-dent the body of a function that has grown rather large over
time, making it a bit easier to read.

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

attr: drop misguided defensive codingJeff King Tue, 10 Jan 2012 19:32:06 +0000 (14:32 -0500)

attr: drop misguided defensive coding

In prepare_attr_stack, we pop the old elements of the stack
(which were left from a previous lookup and may or may not
be useful to us). Our loop to do so checks that we never
reach the top of the stack. However, the code immediately
afterwards will segfault if we did actually reach the top of
the stack.

Fortunately, this is not an actual bug, since we will never
pop all of the stack elements (we will always keep the root
gitattributes, as well as the builtin ones). So the extra
check in the loop condition simply clutters the code and
makes the intent less clear. Let's get rid of it.

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

attr: don't confuse prefixes with leading directoriesJeff King Tue, 10 Jan 2012 18:08:21 +0000 (13:08 -0500)

attr: don't confuse prefixes with leading directories

When we prepare the attribute stack for a lookup on a path,
we start with the cached stack from the previous lookup
(because it is common to do several lookups in the same
directory hierarchy). So the first thing we must do in
preparing the stack is to pop any entries that point to
directories we are no longer interested in.

For example, if our stack contains gitattributes for:

foo/bar/baz
foo/bar
foo

but we want to do a lookup in "foo/bar/bleep", then we want
to pop the top element, but retain the others.

To do this we walk down the stack from the top, popping
elements that do not match our lookup directory. However,
the test do this simply checked strncmp, meaning we would
mistake "foo/bar/baz" as a leading directory of
"foo/bar/baz_plus". We must also check that the character
after our match is '/', meaning we matched the whole path
component.

There are two special cases to consider:

1. The top of our attr stack has the empty path. So we
must not check for '/', but rather special-case the
empty path, which always matches.

2. Typically when matching paths in this way, you would
also need to check for a full string match (i.e., the
character after is '\0'). We don't need to do so in
this case, though, because our path string is actually
just the directory component of the path to a file
(i.e., we know that it terminates with "/", because the
filename comes after that).

Helped-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.7.6' into maint-1.7.7Junio C Hamano Fri, 6 Jan 2012 20:35:05 +0000 (12:35 -0800)

Merge branch 'maint-1.7.6' into maint-1.7.7

* maint-1.7.6:
Documentation: rerere.enabled is the primary way to configure rerere

Documentation: rerere.enabled is the primary way to... Thomas Rast Fri, 6 Jan 2012 13:08:02 +0000 (14:08 +0100)

Documentation: rerere.enabled is the primary way to configure rerere

The wording seems to suggest that creating the directory is needed and the
setting of rerere.enabled is only for disabling the feature by setting it
to 'false'. But the configuration is meant to be the primary control and
setting it to 'true' will enable it; the rr-cache directory will be
created as necessary and the user does not have to create it.

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

Merge branch 'maint-1.7.6' into maint-1.7.7Junio C Hamano Tue, 3 Jan 2012 21:47:15 +0000 (13:47 -0800)

Merge branch 'maint-1.7.6' into maint-1.7.7

* maint-1.7.6:
Documentation: read-tree --prefix works with existing subtrees
Add MYMETA.json to perl/.gitignore

docs: describe behavior of relative submodule URLsJens Lehmann Sun, 1 Jan 2012 15:13:16 +0000 (16:13 +0100)

docs: describe behavior of relative submodule URLs

Since the relative submodule URLs have been introduced in f31a522a2d, they
do not conform to the rules for resolving relative URIs but rather to
those of relative directories.

Document that behavior.

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

Documentation: read-tree --prefix works with existing... Clemens Buchacher Sat, 31 Dec 2011 11:50:56 +0000 (12:50 +0100)

Documentation: read-tree --prefix works with existing subtrees

Since 34110cd4 (Make 'unpack_trees()' have a separate source and
destination index) it is no longer true that a subdirectory with
the same prefix must not exist.

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

Add MYMETA.json to perl/.gitignoreJack Nagel Thu, 29 Dec 2011 04:42:05 +0000 (22:42 -0600)

Add MYMETA.json to perl/.gitignore

ExtUtils::MakeMaker generates MYMETA.json in addition to MYMETA.yml
since version 6.57_07. As it suggests, it is just meta information about
the build and is cleaned up with 'make clean', so it should be ignored.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.7.5 v1.7.7.5Junio C Hamano Wed, 14 Dec 2011 05:55:31 +0000 (21:55 -0800)

Git 1.7.7.5

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

Merge branch 'ab/clang-lints' into maint-1.7.7Junio C Hamano Wed, 14 Dec 2011 05:47:51 +0000 (21:47 -0800)

Merge branch 'ab/clang-lints' into maint-1.7.7

* ab/clang-lints:
cast variable in call to free() in builtin/diff.c and submodule.c
apply: get rid of useless x < 0 comparison on a size_t type

Merge branch 'nd/maint-ignore-exclude' into maint-1.7.7Junio C Hamano Wed, 14 Dec 2011 05:47:08 +0000 (21:47 -0800)

Merge branch 'nd/maint-ignore-exclude' into maint-1.7.7

* nd/maint-ignore-exclude:
checkout,merge: loosen overwriting untracked file check based on info/exclude

Merge branch 'maint-1.7.6' into maint-1.7.7Junio C Hamano Wed, 14 Dec 2011 05:44:56 +0000 (21:44 -0800)

Merge branch 'maint-1.7.6' into maint-1.7.7

* maint-1.7.6:
Git 1.7.6.5
blame: don't overflow time buffer
fetch: create status table using strbuf

Conflicts:
Documentation/git.txt
GIT-VERSION-GEN
RelNotes

Git 1.7.6.5 v1.7.6.5Junio C Hamano Wed, 14 Dec 2011 05:30:40 +0000 (21:30 -0800)

Git 1.7.6.5

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

Merge branch 'jk/maint-fetch-status-table' into maint... Junio C Hamano Wed, 14 Dec 2011 05:21:30 +0000 (21:21 -0800)

Merge branch 'jk/maint-fetch-status-table' into maint-1.7.6

* jk/maint-fetch-status-table:
fetch: create status table using strbuf

Merge branch 'jc/maint-name-rev-all' into maint-1.7.6Junio C Hamano Wed, 14 Dec 2011 05:12:34 +0000 (21:12 -0800)

Merge branch 'jc/maint-name-rev-all' into maint-1.7.6

* jc/maint-name-rev-all:
name-rev --all: do not even attempt to describe non-commit object

Merge branch 'ml/mailmap' into maint-1.7.6Junio C Hamano Wed, 14 Dec 2011 05:12:14 +0000 (21:12 -0800)

Merge branch 'ml/mailmap' into maint-1.7.6

* ml/mailmap:
mailmap: xcalloc mailmap_info

Conflicts:
mailmap.c

blame: don't overflow time bufferJeff King Thu, 8 Dec 2011 10:25:54 +0000 (05:25 -0500)

blame: don't overflow time buffer

When showing the raw timestamp, we format the numeric
seconds-since-epoch into a buffer, followed by the timezone
string. This string has come straight from the commit
object. A well-formed object should have a timezone string
of only a few bytes, but we could be operating on data
pushed by a malicious user.

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

fetch: create status table using strbufJeff King Thu, 8 Dec 2011 08:43:19 +0000 (03:43 -0500)

fetch: create status table using strbuf

When we fetch from a remote, we print a status table like:

From url
* [new branch] foo -> origin/foo

We create this table in a static buffer using sprintf. If
the remote refnames are long, they can overflow this buffer
and smash the stack.

Instead, let's use a strbuf to build the string.

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

am: don't persist keepcr flagMartin von Zweigbergk Fri, 9 Dec 2011 07:30:45 +0000 (23:30 -0800)

am: don't persist keepcr flag

The keepcr flag is only used in the split_patches function, which is
only called before a patch application has to stopped for user input,
not after resuming. It is therefore unnecessary to persist the
flag. This seems to have been the case since it was introduced in
ad2c928 (git-am: Add command line parameter `--keep-cr` passing it to
git-mailsplit, 2010-02-27).

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

mingw: give waitpid the correct signatureErik Faye-Lund Thu, 8 Dec 2011 19:39:57 +0000 (20:39 +0100)

mingw: give waitpid the correct signature

POSIX says that last parameter to waitpid should be 'int',
so let's make it so.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git symbolic-ref: documentation fixMichael Haggerty Wed, 7 Dec 2011 15:20:16 +0000 (16:20 +0100)

git symbolic-ref: documentation fix

The old "git symbolic-ref" manpage seemed to imply in one place that
symlinks are still the default way to represent symbolic references
and in another that symlinks are deprecated. Fix the text and shorten
the justification for the change of implementation.

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

Merge branch 'maint-1.7.6' into maint-1.7.7Junio C Hamano Mon, 5 Dec 2011 23:07:49 +0000 (15:07 -0800)

Merge branch 'maint-1.7.6' into maint-1.7.7

* maint-1.7.6:
stripspace: fix outdated comment
Add MYMETA.yml to perl/.gitignore

stripspace: fix outdated commentJeff King Mon, 5 Dec 2011 22:29:15 +0000 (17:29 -0500)

stripspace: fix outdated comment

The comment on top of stripspace() claims that the buffer
will no longer be NUL-terminated. However, this has not been
the case at least since the move to using strbuf in 2007.

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

Add MYMETA.yml to perl/.gitignoreSebastian Morr Fri, 2 Dec 2011 22:55:28 +0000 (23:55 +0100)

Add MYMETA.yml to perl/.gitignore

This file is auto-generated by newer versions of ExtUtils::MakeMaker
(presumably starting with the version shipping with Perl 5.14). It just
contains extra information about the environment and arguments to the
Makefile-building process, and should be ignored.

Signed-off-by: Sebastian Morr <sebastian@morr.cc>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

checkout,merge: loosen overwriting untracked file check... Nguyễn Thái Ngọc Duy Sun, 27 Nov 2011 10:15:32 +0000 (17:15 +0700)

checkout,merge: loosen overwriting untracked file check based on info/exclude

Back in 1127148 (Loosen "working file will be lost" check in
Porcelain-ish - 2006-12-04), git-checkout.sh learned to quietly
overwrite ignored files. Howver the code only took .gitignore files
into account.

Standard ignored files include all specified in .gitignore files in
working directory _and_ $GIT_DIR/info/exclude. This patch makes sure
ignored files in info/exclude can also be overwritten automatically in
the spirit of the original patch.

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

documentation fix: git difftool uses diff tools, not... Thomas Hochstein Mon, 14 Nov 2011 22:55:52 +0000 (23:55 +0100)

documentation fix: git difftool uses diff tools, not merge tools.

Let the documentation for -t list valid *diff* tools,
not valid *merge* tools.

Signed-off-by: Thomas Hochstein <thh@inter.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.7.4 v1.7.7.4Junio C Hamano Fri, 18 Nov 2011 19:28:05 +0000 (11:28 -0800)

Git 1.7.7.4

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

Merge branch 'jc/maint-name-rev-all' into maintJunio C Hamano Fri, 18 Nov 2011 19:14:16 +0000 (11:14 -0800)

Merge branch 'jc/maint-name-rev-all' into maint

* jc/maint-name-rev-all:
name-rev --all: do not even attempt to describe non-commit object

Merge branch 'ml/mailmap' into maintJunio C Hamano Fri, 18 Nov 2011 19:14:00 +0000 (11:14 -0800)

Merge branch 'ml/mailmap' into maint

* ml/mailmap:
mailmap: xcalloc mailmap_info

Conflicts:
mailmap.c

Merge branch 'jn/maint-notes-avoid-va-args' into maintJunio C Hamano Fri, 18 Nov 2011 19:11:50 +0000 (11:11 -0800)

Merge branch 'jn/maint-notes-avoid-va-args' into maint

* jn/maint-notes-avoid-va-args:
notes merge: eliminate OUTPUT macro

Conflicts:
notes-merge.c

Makefile: add missing header file dependenciesJonathan Nieder Fri, 18 Nov 2011 10:02:02 +0000 (04:02 -0600)

Makefile: add missing header file dependencies

When the streaming filter API was introduced in v1.7.7-rc0~60^2~7
(2011-05-20), we forgot to add its header to LIB_H. Most translation
units depend on streaming.h via cache.h.

v1.7.5-rc0~48 (Fix sparse warnings, 2011-03-22) introduced undeclared
dependencies by url.o on url.h and thread-utils.o on thread-utils.h.

Noticed by make CHECK_HEADER_DEPENDENCIES=1.

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

notes merge: eliminate OUTPUT macroJonathan Nieder Fri, 18 Nov 2011 01:27:46 +0000 (19:27 -0600)

notes merge: eliminate OUTPUT macro

The macro is variadic, which breaks support for pre-C99 compilers,
and it hides an "if", which can make code hard to understand on
first reading if some arguments have side-effects.

The OUTPUT macro seems to have been inspired by the "output" function
from merge-recursive. But that function in merge-recursive exists to
indent output based on the level of recursion and there is no similar
justification for such a function in "notes merge".

Noticed with 'make CC="gcc -std=c89 -pedantic"':

notes-merge.c:24:22: warning: anonymous variadic macros were introduced in C99 [-Wvariadic-macros]

Encouraged-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

mailmap: xcalloc mailmap_infoMarc-André Lureau Thu, 17 Nov 2011 01:25:06 +0000 (02:25 +0100)

mailmap: xcalloc mailmap_info

This is to avoid reaching free of uninitialized members.

With an invalid .mailmap (and perhaps in other cases), it can reach
free(mi->name) with garbage for example.

Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

name-rev --all: do not even attempt to describe non... Junio C Hamano Tue, 15 Nov 2011 23:51:05 +0000 (15:51 -0800)

name-rev --all: do not even attempt to describe non-commit object

This even dates back to the very beginning of "git name-rev";
it does not make much sense to dump all objects in the repository
and label non-commits as "undefined".

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

Git 1.7.7.3 v1.7.7.3Junio C Hamano Wed, 9 Nov 2011 00:37:00 +0000 (16:37 -0800)

Git 1.7.7.3

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

Merge branch 'jc/maint-remove-renamed-ref' into maintJunio C Hamano Wed, 9 Nov 2011 00:35:53 +0000 (16:35 -0800)

Merge branch 'jc/maint-remove-renamed-ref' into maint

* jc/maint-remove-renamed-ref:
branch -m/-M: remove undocumented RENAMED-REF

Conflicts:
refs.c

Merge branch 'jm/maint-gitweb-filter-forks-fix' into... Junio C Hamano Wed, 9 Nov 2011 00:26:50 +0000 (16:26 -0800)

Merge branch 'jm/maint-gitweb-filter-forks-fix' into maint

* jm/maint-gitweb-filter-forks-fix:
gitweb: fix regression when filtering out forks

Merge branch 'dm/pack-objects-update' into maintJunio C Hamano Wed, 9 Nov 2011 00:26:45 +0000 (16:26 -0800)

Merge branch 'dm/pack-objects-update' into maint

* dm/pack-objects-update:
pack-objects: don't traverse objects unnecessarily
pack-objects: rewrite add_descendants_to_write_order() iteratively
pack-objects: use unsigned int for counter and offset values
pack-objects: mark add_to_write_order() as inline

docs: Update install-doc-quickJunio C Hamano Tue, 8 Nov 2011 18:17:40 +0000 (10:17 -0800)

docs: Update install-doc-quick

The preformatted documentation pages live in their own repositories
these days. Adjust the installation procedure to the updated layout.

Tested-by: Stefan Naewe <stefan.naewe@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

docs: don't mention --quiet or --exit-code in git-log(1)Jeff King Tue, 8 Nov 2011 21:29:30 +0000 (16:29 -0500)

docs: don't mention --quiet or --exit-code in git-log(1)

These are diff-options, but they don't actually make sense
in the context of log.

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

cast variable in call to free() in builtin/diff.c and... Ævar Arnfjörð Bjarmason Sun, 6 Nov 2011 12:06:23 +0000 (13:06 +0100)

cast variable in call to free() in builtin/diff.c and submodule.c

Both of these free() calls are freeing a "const unsigned char (*)[20]"
type while free() expects a "void *". This results in the following
warning under clang 2.9:

builtin/diff.c:185:7: warning: passing 'const unsigned char (*)[20]' to parameter of type 'void *' discards qualifiers
free(parent);
^~~~~~

submodule.c:394:7: warning: passing 'const unsigned char (*)[20]' to parameter of type 'void *' discards qualifiers
free(parents);
^~~~~~~

This free()-ing without a cast was added by Jim Meyering to
builtin/diff.c in v1.7.6-rc3~4 and later by Fredrik Gustafsson in
submodule.c in v1.7.7-rc1~25^2.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: get rid of useless x < 0 comparison on a size_t... Ævar Arnfjörð Bjarmason Sun, 6 Nov 2011 12:06:22 +0000 (13:06 +0100)

apply: get rid of useless x < 0 comparison on a size_t type

According to the C standard size_t is always unsigned, therefore the
comparison "n1 < 0 || n2 < 0" when n1 and n2 are size_t will always be
false.

This was raised by clang 2.9 which throws this warning when compiling
apply.c:

builtin/apply.c:253:9: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
if (n1 < 0 || n2 < 0)
~~ ^ ~
builtin/apply.c:253:19: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
if (n1 < 0 || n2 < 0)
~~ ^ ~

This check was originally added in v1.6.5-rc0~53^2 by Giuseppe Bilotta
while adding an option to git-apply to ignore whitespace differences.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.7.2 v1.7.7.2Junio C Hamano Tue, 1 Nov 2011 23:16:36 +0000 (16:16 -0700)

Git 1.7.7.2

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

Merge branch 'rs/maint-estimate-cache-size' into maintJunio C Hamano Tue, 1 Nov 2011 23:41:41 +0000 (16:41 -0700)

Merge branch 'rs/maint-estimate-cache-size' into maint

* rs/maint-estimate-cache-size:
t7511: avoid use of reserved filename on Windows.

Merge branch 'md/smtp-tls-hello-again' into maintJunio C Hamano Tue, 1 Nov 2011 23:12:19 +0000 (16:12 -0700)

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

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

Merge branch 'jk/pull-rebase-with-work-tree' into maintJunio C Hamano Tue, 1 Nov 2011 23:11:00 +0000 (16:11 -0700)

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

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

Conflicts:
git-pull.sh

Merge branch 'jc/maint-diffstat-numstat-context' into... Junio C Hamano Tue, 1 Nov 2011 23:10:56 +0000 (16:10 -0700)

Merge branch 'jc/maint-diffstat-numstat-context' into maint

* jc/maint-diffstat-numstat-context:
diff: teach --stat/--numstat to honor -U$num

Merge branch 'js/bisect-no-checkout' into maintJunio C Hamano Tue, 1 Nov 2011 23:03:35 +0000 (16:03 -0700)

Merge branch 'js/bisect-no-checkout' into maint

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

Merge branch 'bc/attr-ignore-case' into maintJunio C Hamano Tue, 1 Nov 2011 22:54:45 +0000 (15:54 -0700)

Merge branch 'bc/attr-ignore-case' into maint

* 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:
remote.c

Merge branch 'cn/fetch-prune' into maintJunio C Hamano Tue, 1 Nov 2011 22:51:01 +0000 (15:51 -0700)

Merge branch 'cn/fetch-prune' into maint

* cn/fetch-prune:
fetch: treat --tags like refs/tags/*:refs/tags/* when pruning
fetch: honor the user-provided refspecs when pruning refs
remote: separate out the remote_find_tracking logic into query_refspecs
t5510: add tests for fetch --prune
fetch: free all the additional refspecs

Merge branch 'sp/smart-http-failure' into maintJunio C Hamano Tue, 1 Nov 2011 22:45:16 +0000 (15:45 -0700)

Merge branch 'sp/smart-http-failure' into maint

* sp/smart-http-failure:
remote-curl: Fix warning after HTTP failure

Merge jn/maint-http-error-messageJunio C Hamano Tue, 1 Nov 2011 22:42:25 +0000 (15:42 -0700)

Merge jn/maint-http-error-message

* commit 'be22d92eac809ad2bfa2b7c83ad7cad5a15f1c43':
http: avoid empty error messages for some curl errors
http: remove extra newline in error message

t7511: avoid use of reserved filename on Windows.Pat Thoyts Mon, 31 Oct 2011 14:07:27 +0000 (14:07 +0000)

t7511: avoid use of reserved filename on Windows.

PRN is a special filename on Windows to send data to the printer. As
this is generated during test 3 substitute an alternate prefix to avoid this.

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

Merge branch 'rs/maint-estimate-cache-size' into maintJunio C Hamano Thu, 27 Oct 2011 19:03:16 +0000 (12:03 -0700)

Merge branch 'rs/maint-estimate-cache-size' into maint

* rs/maint-estimate-cache-size:
read-cache.c: fix index memory allocation

clone: Quote user supplied path in a single quote pairRichard Hartmann Thu, 27 Oct 2011 16:46:53 +0000 (18:46 +0200)

clone: Quote user supplied path in a single quote pair

Without this patch,

$ git clone foo .

results in this:

Cloning into ....
done.

With it:

Cloning into '.'...
done.

Signed-off-by: Richard Hartmann <richih.mailinglist@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jn/gitweb-highlite-sanitise' into maintJunio C Hamano Wed, 26 Oct 2011 23:13:31 +0000 (16:13 -0700)

Merge branch 'jn/gitweb-highlite-sanitise' into maint

* jn/gitweb-highlite-sanitise:
gitweb: Strip non-printable characters from syntax highlighter output

Merge branch 'jk/argv-array' into maintJunio C Hamano Wed, 26 Oct 2011 23:13:31 +0000 (16:13 -0700)

Merge branch 'jk/argv-array' into maint

* jk/argv-array:
run_hook: use argv_array API
checkout: use argv_array API
bisect: use argv_array API
quote: provide sq_dequote_to_argv_array
refactor argv_array into generic code
quote.h: fix bogus comment
add sha1_array API docs

Merge branch 'jc/run-receive-hook-cleanup' into maintJunio C Hamano Wed, 26 Oct 2011 23:13:31 +0000 (16:13 -0700)

Merge branch 'jc/run-receive-hook-cleanup' into maint

* jc/run-receive-hook-cleanup:
refactor run_receive_hook()

Merge branch 'cn/eradicate-working-copy' into maintJunio C Hamano Wed, 26 Oct 2011 23:13:31 +0000 (16:13 -0700)

Merge branch 'cn/eradicate-working-copy' into maint

* cn/eradicate-working-copy:
Remove 'working copy' from the documentation and C code

Merge branch 'maint-1.7.6' into maintJunio C Hamano Wed, 26 Oct 2011 23:13:27 +0000 (16:13 -0700)

Merge branch 'maint-1.7.6' into maint

* maint-1.7.6:
notes_merge_commit(): do not pass temporary buffer to other function
gitweb: Fix links to lines in blobs when javascript-actions are enabled
mergetool: no longer need to save standard input
mergetool: Use args as pathspec to unmerged files
t9159-*.sh: skip for mergeinfo test for svn <= 1.4
date.c: Support iso8601 timezone formats
remote: only update remote-tracking branch if updating refspec
remote rename: warn when refspec was not updated
remote: "rename o foo" should not rename ref "origin/bar"
remote: write correct fetch spec when renaming remote 'remote'

Merge branch 'mh/maint-notes-merge-pathbuf-fix' into... Junio C Hamano Wed, 26 Oct 2011 23:12:48 +0000 (16:12 -0700)

Merge branch 'mh/maint-notes-merge-pathbuf-fix' into maint-1.7.6

* mh/maint-notes-merge-pathbuf-fix:
notes_merge_commit(): do not pass temporary buffer to other function

Merge branch 'ps/gitweb-js-with-lineno' into maint... Junio C Hamano Wed, 26 Oct 2011 23:12:35 +0000 (16:12 -0700)

Merge branch 'ps/gitweb-js-with-lineno' into maint-1.7.6

* ps/gitweb-js-with-lineno:
gitweb: Fix links to lines in blobs when javascript-actions are enabled

Merge branch 'jm/mergetool-pathspec' into maint-1.7.6Junio C Hamano Wed, 26 Oct 2011 23:12:25 +0000 (16:12 -0700)

Merge branch 'jm/mergetool-pathspec' into maint-1.7.6

* jm/mergetool-pathspec:
mergetool: no longer need to save standard input
mergetool: Use args as pathspec to unmerged files

Merge branch 'mz/remote-rename' into maint-1.7.6Junio C Hamano Wed, 26 Oct 2011 23:12:19 +0000 (16:12 -0700)

Merge branch 'mz/remote-rename' into maint-1.7.6

* mz/remote-rename:
remote: only update remote-tracking branch if updating refspec
remote rename: warn when refspec was not updated
remote: "rename o foo" should not rename ref "origin/bar"
remote: write correct fetch spec when renaming remote 'remote'

Merge branch 'rj/maint-t9159-svn-rev-notation' into... Junio C Hamano Wed, 26 Oct 2011 23:12:13 +0000 (16:12 -0700)

Merge branch 'rj/maint-t9159-svn-rev-notation' into maint-1.7.6

* rj/maint-t9159-svn-rev-notation:
t9159-*.sh: skip for mergeinfo test for svn <= 1.4

Merge branch 'hl/iso8601-more-zone-formats' into maint... Junio C Hamano Wed, 26 Oct 2011 23:11:28 +0000 (16:11 -0700)

Merge branch 'hl/iso8601-more-zone-formats' into maint-1.7.6

* hl/iso8601-more-zone-formats:
date.c: Support iso8601 timezone formats

Merge branch 'maint-1.7.6' into maintJunio C Hamano Wed, 26 Oct 2011 23:09:28 +0000 (16:09 -0700)

Merge branch 'maint-1.7.6' into maint

* maint-1.7.6:
make the sample pre-commit hook script reject names with newlines, too
git-read-tree.txt: update sparse checkout examples
git-read-tree.txt: correct sparse-checkout and skip-worktree description
git-read-tree.txt: language and typography fixes
unpack-trees: print "Aborting" to stderr
Documentation/git-update-index: refer to 'ls-files'
Documentation: basic configuration of notes.rewriteRef

Merge branch 'tr/doc-note-rewrite' into maint-1.7.6Junio C Hamano Wed, 26 Oct 2011 23:09:04 +0000 (16:09 -0700)

Merge branch 'tr/doc-note-rewrite' into maint-1.7.6

* tr/doc-note-rewrite:
Documentation: basic configuration of notes.rewriteRef

Merge branch 'nd/sparse-doc' into maint-1.7.6Junio C Hamano Wed, 26 Oct 2011 23:09:04 +0000 (16:09 -0700)

Merge branch 'nd/sparse-doc' into maint-1.7.6

* nd/sparse-doc:
git-read-tree.txt: update sparse checkout examples

Merge branch 'mg/maint-doc-sparse-checkout' into maint... Junio C Hamano Wed, 26 Oct 2011 23:09:03 +0000 (16:09 -0700)

Merge branch 'mg/maint-doc-sparse-checkout' into maint-1.7.6

* mg/maint-doc-sparse-checkout:
git-read-tree.txt: correct sparse-checkout and skip-worktree description
git-read-tree.txt: language and typography fixes
unpack-trees: print "Aborting" to stderr

Merge branch 'maint-1.7.5' into maint-1.7.6Junio C Hamano Wed, 26 Oct 2011 23:08:19 +0000 (16:08 -0700)

Merge branch 'maint-1.7.5' into maint-1.7.6

* maint-1.7.5:
make the sample pre-commit hook script reject names with newlines, too
Reindent closing bracket using tab instead of spaces
Documentation/git-update-index: refer to 'ls-files'

Merge branch 'maint-1.7.4' into maint-1.7.5Junio C Hamano Wed, 26 Oct 2011 23:08:14 +0000 (16:08 -0700)

Merge branch 'maint-1.7.4' into maint-1.7.5

* maint-1.7.4:
make the sample pre-commit hook script reject names with newlines, too
Reindent closing bracket using tab instead of spaces
Documentation/git-update-index: refer to 'ls-files'

Merge branch 'maint-1.7.3' into maint-1.7.4Junio C Hamano Wed, 26 Oct 2011 23:08:08 +0000 (16:08 -0700)

Merge branch 'maint-1.7.3' into maint-1.7.4

* maint-1.7.3:
make the sample pre-commit hook script reject names with newlines, too
Reindent closing bracket using tab instead of spaces
Documentation/git-update-index: refer to 'ls-files'

Merge branch 'sn/doc-update-index-assume-unchanged... Junio C Hamano Wed, 26 Oct 2011 23:08:00 +0000 (16:08 -0700)

Merge branch 'sn/doc-update-index-assume-unchanged' into maint-1.7.3

* sn/doc-update-index-assume-unchanged:
Documentation/git-update-index: refer to 'ls-files'

read-cache.c: fix index memory allocationRené Scharfe Mon, 24 Oct 2011 01:01:27 +0000 (03:01 +0200)

read-cache.c: fix index memory allocation

estimate_cache_size() tries to guess how much memory is needed for the
in-memory representation of an index file. It does that by using the
file size, the number of entries and the difference of the sizes of the
on-disk and in-memory structs -- without having to check the length of
the name of each entry, which varies for each entry, but their sums are
the same no matter the representation.

Except there can be a difference. First of all, the size is really
calculated by ce_size and ondisk_ce_size based on offsetof(..., name),
not sizeof, which can be different. And entries are padded with 1 to 8
NULs at the end (after the variable name) to make their total length a
multiple of eight.

So in order to allocate enough memory to hold the index, change the
delta calculation to be based on offsetof(..., name) and round up to
the next multiple of eight.

On a 32-bit Linux, this delta was used before:

sizeof(struct cache_entry) == 72
sizeof(struct ondisk_cache_entry) == 64
---
8

The actual difference for an entry with a filename length of one was,
however (find the definitions are in cache.h):

offsetof(struct cache_entry, name) == 72
offsetof(struct ondisk_cache_entry, name) == 62

ce_size == (72 + 1 + 8) & ~7 == 80
ondisk_ce_size == (62 + 1 + 8) & ~7 == 64
---
16

So eight bytes less had been allocated for such entries. The new
formula yields the correct delta:

(72 - 62 + 7) & ~7 == 16

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

make the sample pre-commit hook script reject names... Jim Meyering Sat, 22 Oct 2011 17:44:40 +0000 (19:44 +0200)

make the sample pre-commit hook script reject names with newlines, too

The sample pre-commit hook script would fail to reject a file name like
"a\nb" because of the way newlines are handled in "$(...)". Adjust the
test to count filtered bytes and require there be 0. Also print all
diagnostics to standard error, not stdout, so they will actually be seen.

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.7.3' into maintJunio C Hamano Mon, 24 Oct 2011 06:55:22 +0000 (23:55 -0700)

Merge branch 'maint-1.7.3' into maint

* maint-1.7.3:
Reindent closing bracket using tab instead of spaces

Reindent closing bracket using tab instead of spacesNguyễn Thái Ngọc Duy Mon, 24 Oct 2011 04:24:51 +0000 (15:24 +1100)

Reindent closing bracket using tab instead of spaces

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

Git 1.7.7.1 v1.7.7.1Junio C Hamano Mon, 24 Oct 2011 04:48:06 +0000 (21:48 -0700)

Git 1.7.7.1

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

RelNotes/1.7.7.1: setgid bit patch is about fixing... Jonathan Nieder Sat, 22 Oct 2011 11:11:07 +0000 (06:11 -0500)

RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile setting

The change was actually about "git init -s" which sets the setgid bit on
SysV-style systems to allow shared access to a repository, and can provoke
errors on BSD-style systems, depending on how permissive the filesystem in
use wants to be.

More to the point, the patch was just taking a fix that arrived for
FreeBSD in v1.5.5 days and making it also apply to machines using an
(obscure) GNU userland/FreeBSD kernel mixture.

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

gitweb: fix regression when filtering out forksJulien Muchembled Fri, 21 Oct 2011 19:04:21 +0000 (21:04 +0200)

gitweb: fix regression when filtering out forks

This fixes a condition in filter_forks_from_projects_list that failed if
process directory was different from project root: in such case, the subroutine
was a no-op and forks were not detected.

Signed-off-by: Julien Muchembled <jm@jmuchemb.eu>
Tested-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

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