gitweb.git
Merge branch 'ab/submodule-foreach-toplevel'Junio C Hamano Sun, 13 Jun 2010 18:21:49 +0000 (11:21 -0700)

Merge branch 'ab/submodule-foreach-toplevel'

* ab/submodule-foreach-toplevel:
git-submodule foreach: Add $toplevel variable

Merge branch 'rs/grep-binary'Junio C Hamano Sun, 13 Jun 2010 18:21:44 +0000 (11:21 -0700)

Merge branch 'rs/grep-binary'

* rs/grep-binary:
grep: support NUL chars in search strings for -F
grep: use REG_STARTEND for all matching if available
grep: continue case insensitive fixed string search after NUL chars
grep: use memmem() for fixed string search
grep: --name-only over binary
grep: --count over binary
grep: grep: refactor handling of binary mode options
grep: add test script for binary file handling

Merge branch 'jn/gitweb-syntax-highlight'Junio C Hamano Sun, 13 Jun 2010 18:21:37 +0000 (11:21 -0700)

Merge branch 'jn/gitweb-syntax-highlight'

* jn/gitweb-syntax-highlight:
gitweb: Refactor syntax highlighting support
gitweb: Syntax highlighting support

Merge branch 'js/maint-windows'Junio C Hamano Sun, 13 Jun 2010 18:21:30 +0000 (11:21 -0700)

Merge branch 'js/maint-windows'

* js/maint-windows:
Recent MinGW has a C99 implementation of snprintf functions
mingw: use _commit to implement fsync

Merge branch 'bw/diff-metainfo-color'Junio C Hamano Sun, 13 Jun 2010 18:21:25 +0000 (11:21 -0700)

Merge branch 'bw/diff-metainfo-color'

* bw/diff-metainfo-color:
diff: fix coloring of extended diff headers

Merge branch 'js/try-to-free-stackable'Junio C Hamano Sun, 13 Jun 2010 18:21:21 +0000 (11:21 -0700)

Merge branch 'js/try-to-free-stackable'

* js/try-to-free-stackable:
Do not call release_pack_memory in malloc wrappers when GIT_TRACE is used
Have set_try_to_free_routine return the previous routine

Merge branch 'jn/make-header-dependency'Junio C Hamano Sun, 13 Jun 2010 18:21:17 +0000 (11:21 -0700)

Merge branch 'jn/make-header-dependency'

* jn/make-header-dependency:
Makefile: let header dependency checker override COMPUTE_HEADER_DEPENDENCIES
Makefile: fix header dependency checker to allow NO_CURL builds

Merge branch 'cb/assume-unchanged-fix'Junio C Hamano Sun, 13 Jun 2010 18:21:11 +0000 (11:21 -0700)

Merge branch 'cb/assume-unchanged-fix'

* cb/assume-unchanged-fix:
Documentation: git-add does not update files marked "assume unchanged"
do not overwrite files marked "assume unchanged"

Merge branch 'jn/notes-doc'Junio C Hamano Sun, 13 Jun 2010 18:21:06 +0000 (11:21 -0700)

Merge branch 'jn/notes-doc'

* jn/notes-doc:
Documentation/notes: nitpicks
Documentation/notes: clean up description of rewriting configuration
Documentation/notes: simplify treatment of default display refs
Documentation/log: add a CONFIGURATION section
Documentation/notes: simplify treatment of default notes ref
Documentation/notes: add configuration section
Documentation/notes: describe content of notes blobs
Documentation/notes: document format of notes trees

Merge branch 'wp/pretty-enhancement'Junio C Hamano Sun, 13 Jun 2010 18:21:00 +0000 (11:21 -0700)

Merge branch 'wp/pretty-enhancement'

* wp/pretty-enhancement:
pretty: initialize new cmt_fmt_map to 0
pretty: add aliases for pretty formats
pretty: add infrastructure for commit format aliases
pretty: make it easier to add new formats

Merge branch 'ab/test-cleanup'Junio C Hamano Sun, 13 Jun 2010 18:20:57 +0000 (11:20 -0700)

Merge branch 'ab/test-cleanup'

* ab/test-cleanup:
Turn setup code in t2007-checkout-symlink.sh into a test
Move t6000lib.sh to lib-*

Merge branch 'jn/maint-amend-missing-name'Junio C Hamano Sun, 13 Jun 2010 18:20:52 +0000 (11:20 -0700)

Merge branch 'jn/maint-amend-missing-name'

* jn/maint-amend-missing-name:
commit --amend: cope with missing display name

Merge branch 'rs/diff-no-minimal'Junio C Hamano Sun, 13 Jun 2010 18:20:46 +0000 (11:20 -0700)

Merge branch 'rs/diff-no-minimal'

* rs/diff-no-minimal:
git diff too slow for a file

Merge branch 'maint'Junio C Hamano Sun, 13 Jun 2010 17:47:17 +0000 (10:47 -0700)

Merge branch 'maint'

* maint:
add-interactive: Clarify “remaining hunks in the file”

add-interactive: Clarify “remaining hunks in the file”Jonathan Nieder Sun, 13 Jun 2010 03:32:51 +0000 (22:32 -0500)

add-interactive: Clarify “remaining hunks in the file”

The "a" and "d" commands to ‘add --patch’ (accept/reject rest of file)
interact with "j", "g", and "/" (skip some hunks) in a perhaps
confusing way: after accepting or rejecting all _later_ hunks in the
file, they return to the earlier, skipped hunks and prompt the user
about them again.

This behavior can be very useful in practice. One can still accept or
reject _all_ undecided hunks in a file by using the "g" command to
move to hunk #1 first.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Fix typo in hash key name in %opts in git_heade... Jakub Narebski Sat, 12 Jun 2010 22:35:59 +0000 (00:35 +0200)

gitweb: Fix typo in hash key name in %opts in git_header_html

The name of the key has to be the same in call site handle_errors_html
and in called subroutine that uses it, i.e. git_header_html.

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

Merge branch 'maint'Junio C Hamano Sat, 12 Jun 2010 05:05:58 +0000 (22:05 -0700)

Merge branch 'maint'

* maint:
t/README: document --root option
Makefile: default pager on AIX to "more"

t/README: document --root optionThomas Rast Thu, 10 Jun 2010 18:24:46 +0000 (20:24 +0200)

t/README: document --root option

We've had this option since f423ef5 (tests: allow user to specify
trash directory location, 2009-08-09). Make it easier to look up :-)

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

Makefile: default pager on AIX to "more"Jeff King Thu, 10 Jun 2010 08:59:52 +0000 (04:59 -0400)

Makefile: default pager on AIX to "more"

AIX doesn't ship with "less" by default, and their "more" is
more featureful than average, so the latter is a more
sensible choice. People who really want less can set the
compile-time option themselves, or users can set $PAGER.

Signed-off-by: Jeff King <peff@peff.net>
Tested-by: Tor Arntsen <tor@spacetec.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge-recursive: demonstrate an incorrect conflict... Johannes Sixt Tue, 8 Jun 2010 11:34:12 +0000 (13:34 +0200)

merge-recursive: demonstrate an incorrect conflict with submodule

When one side of a merge turns a directory into a submodule, and the other
side does not touch that directory (but has other non-conflicting changes),
then a merge should succeed. But currently, it does not; it rather fails
with a file/directory conflict.

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

Makefile: default pager on AIX to "more"Jeff King Thu, 10 Jun 2010 08:59:52 +0000 (04:59 -0400)

Makefile: default pager on AIX to "more"

AIX doesn't ship with "less" by default, and their "more" is
more featureful than average, so the latter is a more
sensible choice. People who really want less can set the
compile-time option themselves, or users can set $PAGER.

Signed-off-by: Jeff King <peff@peff.net>
Tested-by: Tor Arntsen <tor@spacetec.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Tue, 8 Jun 2010 05:15:31 +0000 (22:15 -0700)

Merge branch 'maint'

* maint:
Change C99 comments to old-style C comments

Change C99 comments to old-style C commentsTor Arntsen Fri, 4 Jun 2010 09:32:11 +0000 (11:32 +0200)

Change C99 comments to old-style C comments

Signed-off-by: Tor Arntsen <tor@spacetec.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Mon, 7 Jun 2010 22:46:01 +0000 (15:46 -0700)

Merge branch 'maint'

* maint:
commit.txt: clarify how --author argument is used

commit.txt: clarify how --author argument is usedJay Soffian Sun, 6 Jun 2010 23:31:34 +0000 (19:31 -0400)

commit.txt: clarify how --author argument is used

commit --author was added by 146ea06 (git commit --author=$name: look $name up
in existing commits), but its documentation was sorely lacking compared to its
excellent commit message. This commit tries to improve the documentation.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Mon, 7 Jun 2010 01:42:12 +0000 (18:42 -0700)

Merge branch 'maint'

* maint:
setup: document prefix

setup: document prefixClemens Buchacher Sat, 5 Jun 2010 08:04:20 +0000 (10:04 +0200)

setup: document prefix

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

git svn: fix empty directory creationMichael J. Kiwala Tue, 1 Jun 2010 21:24:57 +0000 (16:24 -0500)

git svn: fix empty directory creation

Avoid attempts to stat() the contents of '', which could happen
when the root directory is empty. Additionally, remove the
unnecessary '_' stat optimization since it was confusing and
possibly throwing off the non-existent case.

[ew: fixed indentation, rewrote commit message]

Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Michael J. Kiwala <mkiwala@genome.wustl.edu>

Merge branch 'maint'Junio C Hamano Wed, 2 Jun 2010 17:17:26 +0000 (10:17 -0700)

Merge branch 'maint'

* maint:
git-compat-util.h: use apparently more common __sgi macro to detect SGI IRIX
Documentation: A...B shortcut for checkout and rebase
Documentation/pretty-{formats,options}: better reference for "format:<string>"

git-compat-util.h: use apparently more common __sgi... Gary V. Vaughan Wed, 2 Jun 2010 01:55:36 +0000 (20:55 -0500)

git-compat-util.h: use apparently more common __sgi macro to detect SGI IRIX

IRIX 6.5.26m does not define the 'sgi' macro, but it does define an '__sgi'
macro. Since later IRIX versions (6.5.29m) define both macros, and since
an underscore prefixed macro is preferred anyway, use '__sgi' to detect
compilation on SGI IRIX.

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

Documentation: A...B shortcut for checkout and rebaseMichael J Gruber Tue, 1 Jun 2010 15:16:42 +0000 (17:16 +0200)

Documentation: A...B shortcut for checkout and rebase

Describe the A...B shortcuts for checkout and rebase [-i] which were
introduced in these commits:

619a64e ("checkout A...B" switches to the merge base between A and B, 2009-10-18)
61dfa1b ("rebase --onto A...B" replays history on the merge base between A and B, 2009-11-20)
230a456 (rebase -i: teach --onto A...B syntax, 2010-01-07)

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

Documentation/pretty-{formats,options}: better referenc... Nazri Ramliy Tue, 1 Jun 2010 17:54:46 +0000 (01:54 +0800)

Documentation/pretty-{formats,options}: better reference for "format:<string>"

In "git help log" (and friends) it's not easy to find the possible
placeholder for <string> for the "--pretty=format:<string>" option
to git log.

This patch makes the placeholder easier to find by adding a reference
to the "PRETTY FORMATS" section and repeating the "format:<string>"
phrase.

Signed-off-by: Nazri Ramliy <ayiehere@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Tue, 1 Jun 2010 01:14:23 +0000 (18:14 -0700)

Merge branch 'maint'

* maint:
Documentation/SubmittingPatches: Fix typo in GMail section
Documentation/config: describe status.submodulesummary

Merge branch 'maint-1.7.0' into maintJunio C Hamano Tue, 1 Jun 2010 01:14:17 +0000 (18:14 -0700)

Merge branch 'maint-1.7.0' into maint

* maint-1.7.0:
Documentation/config: describe status.submodulesummary

Documentation/SubmittingPatches: Fix typo in GMail... Tim Henigan Wed, 26 May 2010 12:36:10 +0000 (08:36 -0400)

Documentation/SubmittingPatches: Fix typo in GMail section

Commit e498257d introduced a typo while improving the GMail section
of SubmittingPatches.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Acked-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/config: describe status.submodulesummaryMichael J Gruber Thu, 20 May 2010 15:55:42 +0000 (17:55 +0200)

Documentation/config: describe status.submodulesummary

ac8d5af (builtin-status: submodule summary support, 2008-04-12)
intoduced this variable and described it in git-status[1].

Include this description in git-config[1], as well.

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

Merge branch 'maint'Junio C Hamano Fri, 28 May 2010 23:59:42 +0000 (16:59 -0700)

Merge branch 'maint'

* maint:
Makefile: reenable install with NO_CURL
completion: --set-upstream option for git-branch
get_cwd_relative(): do not misinterpret suffix as subdirectory

Merge branch 'maint-1.7.0' into maintJunio C Hamano Fri, 28 May 2010 23:59:36 +0000 (16:59 -0700)

Merge branch 'maint-1.7.0' into maint

* maint-1.7.0:
Makefile: reenable install with NO_CURL

Makefile: reenable install with NO_CURLMichael J Gruber Wed, 26 May 2010 14:24:34 +0000 (16:24 +0200)

Makefile: reenable install with NO_CURL

Setting NO_CURL leaves some variables like REMOTE_CURL_ALIASES
empty, which creates no fun when for-looping over
$(REMOTE_CURL_ALIASES) unconditionally. Make it conditional.

Reported-by: Paul Walker <PWalker752@aol.com>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: --set-upstream option for git-branchMichael J Gruber Wed, 26 May 2010 08:46:41 +0000 (10:46 +0200)

completion: --set-upstream option for git-branch

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

get_cwd_relative(): do not misinterpret suffix as subdi... Clemens Buchacher Sat, 22 May 2010 11:13:05 +0000 (13:13 +0200)

get_cwd_relative(): do not misinterpret suffix as subdirectory

If the current working directory is the same as the work tree path
plus a suffix, e.g. 'work' and 'work-xyz', then the suffix '-xyz'
would be interpreted as a subdirectory of 'work'.

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

Merge branch 'maint'Junio C Hamano Tue, 25 May 2010 20:13:43 +0000 (13:13 -0700)

Merge branch 'maint'

* maint:
Documentation/SubmittingPatches: clarify GMail section and SMTP
show-branch: use DEFAULT_ABBREV instead of 7
t7502-commit: fix spelling
test get_git_work_tree() return value for NULL

Documentation/SubmittingPatches: clarify GMail section... Michael J Gruber Tue, 25 May 2010 08:30:13 +0000 (10:30 +0200)

Documentation/SubmittingPatches: clarify GMail section and SMTP

We keep getting mangled submissions from GMail's web interface. Try to
be more proactive in SubmittingPatches by

- pointing to MUA specific instructions early on,
- structuring the GMail section more clearly,
- putting send-email/SMTP before imap-send/IMAP.

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

show-branch: use DEFAULT_ABBREV instead of 7Tay Ray Chuan Mon, 24 May 2010 08:50:44 +0000 (16:50 +0800)

show-branch: use DEFAULT_ABBREV instead of 7

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7502-commit: fix spellingTay Ray Chuan Mon, 24 May 2010 08:51:17 +0000 (16:51 +0800)

t7502-commit: fix spelling

s/subdirecotry/subdirectory/

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test get_git_work_tree() return value for NULLClemens Buchacher Sat, 22 May 2010 12:21:27 +0000 (14:21 +0200)

test get_git_work_tree() return value for NULL

If we are in a git directory, get_git_work_tree() can return NULL.
While trying to determine whether or not the given paths are outside
the work tree, the following command would read from it anyways and
trigger a segmentation fault.

git diff / /

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

git-submodule foreach: Add $toplevel variableÆvar Arnfjörð Bjarmason Fri, 21 May 2010 16:10:10 +0000 (16:10 +0000)

git-submodule foreach: Add $toplevel variable

Add a $toplevel variable accessible to `git submodule foreach`, it
contains the absolute path of the top level directory (where
.gitmodules is).

This makes it possible to e.g. read data in .gitmodules from within
foreach commands. I'm using this to configure the branch names I want
to track for each submodule:

git submodule foreach 'git checkout $(git config --file $toplevel/.gitmodules submodule.$name.branch) && git pull'

For a little history: This patch is borne out of my continuing fight
of trying to have Git track the branches of submodules, not just their
commits.

Obviously that's not how they work (they only track commits), but I'm
just interested in being able to do:

git submodule foreach 'git pull'

Of course that won't work because the submodule is in a disconnected
head, so I first have to connect it, but connect it *to what*.

For a while I was happy with this because as fate had it, it just so
happened to do what I meant:

git submodule foreach 'git checkout $(git describe --all --always) && git pull'

But then that broke down, if there's a tag and a branch the tag will
win out, and I can't git pull a branch:

$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
$ git tag -l
release-0.0.6
$ git describe --always --all
release-0.0.6

So I figured that I might as well start tracking the branches I want
in .gitmodules itself:

[submodule "yaml-mode"]
path = yaml-mode
url = git://github.com/yoshiki/yaml-mode.git
branch = master

So now I can just do (as stated above):

git submodule foreach 'git checkout $(git config --file $toplevel/.gitmodules submodule.$name.branch) && git pull'

Maybe there's a less painful way to do *that* (I'd love to hear about
it). But regardless of that I think it's a good idea to be able to
know what the top-level is from git submodule foreach.

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

grep: support NUL chars in search strings for -FRené Scharfe Sat, 22 May 2010 21:43:43 +0000 (23:43 +0200)

grep: support NUL chars in search strings for -F

Search patterns in a file specified with -f can contain NUL characters.
The current code ignores all characters on a line after a NUL.

Pass the actual length of the line all the way from the pattern file to
fixmatch() and use it for case-sensitive fixed string matching.

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

grep: use REG_STARTEND for all matching if availableRené Scharfe Sat, 22 May 2010 21:35:07 +0000 (23:35 +0200)

grep: use REG_STARTEND for all matching if available

Refactor REG_STARTEND handling inlook_ahead() into a new helper,
regmatch(), and use it for line matching, too. This allows regex
matching beyond NUL characters if regexec() supports the flag. NUL
characters themselves are not matched in any way, though.

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

grep: continue case insensitive fixed string search... René Scharfe Sat, 22 May 2010 21:34:06 +0000 (23:34 +0200)

grep: continue case insensitive fixed string search after NUL chars

Functions for C strings, like strcasestr(), can't see beyond NUL
characters. Check if there is such an obstacle on the line and try
again behind it.

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

grep: use memmem() for fixed string searchRené Scharfe Sat, 22 May 2010 21:32:43 +0000 (23:32 +0200)

grep: use memmem() for fixed string search

Allow searching beyond NUL characters by using memmem() instead of
strstr().

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

grep: --name-only over binaryRené Scharfe Sat, 22 May 2010 21:30:48 +0000 (23:30 +0200)

grep: --name-only over binary

As with the option -c/--count, git grep with the option -l/--name-only
should work the same with binary files as with text files because
there is no danger of messing up the terminal with control characters
from the contents of matching files. GNU grep does the same.

Move the check for ->name_only before the one for binary_match_only,
thus making the latter irrelevant for git grep -l.

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

grep: --count over binaryRené Scharfe Sat, 22 May 2010 21:29:35 +0000 (23:29 +0200)

grep: --count over binary

The intent of showing the message "Binary file xyz matches" for
binary files is to avoid annoying users by potentially messing up
their terminals by printing control characters. In --count mode,
this precaution isn't necessary.

Display counts of matches if -c/--count was specified, even if -a
was not given. GNU grep does the same.

Moving the check for ->count before the code for handling binary
file also avoids printing context lines if --count and -[ABC] were
used together, so we can remove the part of the comment that
mentions this behaviour. Again, GNU grep does the same.

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

grep: grep: refactor handling of binary mode optionsRené Scharfe Sat, 22 May 2010 21:28:17 +0000 (23:28 +0200)

grep: grep: refactor handling of binary mode options

Turn the switch inside-out and add labels for each possible value
of ->binary. This makes the code easier to read and avoids calling
buffer_is_binary() if the option -a was given.

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

grep: add test script for binary file handlingRené Scharfe Sat, 22 May 2010 21:26:39 +0000 (23:26 +0200)

grep: add test script for binary file handling

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

Merge branch 'by/blame-doc-m-c'Junio C Hamano Fri, 21 May 2010 11:02:24 +0000 (04:02 -0700)

Merge branch 'by/blame-doc-m-c'

* by/blame-doc-m-c:
blame-options.txt: Add default value for `-M/-C` options.

Merge branch 'by/log-follow'Junio C Hamano Fri, 21 May 2010 11:02:23 +0000 (04:02 -0700)

Merge branch 'by/log-follow'

* by/log-follow:
tests: rename duplicate t4205
Make git log --follow find copies among unmodified files.
Make diffcore_std only can run once before a diff_flush
Add a macro DIFF_QUEUE_CLEAR.

Merge branch 'mg/advice-statushints'Junio C Hamano Fri, 21 May 2010 11:02:23 +0000 (04:02 -0700)

Merge branch 'mg/advice-statushints'

* mg/advice-statushints:
wt-status: take advice.statusHints seriously
t7508: test advice.statusHints

Conflicts:
wt-status.c

Merge branch 'cb/maint-stash-orphaned-file'Junio C Hamano Fri, 21 May 2010 11:02:23 +0000 (04:02 -0700)

Merge branch 'cb/maint-stash-orphaned-file'

* cb/maint-stash-orphaned-file:
stash tests: stash can lose data in a file removed from the index
stash: Don't overwrite files that have gone from the index

Merge branch 'jn/maint-bundle'Junio C Hamano Fri, 21 May 2010 11:02:22 +0000 (04:02 -0700)

Merge branch 'jn/maint-bundle'

* jn/maint-bundle:
fix "bundle --stdin" segfault
t5704 (bundle): add tests for bundle --stdin

Merge branch 'pb/patch-id-plus'Junio C Hamano Fri, 21 May 2010 11:02:22 +0000 (04:02 -0700)

Merge branch 'pb/patch-id-plus'

* pb/patch-id-plus:
patch-id: Add support for mbox format
patch-id: extract parsing one diff out of generate_id_list

Merge branch 'rr/doc-submitting'Junio C Hamano Fri, 21 May 2010 11:02:22 +0000 (04:02 -0700)

Merge branch 'rr/doc-submitting'

* rr/doc-submitting:
SubmittingPatches: Add new section about what to base work on

Merge branch 'st/remote-tags-no-tags'Junio C Hamano Fri, 21 May 2010 11:02:22 +0000 (04:02 -0700)

Merge branch 'st/remote-tags-no-tags'

* st/remote-tags-no-tags:
remote add: add a --[no-]tags option
Honor "tagopt = --tags" configuration option

Merge branch 'jn/fsck-ident'Junio C Hamano Fri, 21 May 2010 11:02:21 +0000 (04:02 -0700)

Merge branch 'jn/fsck-ident'

* jn/fsck-ident:
fsck: check ident lines in commit objects

Merge branch 'jn/gitweb-caching-prep'Junio C Hamano Fri, 21 May 2010 11:02:21 +0000 (04:02 -0700)

Merge branch 'jn/gitweb-caching-prep'

* jn/gitweb-caching-prep:
gitweb: Move generating page title to separate subroutine
gitweb: Add custom error handler using die_error
gitweb: Use nonlocal jump instead of 'exit' in die_error
gitweb: href(..., -path_info => 0|1)
Export more test-related variables when running external tests

Merge branch 'jn/gitweb-install'Junio C Hamano Fri, 21 May 2010 11:02:21 +0000 (04:02 -0700)

Merge branch 'jn/gitweb-install'

* jn/gitweb-install:
gitweb: Create install target for gitweb in Makefile
gitweb: Improve installation instructions in gitweb/INSTALL

Merge branch 'jn/gitweb-our-squelch'Junio C Hamano Fri, 21 May 2010 11:02:20 +0000 (04:02 -0700)

Merge branch 'jn/gitweb-our-squelch'

* jn/gitweb-our-squelch:
gitweb: Silence 'Variable VAR may be unavailable' warnings

Merge branch 'jn/request-pull'Junio C Hamano Fri, 21 May 2010 11:02:20 +0000 (04:02 -0700)

Merge branch 'jn/request-pull'

* jn/request-pull:
tests: chmod +x t5150
adapt request-pull tests for new pull request format
t5150: protect backslash with backslash in shell
request-pull: protect against OPTIONS_KEEPDASHDASH from environment
tests for request-pull

Merge branch 'jn/shortlog'Junio C Hamano Fri, 21 May 2010 11:02:20 +0000 (04:02 -0700)

Merge branch 'jn/shortlog'

* jn/shortlog:
pretty: Respect --abbrev option
shortlog: Document and test --format option
t4201 (shortlog): Test output format with multiple authors
t4201 (shortlog): guard setup with test_expect_success
Documentation/shortlog: scripted users should not rely on implicit HEAD

Merge branch 'jn/t7006-fixup'Junio C Hamano Fri, 21 May 2010 11:02:20 +0000 (04:02 -0700)

Merge branch 'jn/t7006-fixup'

* jn/t7006-fixup:
t7006: guard cleanup with test_expect_success

Merge branch 'js/maint-receive-pack-symref-alias'Junio C Hamano Fri, 21 May 2010 11:02:19 +0000 (04:02 -0700)

Merge branch 'js/maint-receive-pack-symref-alias'

* js/maint-receive-pack-symref-alias:
t5516-fetch-push.sh: style cleanup
receive-pack: detect aliased updates which can occur with symrefs
receive-pack: switch global variable 'commands' to a parameter

Conflicts:
t/t5516-fetch-push.sh

Merge branch 'sp/maint-dumb-http-pack-reidx'Junio C Hamano Fri, 21 May 2010 11:02:19 +0000 (04:02 -0700)

Merge branch 'sp/maint-dumb-http-pack-reidx'

* sp/maint-dumb-http-pack-reidx:
http.c::new_http_pack_request: do away with the temp variable filename
http-fetch: Use temporary files for pack-*.idx until verified
http-fetch: Use index-pack rather than verify-pack to check packs
Allow parse_pack_index on temporary files
Extract verify_pack_index for reuse from verify_pack
Introduce close_pack_index to permit replacement
http.c: Remove unnecessary strdup of sha1_to_hex result
http.c: Don't store destination name in request structures
http.c: Drop useless != NULL test in finish_http_pack_request
http.c: Tiny refactoring of finish_http_pack_request
t5550-http-fetch: Use subshell for repository operations
http.c: Remove bad free of static block

Merge branch 'jn/submodule-basic-test'Junio C Hamano Fri, 21 May 2010 11:02:19 +0000 (04:02 -0700)

Merge branch 'jn/submodule-basic-test'

* jn/submodule-basic-test:
t7400: clarify submodule update tests
t7400: clarify 'submodule add' tests
t7400: split setup into multiple tests

Merge branch 'np/index-pack-memsave'Junio C Hamano Fri, 21 May 2010 11:02:19 +0000 (04:02 -0700)

Merge branch 'np/index-pack-memsave'

* np/index-pack-memsave:
index-pack: smarter memory usage when appending objects
index-pack: rationalize unpack_entry_data()
index-pack: smarter memory usage when resolving deltas

Merge branch 'jc/am-3-show-corrupted-patch'Junio C Hamano Fri, 21 May 2010 11:02:18 +0000 (04:02 -0700)

Merge branch 'jc/am-3-show-corrupted-patch'

* jc/am-3-show-corrupted-patch:
am -3: recover the diagnostic messages for corrupt patches

Merge branch 'jc/maint-no-reflog-expire-unreach-for... Junio C Hamano Fri, 21 May 2010 11:02:18 +0000 (04:02 -0700)

Merge branch 'jc/maint-no-reflog-expire-unreach-for-head'

* jc/maint-no-reflog-expire-unreach-for-head:
reflog --expire-unreachable: special case entries in "HEAD" reflog
more war on "sleep" in tests
Document gc.<pattern>.reflogexpire variables

Conflicts:
Documentation/config.txt

Merge branch 'cw/maint-exec-defpath'Junio C Hamano Fri, 21 May 2010 11:02:17 +0000 (04:02 -0700)

Merge branch 'cw/maint-exec-defpath'

* cw/maint-exec-defpath:
autoconf: Check if <paths.h> exists and set HAVE_PATHS_H
exec_cmd.c: replace hard-coded path list with one from <paths.h>

Merge branch 'tr/word-diff'Junio C Hamano Fri, 21 May 2010 11:02:17 +0000 (04:02 -0700)

Merge branch 'tr/word-diff'

* tr/word-diff:
diff: add --word-diff option that generalizes --color-words

Conflicts:
diff.c

Merge branch 'sp/maint-describe-tiebreak-with-tagger... Junio C Hamano Fri, 21 May 2010 11:02:17 +0000 (04:02 -0700)

Merge branch 'sp/maint-describe-tiebreak-with-tagger-date'

* sp/maint-describe-tiebreak-with-tagger-date:
describe: Break annotated tag ties by tagger date
tag.c: Parse tagger date (if present)
tag.c: Refactor parse_tag_buffer to be saner to program
tag.h: Remove unused signature field
tag.c: Correct indentation

Merge branch 'jc/status-show-ignored'Junio C Hamano Fri, 21 May 2010 11:02:16 +0000 (04:02 -0700)

Merge branch 'jc/status-show-ignored'

* jc/status-show-ignored:
wt-status: fix 'fprintf' compilation warning
status: --ignored option shows ignored files
wt-status: rename and restructure status-print-untracked
wt-status: collect ignored files
wt-status: plug memory leak while collecting untracked files
wt-status: remove unused workdir_untracked member

Merge branch 'np/malloc-threading'Junio C Hamano Fri, 21 May 2010 11:02:16 +0000 (04:02 -0700)

Merge branch 'np/malloc-threading'

* np/malloc-threading:
Thread-safe xmalloc and xrealloc needs a recursive mutex
Make xmalloc and xrealloc thread-safe

Merge branch 'sr/remote-helper-export'Junio C Hamano Fri, 21 May 2010 11:02:15 +0000 (04:02 -0700)

Merge branch 'sr/remote-helper-export'

* sr/remote-helper-export:
t5800: testgit helper requires Python support
Makefile: Simplify handling of python scripts
remote-helpers: add tests for testgit helper
remote-helpers: add testgit helper
remote-helpers: add support for an export command
remote-helpers: allow requesing the path to the .git directory
fast-import: always create marks_file directories
clone: also configure url for bare clones
clone: pass the remote name to remote_get

Conflicts:
Makefile

Merge branch 'ld/discovery-limit-to-fs' (early part)Junio C Hamano Fri, 21 May 2010 11:02:15 +0000 (04:02 -0700)

Merge branch 'ld/discovery-limit-to-fs' (early part)

* 'ld/discovery-limit-to-fs' (early part):
Rename ONE_FILESYSTEM to DISCOVERY_ACROSS_FILESYSTEM
GIT_ONE_FILESYSTEM: flip the default to stop at filesystem boundaries
Add support for GIT_ONE_FILESYSTEM
truncate cwd string before printing error message
config.c: remove static keyword from git_env_bool()

Merge branch 'ar/config-from-command-line'Junio C Hamano Fri, 21 May 2010 11:02:14 +0000 (04:02 -0700)

Merge branch 'ar/config-from-command-line'

* ar/config-from-command-line:
Complete prototype of git_config_from_parameters()
Use strbufs instead of open-coded string manipulation
Allow passing of configuration parameters in the command line

Merge branch 'em/checkout-orphan'Junio C Hamano Fri, 21 May 2010 11:02:14 +0000 (04:02 -0700)

Merge branch 'em/checkout-orphan'

* em/checkout-orphan:
git checkout: create unparented branch by --orphan

Complete prototype of git_config_from_parameters()Thomas Rast Fri, 21 May 2010 10:07:47 +0000 (12:07 +0200)

Complete prototype of git_config_from_parameters()

Add the missing argument list. (Its lack triggered a compiler warning
for me.)

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Fri, 21 May 2010 10:13:07 +0000 (03:13 -0700)

Merge branch 'maint'

* maint:
Fix checkout of large files to network shares on Windows XP
start_command: close cmd->err descriptor when fork/spawn fails
Fix "Out of memory? mmap failed" for files larger than 4GB on Windows

Recent MinGW has a C99 implementation of snprintf functionsJohannes Sixt Mon, 20 Jul 2009 20:15:07 +0000 (22:15 +0200)

Recent MinGW has a C99 implementation of snprintf functions

Starting with MinGW 3.14, released end of 2007, a working snprintf
is available. This means we do not need our own replacement that works
around the broken implementation in Microsoft's C runtime.

People who build git in an old MinGW environment are expected to set
SNPRINTF_RETURNS_BOGUS in their config.mak. msysgit is sufficiently
recent, of course.

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

mingw: use _commit to implement fsyncErik Faye-Lund Thu, 20 May 2010 18:57:54 +0000 (20:57 +0200)

mingw: use _commit to implement fsync

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

Fix checkout of large files to network shares on Windows XPRené Scharfe Thu, 20 May 2010 18:57:53 +0000 (20:57 +0200)

Fix checkout of large files to network shares on Windows XP

Bigger writes to network drives on Windows XP fail. Cap them at 31MB to
allow them to succeed. Callers need to be prepared for write() calls
that do less work than requested anyway.

On local drives, write() calls are translated to WriteFile() calls with
a cap of 64KB on Windows XP and 256KB on Vista. Thus a cap of 31MB won't
affect the number of WriteFile() calls which do the actual work. There's
still room for some other version of Windows to use a chunk size of 1MB
without increasing the number of system calls.

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

start_command: close cmd->err descriptor when fork... bert Dvornik Thu, 20 May 2010 18:57:52 +0000 (20:57 +0200)

start_command: close cmd->err descriptor when fork/spawn fails

Fix the problem where the cmd->err passed into start_command wasn't
being properly closed when certain types of errors occurr. (Compare
the affected code with the clean shutdown code later in the function.)

On Windows, this problem would be triggered if mingw_spawnvpe()
failed, which would happen if the command to be executed was malformed
(e.g. a text file that didn't start with a #! line). If cmd->err was
a pipe, the failure to close it could result in a hang while the other
side was waiting (forever) for either input or pipe close, e.g. while
trying to shove the output into the side band. On msysGit, this
problem was causing a hang in t5516-fetch-push.

[J6t: With a slight adjustment of the test case, the hang is also
observed on Linux.]

Signed-off-by: bert Dvornik <dvornik+git@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix "Out of memory? mmap failed" for files larger than... Ian McLean Thu, 20 May 2010 18:57:51 +0000 (20:57 +0200)

Fix "Out of memory? mmap failed" for files larger than 4GB on Windows

The git_mmap implementation was broken for file sizes that wouldn't fit
into a size_t (32 bits). This was caused by intermediate variables that
were only 32 bits wide when they should be 64 bits.

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

Merge branch 'maint'Junio C Hamano Thu, 20 May 2010 04:28:51 +0000 (21:28 -0700)

Merge branch 'maint'

* maint:
post-receive-email: document command-line mode

diff: fix coloring of extended diff headersBert Wesarg Mon, 3 May 2010 22:38:07 +0000 (00:38 +0200)

diff: fix coloring of extended diff headers

Coloring the extended headers where done as a whole not per line. less with
option -R (which is the default from git) does not support this coloring
mode because of performance reasons. The -r option would be an alternative
but has problems with lines that are longer than the screen. Therefore
stick to the idiom to color each line separately. The problem is, that the
result of ill_metainfo() will also be used as an parameter to an external
diff driver, so we need to disable coloring in this case.

Because coloring is now done inside fill_metainfo() we can simply add this
string to the diff header and therefore keep the last newline in the
extended header. This results also into the fact that the external diff
driver now gets this last newline too. Which is a change in behavior
but a good one.

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

post-receive-email: document command-line modeJonathan Nieder Wed, 19 May 2010 19:01:47 +0000 (14:01 -0500)

post-receive-email: document command-line mode

According to the default hooks/post-receive file, the hook is called
with three arguments on stdin:

<oldrev> <newrev> <refname>

In command-line mode, the arguments come in a different order, because
the email hook instead calls:

generate_email $2 $3 $1

Add a comment to explain why, based on comments from the mailing list
and the commit message to v1.5.1~9. Thanks to Andy for the
explanation.

Requested-by: martin f. krafft <madduck@debian.org>
Cc: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Wed, 19 May 2010 05:39:56 +0000 (22:39 -0700)

Merge branch 'maint'

* maint:
Documentation/gitdiffcore: fix order in pickaxe description
Documentation: fix minor inconsistency
Documentation: rebase -i ignores options passed to "git am"
hash_object: correction for zero length file

Documentation/gitdiffcore: fix order in pickaxe descriptionMichael J Gruber Tue, 18 May 2010 10:49:33 +0000 (12:49 +0200)

Documentation/gitdiffcore: fix order in pickaxe description

Reverse the order of "origin" and "result" so that the sentence
really describes an addition rather than a removal.

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

Documentation: fix minor inconsistencyMichael J Gruber Thu, 13 May 2010 12:51:38 +0000 (14:51 +0200)

Documentation: fix minor inconsistency

While we don't always write out commands in full (`git command`) we
should do it consistently in adjacent paragraphs.

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

Documentation: rebase -i ignores options passed to... Markus Heidelberg Thu, 13 May 2010 12:47:53 +0000 (14:47 +0200)

Documentation: rebase -i ignores options passed to "git am"

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff-options: make --patch a synonym for -pWill Palmer Thu, 13 May 2010 08:59:00 +0000 (09:59 +0100)

diff-options: make --patch a synonym for -p

Here we simply make --patch a synonym for -p, whose mnemonic was "patch"
all along.

Signed-off-by: Will Palmer <wmpalmer@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>