gitweb.git
Implement automatic fast-forward merge for submodulesHeiko Voigt Wed, 7 Jul 2010 13:39:13 +0000 (15:39 +0200)

Implement automatic fast-forward merge for submodules

This implements a simple merge strategy for submodule hashes. We check
whether one side of the merge candidates is already contained in the
other and then merge automatically.

If both sides contain changes we search for a merge in the submodule.
In case a single one exists we check that out and suggest it as the
merge resolution. A list of candidates is returned when we find multiple
merges that contain both sides of the changes.

This is useful for a workflow in which the developers can publish topic
branches in submodules and a separate maintainer merges them. In case
the developers always wait until their branch gets merged before tracking
them in the superproject all merges of branches that contain submodule
changes will be resolved automatically. If developers choose to track
their feature branch the maintainer might get a conflict but git will
search the submodule for a merge and suggest it/them as a resolution.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

setup_revisions(): Allow walking history in a submoduleHeiko Voigt Wed, 7 Jul 2010 13:39:12 +0000 (15:39 +0200)

setup_revisions(): Allow walking history in a submodule

By passing the path to a submodule in opt->submodule, the function can
be used to walk history in the named submodule repository, instead of
the toplevel repository.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Teach ref iteration module about submodulesHeiko Voigt Wed, 7 Jul 2010 13:39:11 +0000 (15:39 +0200)

Teach ref iteration module about submodules

We will use this in a later patch to extend setup_revisions() to
load revisions directly from a submodule.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Wed, 7 Jul 2010 04:29:21 +0000 (21:29 -0700)

Merge branch 'maint'

* maint:
add missing && to submodule-merge testcase
test-date: fix sscanf type conversion

add missing && to submodule-merge testcaseHeiko Voigt Tue, 6 Jul 2010 19:34:31 +0000 (21:34 +0200)

add missing && to submodule-merge testcase

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-date: fix sscanf type conversionJeff King Tue, 6 Jul 2010 07:54:33 +0000 (03:54 -0400)

test-date: fix sscanf type conversion

Reading into a time_t isn't portable, since we don't know
the exact type. Instead, use an unsigned long, which is what
show_date wants, anyway.

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

Merge branch 'maint'Junio C Hamano Tue, 6 Jul 2010 06:33:07 +0000 (23:33 -0700)

Merge branch 'maint'

* maint:
xdiff: optimise for no whitespace difference when ignoring whitespace.

xdiff: optimise for no whitespace difference when ignor... Dylan Reid Tue, 6 Jul 2010 03:11:17 +0000 (23:11 -0400)

xdiff: optimise for no whitespace difference when ignoring whitespace.

In xdl_recmatch, do the memcmp to check if the two lines are equal before
checking if whitespace flags are set. If the lines are identical, then
there is no need to check if they differ only in whitespace.
This makes the common case (there is no whitespace difference) faster.
It costs the case where lines are the same length and contain
whitespace differences, but the common case is more than 20% faster.

Signed-off-by: Dylan Reid <dgreid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Move evaluate_gitweb_config out of run_requestJakub Narebski Mon, 5 Jul 2010 18:52:43 +0000 (20:52 +0200)

gitweb: Move evaluate_gitweb_config out of run_request

Move evaluate_gitweb_config() and evaluate_git_version() out of
run_request() to run(), making them not run one for each request.
This changes how git behaves in FastCGI case.

This change makes it impossible to have config which changes with
request, but I don't think anyone relied on such (hidden action)
behavior.

While at it, reset timer and number of git commands at beginning of
run_request() in new reset_timer() subroutine. This fixes case when
gitweb was run using FastCGI interface: time is reported for request,
and not for single run of gitweb script. This changes slightly
behavior in non-FastCGI case: the number of git commands reported is
1 less (running `git --version` one per gitweb is not counted now).

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

parse_date: fix signedness in timezone calculationJeff King Sun, 4 Jul 2010 11:00:17 +0000 (07:00 -0400)

parse_date: fix signedness in timezone calculation

When no timezone is specified, we deduce the offset by
subtracting the result of mktime from our calculated
timestamp.

However, our timestamp is stored as an unsigned integer,
meaning we perform the subtraction as unsigned. For a
negative offset, this means we wrap to a very high number,
and our numeric timezone is in the millions of hours. You
can see this bug by doing:

$ TZ=EST \
GIT_AUTHOR_DATE='2010-06-01 10:00' \
git commit -a -m foo
$ git cat-file -p HEAD | grep author
author Jeff King <peff@peff.net> 1275404416 +119304128

Instead, we should perform this subtraction as a time_t, the
same type that mktime returns.

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

Merge branch 'maint'Junio C Hamano Mon, 5 Jul 2010 18:56:53 +0000 (11:56 -0700)

Merge branch 'maint'

* maint:
t0006: test timezone parsing
rerere.txt: Document forget subcommand
Documentation/git-gc.txt: add reference to githooks

t0006: test timezone parsingJeff King Sun, 4 Jul 2010 10:48:35 +0000 (06:48 -0400)

t0006: test timezone parsing

Previously, test-date simply ignored the parsed timezone and
told show_date() to use UTC. Instead, let's print out what
we actually parsed.

While we're at it, let's make it easy for tests to work in a specific
timezone.

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

rerere.txt: Document forget subcommandMichael J Gruber Mon, 5 Jul 2010 13:15:20 +0000 (15:15 +0200)

rerere.txt: Document forget subcommand

dea4562 (rerere forget path: forget recorded resolution, 2009-12-25)
introduced the forget subcommand for rerere.

Document it.

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

Documentation/git-gc.txt: add reference to githooksChris Packham Wed, 30 Jun 2010 20:41:27 +0000 (13:41 -0700)

Documentation/git-gc.txt: add reference to githooks

This advertises the existence of the 'pre-auto-gc' hook and adds a cross
reference to where the hook is documented.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Updates from the list to 1.7.2 Release NotesJunio C Hamano Fri, 2 Jul 2010 17:29:07 +0000 (10:29 -0700)

Updates from the list to 1.7.2 Release Notes

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

Git 1.7.2-rc1 v1.7.2-rc1Junio C Hamano Wed, 30 Jun 2010 19:22:13 +0000 (12:22 -0700)

Git 1.7.2-rc1

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

git.spec.in: Add gitweb subpackageJunio C Hamano Wed, 30 Jun 2010 22:49:07 +0000 (15:49 -0700)

git.spec.in: Add gitweb subpackage

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

Merge branch 'ar/decorate-color'Junio C Hamano Wed, 30 Jun 2010 18:55:40 +0000 (11:55 -0700)

Merge branch 'ar/decorate-color'

* ar/decorate-color:
Add test for correct coloring of git log --decoration
Allow customizable commit decorations colors
log --decorate: Colorize commit decorations
log-tree.c: Use struct name_decoration's type for classifying decoration
commit.h: add 'type' to struct name_decoration

Merge branch 'mg/doc-rev-parse-treepath-syntax'Junio C Hamano Wed, 30 Jun 2010 18:55:40 +0000 (11:55 -0700)

Merge branch 'mg/doc-rev-parse-treepath-syntax'

* mg/doc-rev-parse-treepath-syntax:
git-rev-parse.txt: Add more examples for caret and colon
git-rev-parse.txt: Document ":path" specifier

Merge branch 'cc/cherry-pick-stdin'Junio C Hamano Wed, 30 Jun 2010 18:55:39 +0000 (11:55 -0700)

Merge branch 'cc/cherry-pick-stdin'

* cc/cherry-pick-stdin:
revert: do not rebuild argv on heap
revert: accept arbitrary rev-list options
t3508 (cherry-pick): futureproof against unmerged files

Merge branch 'jl/status-ignore-submodules'Junio C Hamano Wed, 30 Jun 2010 18:55:39 +0000 (11:55 -0700)

Merge branch 'jl/status-ignore-submodules'

* jl/status-ignore-submodules:
Add the option "--ignore-submodules" to "git status"
git submodule: ignore dirty submodules for summary and status

Conflicts:
builtin/commit.c
t/t7508-status.sh
wt-status.c
wt-status.h

Merge branch 'jk/url-decode'Junio C Hamano Wed, 30 Jun 2010 18:55:38 +0000 (11:55 -0700)

Merge branch 'jk/url-decode'

* jk/url-decode:
url_decode: URL scheme ends with a colon and does not require a slash

Merge branch 'jn/grep-open'Junio C Hamano Wed, 30 Jun 2010 18:55:38 +0000 (11:55 -0700)

Merge branch 'jn/grep-open'

* jn/grep-open:
t/t7811-grep-open.sh: remove broken/redundant creation of fake "less" script
t/t7811-grep-open.sh: ensure fake "less" is made executable
t/lib-pager.sh: remove unnecessary '^' from 'expr' regular expression
grep -O: allow optional argument specifying the pager (or editor)
grep: Add the option '--open-files-in-pager'
Unify code paths of threaded greps
grep: refactor grep_objects loop into its own function

Conflicts:
t/t7006-pager.sh

Merge branch 'jp/string-list-api-cleanup'Junio C Hamano Wed, 30 Jun 2010 18:55:38 +0000 (11:55 -0700)

Merge branch 'jp/string-list-api-cleanup'

* jp/string-list-api-cleanup:
string_list: Fix argument order for string_list_append
string_list: Fix argument order for string_list_lookup
string_list: Fix argument order for string_list_insert_at_index
string_list: Fix argument order for string_list_insert
string_list: Fix argument order for for_each_string_list
string_list: Fix argument order for print_string_list

Merge branch 'tr/rev-list-count'Junio C Hamano Wed, 30 Jun 2010 18:55:38 +0000 (11:55 -0700)

Merge branch 'tr/rev-list-count'

* tr/rev-list-count:
bash completion: Support "divergence from upstream" messages in __git_ps1
rev-list: introduce --count option

Conflicts:
contrib/completion/git-completion.bash

Merge branch 'as/maint-completion-set-u-fix'Junio C Hamano Wed, 30 Jun 2010 18:55:37 +0000 (11:55 -0700)

Merge branch 'as/maint-completion-set-u-fix'

* as/maint-completion-set-u-fix:
bash-completion: Fix __git_ps1 to work with "set -u"

Merge branch 'mg/rev-parse-tests'Junio C Hamano Wed, 30 Jun 2010 18:55:37 +0000 (11:55 -0700)

Merge branch 'mg/rev-parse-tests'

* mg/rev-parse-tests:
t6018: make sure all tested symbolic names are different revs
t6018: add tests for rev-list's --branches and --tags

Merge branch 'jl/maint-diff-ignore-submodules'Junio C Hamano Wed, 30 Jun 2010 18:55:37 +0000 (11:55 -0700)

Merge branch 'jl/maint-diff-ignore-submodules'

* jl/maint-diff-ignore-submodules:
t4027,4041: Use test -s to test for an empty file
Add optional parameters to the diff option "--ignore-submodules"
git diff: rename test that had a conflicting name

Add test for correct coloring of git log --decorationNazri Ramliy Tue, 29 Jun 2010 07:47:08 +0000 (15:47 +0800)

Add test for correct coloring of git log --decoration

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

Sync with 1.7.1.1Junio C Hamano Tue, 29 Jun 2010 18:24:36 +0000 (11:24 -0700)

Sync with 1.7.1.1

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

revert: do not rebuild argv on heapJonathan Nieder Mon, 14 Jun 2010 05:32:09 +0000 (00:32 -0500)

revert: do not rebuild argv on heap

Set options in struct rev_info directly so we can reuse the
arguments collected from parse_options without modification.

This is just a cleanup; no noticeable change is intended.

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

Merge commit 'v1.7.2-rc0~6^2' into cc/cherry-pick-stdinJunio C Hamano Tue, 29 Jun 2010 17:20:53 +0000 (10:20 -0700)

Merge commit 'v1.7.2-rc0~6^2' into cc/cherry-pick-stdin

* commit 'v1.7.2-rc0~6^2':
DWIM 'git show -5' to 'git show --do-walk -5'
Documentation/SubmittingPatches: Fix typo in GMail section
Documentation/config: describe status.submodulesummary

This commit fixes one test in t3508 by making "cherry-pick -<num>"
walk the history.

A test update from Elijah Newren is squashed as an evil merge.

Git 1.7.1.1 v1.7.1.1Junio C Hamano Tue, 29 Jun 2010 16:59:56 +0000 (09:59 -0700)

Git 1.7.1.1

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

t/t9001: use egrep when regular expressions are involvedBrandon Casey Mon, 28 Jun 2010 22:46:22 +0000 (17:46 -0500)

t/t9001: use egrep when regular expressions are involved

Supplying backslashed, extended regular expressions to grep is not
portable. Use egrep instead.

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

git-rev-parse.txt: Add more examples for caret and... Michael J Gruber Mon, 28 Jun 2010 19:01:07 +0000 (21:01 +0200)

git-rev-parse.txt: Add more examples for caret and colon

Several items in the caret, colon and friends section contain examples
already. Make sure they all come with examples, and that examples come
early so that they serve as a visual guide, 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 Tue, 29 Jun 2010 00:42:26 +0000 (17:42 -0700)

Merge branch 'maint'

* maint:
Update draft release notes to 1.7.1.1
notes: Initialise variable to appease gcc
notes: check number of parameters to "git notes copy"

Update draft release notes to 1.7.1.1Junio C Hamano Tue, 29 Jun 2010 00:42:18 +0000 (17:42 -0700)

Update draft release notes to 1.7.1.1

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

Merge branch 'tr/send-email-8bit' into maintJunio C Hamano Mon, 28 Jun 2010 23:19:03 +0000 (16:19 -0700)

Merge branch 'tr/send-email-8bit' into maint

* tr/send-email-8bit:
send-email: ask about and declare 8bit mails

Merge branch 'pb/maint-perl-errmsg-no-dir' into maintJunio C Hamano Mon, 28 Jun 2010 23:18:58 +0000 (16:18 -0700)

Merge branch 'pb/maint-perl-errmsg-no-dir' into maint

* pb/maint-perl-errmsg-no-dir:
Git.pm: better error message

Merge branch 'js/maint-am-rebase-invalid-author' into... Junio C Hamano Mon, 28 Jun 2010 23:18:43 +0000 (16:18 -0700)

Merge branch 'js/maint-am-rebase-invalid-author' into maint

* js/maint-am-rebase-invalid-author:
am: use get_author_ident_from_commit instead of mailinfo when rebasing

Merge branch 'jc/maint-simpler-common-prefix' into... Junio C Hamano Mon, 28 Jun 2010 23:18:15 +0000 (16:18 -0700)

Merge branch 'jc/maint-simpler-common-prefix' into maint

* jc/maint-simpler-common-prefix:
common_prefix: simplify and fix scanning for prefixes

Merge branch 'bd/maint-unpack-trees-parawalk-fix' into... Junio C Hamano Mon, 28 Jun 2010 23:18:02 +0000 (16:18 -0700)

Merge branch 'bd/maint-unpack-trees-parawalk-fix' into maint

* bd/maint-unpack-trees-parawalk-fix:
unpack-trees: Make index lookahead less pessimal

notes: Initialise variable to appease gccRamsay Jones Mon, 21 Jun 2010 18:52:29 +0000 (19:52 +0100)

notes: Initialise variable to appease gcc

gcc version 3.4.4 thinks that the 'cmp' variable could be used
while uninitialised and complains thus:

notes.c: In function `write_each_non_note_until':
notes.c:719: warning: 'cmp' might be used uninitialized in \
this function

Note that gcc versions 4.1.2 and 4.4.0 do not issue this warning.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

notes: check number of parameters to "git notes copy"Jeff King Mon, 28 Jun 2010 08:59:07 +0000 (04:59 -0400)

notes: check number of parameters to "git notes copy"

Otherwise we may segfault with too few parameters.

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

msvc: Select the "fast" definition of the {get,put... Ramsay Jones Wed, 23 Jun 2010 19:47:02 +0000 (20:47 +0100)

msvc: Select the "fast" definition of the {get,put}_be32() macros

On Intel machines, the msvc compiler defines the CPU architecture
macros _M_IX86 and _M_X64 (equivalent to __i386__ and __x86_64__
respectively). Use these macros in the pre-processor expression
to select the "fast" definition of the {get,put}_be32() macros.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-rev-parse.txt: Document ":path" specifierMichael J Gruber Sun, 27 Jun 2010 13:15:22 +0000 (15:15 +0200)

git-rev-parse.txt: Document ":path" specifier

The empty treeish in ":path" means "index". This is actually a special
case of the ":stage:path" syntax where it is documented, but mentioning
it also together with "treeish:path" is helpful, so do it.

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

Git 1.7.2-rc0 v1.7.2-rc0Junio C Hamano Sun, 27 Jun 2010 19:01:12 +0000 (12:01 -0700)

Git 1.7.2-rc0

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

Merge branch 'cp/textconv-cat-file'Junio C Hamano Sun, 27 Jun 2010 19:07:55 +0000 (12:07 -0700)

Merge branch 'cp/textconv-cat-file'

* cp/textconv-cat-file:
git-cat-file.txt: Document --textconv
t/t8007: test textconv support for cat-file
textconv: support for cat_file
sha1_name: add get_sha1_with_context()

Merge branch 'pb/maint-perl-errmsg-no-dir'Junio C Hamano Sun, 27 Jun 2010 19:07:45 +0000 (12:07 -0700)

Merge branch 'pb/maint-perl-errmsg-no-dir'

* pb/maint-perl-errmsg-no-dir:
Git.pm: better error message

Merge branch 'tr/send-email-8bit'Junio C Hamano Sun, 27 Jun 2010 19:07:45 +0000 (12:07 -0700)

Merge branch 'tr/send-email-8bit'

* tr/send-email-8bit:
send-email: ask about and declare 8bit mails

Merge branch 'js/maint-am-rebase-invalid-author'Junio C Hamano Sun, 27 Jun 2010 19:07:44 +0000 (12:07 -0700)

Merge branch 'js/maint-am-rebase-invalid-author'

* js/maint-am-rebase-invalid-author:
am: use get_author_ident_from_commit instead of mailinfo when rebasing

Merge branch 'ab/blame-textconv'Junio C Hamano Sun, 27 Jun 2010 19:07:44 +0000 (12:07 -0700)

Merge branch 'ab/blame-textconv'

* ab/blame-textconv:
t/t8006: test textconv support for blame
textconv: support for blame
textconv: make the API public

Conflicts:
diff.h

Merge branch 'jn/show-num-walks'Junio C Hamano Sun, 27 Jun 2010 19:07:44 +0000 (12:07 -0700)

Merge branch 'jn/show-num-walks'

* jn/show-num-walks:
DWIM 'git show -5' to 'git show --do-walk -5'

t6018: make sure all tested symbolic names are differen... Michael J Gruber Fri, 14 May 2010 18:26:51 +0000 (20:26 +0200)

t6018: make sure all tested symbolic names are different revs

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

t6018: add tests for rev-list's --branches and --tagsMichael J Gruber Fri, 14 May 2010 18:26:50 +0000 (20:26 +0200)

t6018: add tests for rev-list's --branches and --tags

so that we know when they break.

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

Merge branch 'jp/string-list-api-cleanup' into jn/grep... Julian Phillips Fri, 25 Jun 2010 23:41:39 +0000 (00:41 +0100)

Merge branch 'jp/string-list-api-cleanup' into jn/grep-open

An evil merge to adjust the series to cleaned-up API.

From: Julian Phillips <julian@quantumfyre.co.uk>
Subject: [PATCH v2 7/7] grep: fix string_list_append calls
Date: Sat, 26 Jun 2010 00:41:39 +0100
Message-ID: <20100625234140.18927.35025.julian@quantumfyre.co.uk>

* jp/string-list-api-cleanup:
string_list: Fix argument order for string_list_append
string_list: Fix argument order for string_list_lookup
string_list: Fix argument order for string_list_insert_at_index
string_list: Fix argument order for string_list_insert
string_list: Fix argument order for for_each_string_list
string_list: Fix argument order for print_string_list

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

string_list: Fix argument order for string_list_appendJulian Phillips Fri, 25 Jun 2010 23:41:38 +0000 (00:41 +0100)

string_list: Fix argument order for string_list_append

Update the definition and callers of string_list_append to use the
string_list as the first argument. This helps make the string_list
API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

string_list: Fix argument order for string_list_lookupJulian Phillips Fri, 25 Jun 2010 23:41:37 +0000 (00:41 +0100)

string_list: Fix argument order for string_list_lookup

Update the definition and callers of string_list_lookup to use the
string_list as the first argument. This helps make the string_list
API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

string_list: Fix argument order for string_list_insert_... Julian Phillips Fri, 25 Jun 2010 23:41:36 +0000 (00:41 +0100)

string_list: Fix argument order for string_list_insert_at_index

Update the definition and callers of string_list_insert_at_index to
use the string_list as the first argument. This helps make the
string_list API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

string_list: Fix argument order for string_list_insertJulian Phillips Fri, 25 Jun 2010 23:41:35 +0000 (00:41 +0100)

string_list: Fix argument order for string_list_insert

Update the definition and callers of string_list_insert to use the
string_list as the first argument. This helps make the string_list
API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

string_list: Fix argument order for for_each_string_listJulian Phillips Fri, 25 Jun 2010 23:41:34 +0000 (00:41 +0100)

string_list: Fix argument order for for_each_string_list

Update the definition and callers of for_each_string_list to use the
string_list as the first argument. This helps make the string_list
API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

string_list: Fix argument order for print_string_listJulian Phillips Fri, 25 Jun 2010 23:41:33 +0000 (00:41 +0100)

string_list: Fix argument order for print_string_list

Update the definition and callers of print_string_list to use the
string_list as the first argument. This helps make the API easier to
use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Fri, 25 Jun 2010 18:45:27 +0000 (11:45 -0700)

Merge branch 'maint'

* maint:
msvc: Fix some compiler warnings
Documentation: grep: fix asciidoc problem with --
msvc: Fix some "expr evaluates to function" compiler warnings

Add the option "--ignore-submodules" to "git status"Jens Lehmann Fri, 25 Jun 2010 14:56:47 +0000 (16:56 +0200)

Add the option "--ignore-submodules" to "git status"

In some use cases it is not desirable that "git status" considers
submodules that only contain untracked content as dirty. This may happen
e.g. when the submodule is not under the developers control and not all
build generated files have been added to .gitignore by the upstream
developers. Using the "untracked" parameter for the "--ignore-submodules"
option disables checking for untracked content and lets git diff report
them as changed only when they have new commits or modified content.

Sometimes it is not wanted to have submodules show up as changed when they
just contain changes to their work tree (this was the behavior before
1.7.0). An example for that are scripts which just want to check for
submodule commits while ignoring any changes to the work tree. Also users
having large submodules known not to change might want to use this option,
as the - sometimes substantial - time it takes to scan the submodule work
tree(s) is saved when using the "dirty" parameter.

And if you want to ignore any changes to submodules, you can now do that
by using this option without parameters or with "all" (when the config
option status.submodulesummary is set, using "all" will also suppress the
output of the submodule summary).

A new function handle_ignore_submodules_arg() is introduced to parse this
option new to "git status" in a single location, as "git diff" already
knew it.

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

git submodule: ignore dirty submodules for summary... Jens Lehmann Fri, 25 Jun 2010 14:56:02 +0000 (16:56 +0200)

git submodule: ignore dirty submodules for summary and status

The summary and status commands only care about submodule commits, so it is
rather pointless that they check for dirty work trees. This saves the time
needed to scan the submodules work tree. Even "git status" profits from these
savings when the status.submodulesummary config option is set, as this lead to
traversing the submodule work trees twice, once for status and once again for
the submodule summary. And if the submodule was just dirty, submodule summary
produced rather meaningless output anyway:

* sub 1234567...1234567 (0):

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

msvc: Fix some compiler warningsRamsay Jones Wed, 23 Jun 2010 19:47:50 +0000 (20:47 +0100)

msvc: Fix some compiler warnings

In particular, using the normal (or production) compiler
warning level (-W3), msvc complains as follows:

.../sha1.c(244) : warning C4018: '<' : signed/unsigned mismatch
.../sha1.c(270) : warning C4244: 'function' : conversion from \
'unsigned __int64' to 'unsigned long', possible loss of data
.../sha1.c(271) : warning C4244: 'function' : conversion from \
'unsigned __int64' to 'unsigned long', possible loss of data

Note that gcc issues a similar complaint about line 244 when
compiling with -Wextra.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4027,4041: Use test -s to test for an empty fileBrian Gernhardt Fri, 25 Jun 2010 17:20:48 +0000 (13:20 -0400)

t4027,4041: Use test -s to test for an empty file

The tests used a mixture of 'echo -n' (which is non-portable) and either
test_cmp or diff to check if a file is empty. The much easier and portable
method to check for an empty file is '! test -s'

While we're in t4027, there was an excess test_done. Remove it.

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

Documentation: grep: fix asciidoc problem with --Christian Couder Fri, 25 Jun 2010 02:16:24 +0000 (04:16 +0200)

Documentation: grep: fix asciidoc problem with --

Asciidoc interprets two dashes separated by spaces as a single big
dash. So let's escape the first dash, so that "\--" will properly
appear as "--".

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

revert: accept arbitrary rev-list optionsChristian Couder Mon, 14 Jun 2010 05:29:38 +0000 (00:29 -0500)

revert: accept arbitrary rev-list options

This can be useful to do something like:

git rev-list --reverse master -- README | git cherry-pick -n --stdin

without using xargs.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

url_decode: URL scheme ends with a colon and does not... Junio C Hamano Thu, 24 Jun 2010 20:36:30 +0000 (13:36 -0700)

url_decode: URL scheme ends with a colon and does not require a slash

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

git-cat-file.txt: Document --textconvMichael J Gruber Thu, 24 Jun 2010 12:56:55 +0000 (14:56 +0200)

git-cat-file.txt: Document --textconv

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

Allow customizable commit decorations colorsNazri Ramliy Thu, 24 Jun 2010 00:21:16 +0000 (08:21 +0800)

Allow customizable commit decorations colors

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

bash completion: Support "divergence from upstream... Andrew Sayers Thu, 17 Jun 2010 21:32:02 +0000 (22:32 +0100)

bash completion: Support "divergence from upstream" messages in __git_ps1

Add a notification in the command prompt specifying whether (and optionally how
far) your branch has diverged from its upstream. This is especially helpful in
small teams that very frequently (forget to) push to each other.

Support git-svn upstream detection as a special case, as migrators from
centralised version control systems are especially likely to forget to push.

Support for other types of upstream than SVN should be easy to add if anyone is
so inclined.

Signed-off-by: Andrew Sayers <andrew-git@pileofstuff.org>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

msvc: Fix some "expr evaluates to function" compiler... Ramsay Jones Wed, 23 Jun 2010 19:40:19 +0000 (20:40 +0100)

msvc: Fix some "expr evaluates to function" compiler warnings

In particular, the following warning is issued while compiling
notes.c:

notes.c(927) : warning C4550: expression evaluates to a \
function which is missing an argument list

along with identical warnings on lines 928, 1016 and 1017.

In order to suppress the warning, we change the definition of
combine_notes_fn, so that the symbol type is an (explicit)
"pointer to function ...". As a result, several other
declarations need some minor fix-up to take account of the
new typedef.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jk/url-decode'Junio C Hamano Wed, 23 Jun 2010 17:43:28 +0000 (10:43 -0700)

Merge branch 'jk/url-decode'

* jk/url-decode:
url.c: "<scheme>://" part at the beginning should not be URL decoded

url.c: "<scheme>://" part at the beginning should not... Junio C Hamano Wed, 23 Jun 2010 17:27:39 +0000 (10:27 -0700)

url.c: "<scheme>://" part at the beginning should not be URL decoded

When using the protocol git+ssh:// for example we do not want to
decode the '+' as a space. The url decoding must take place only
for the server name and parameters.

This fixes a regression introduced in 9d2e942.

Initial-fix-by: Pascal Obry <pascal.obry@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.2Junio C Hamano Tue, 22 Jun 2010 17:03:04 +0000 (10:03 -0700)

Update draft release notes to 1.7.2

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

Merge branch 'jc/maint-simpler-common-prefix'Junio C Hamano Tue, 22 Jun 2010 16:45:23 +0000 (09:45 -0700)

Merge branch 'jc/maint-simpler-common-prefix'

* jc/maint-simpler-common-prefix:
common_prefix: simplify and fix scanning for prefixes

Merge branch 'sb/format-patch-signature'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'sb/format-patch-signature'

* sb/format-patch-signature:
completion: Add --signature and format.signature
format-patch: Add a signature option (--signature)

Merge branch 'mg/pretty-magic-space'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'mg/pretty-magic-space'

* mg/pretty-magic-space:
pretty: Introduce ' ' modifier to add space if non-empty

Conflicts:
pretty.c

Merge branch 'jn/gitweb-return-or-exit-cleanup'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'jn/gitweb-return-or-exit-cleanup'

* jn/gitweb-return-or-exit-cleanup:
gitweb: Return or exit after done serving request

Conflicts:
gitweb/gitweb.perl

Merge branch 'bd/maint-unpack-trees-parawalk-fix'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'bd/maint-unpack-trees-parawalk-fix'

* bd/maint-unpack-trees-parawalk-fix:
unpack-trees: Make index lookahead less pessimal

Merge branch 'cc/cherry-pick-series'Junio C Hamano Tue, 22 Jun 2010 16:45:21 +0000 (09:45 -0700)

Merge branch 'cc/cherry-pick-series'

* cc/cherry-pick-series:
Documentation/revert: describe passing more than one commit
Documentation/cherry-pick: describe passing more than one commit
revert: add tests to check cherry-picking many commits
revert: allow cherry-picking more than one commit
revert: change help_msg() to take no argument
revert: refactor code into a do_pick_commit() function
revert: use run_command_v_opt() instead of execv_git_cmd()
revert: cleanup code for -x option

Merge branch 'jc/rev-list-ancestry-path'Junio C Hamano Tue, 22 Jun 2010 16:45:21 +0000 (09:45 -0700)

Merge branch 'jc/rev-list-ancestry-path'

* jc/rev-list-ancestry-path:
revision: Turn off history simplification in --ancestry-path mode
revision: Fix typo in --ancestry-path error message
Documentation/rev-list-options.txt: Explain --ancestry-path
Documentation/rev-list-options.txt: Fix missing line in example history graph
revision: --ancestry-path

Merge branch 'lt/extended-sha1-match-commit-with-regexp'Junio C Hamano Tue, 22 Jun 2010 16:45:21 +0000 (09:45 -0700)

Merge branch 'lt/extended-sha1-match-commit-with-regexp'

* lt/extended-sha1-match-commit-with-regexp:
Make :/ accept a regex rather than a fixed pattern

Merge branch 'maint'Junio C Hamano Tue, 22 Jun 2010 16:35:36 +0000 (09:35 -0700)

Merge branch 'maint'

* maint:
Update draft release notes to 1.7.1.1
tests: remove unnecessary '^' from 'expr' regular expression

Conflicts:
diff.c

Update draft release notes to 1.7.1.1Junio C Hamano Tue, 22 Jun 2010 16:18:55 +0000 (09:18 -0700)

Update draft release notes to 1.7.1.1

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

Merge branch 'ic/maint-rebase-i-abort' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:48 +0000 (09:31 -0700)

Merge branch 'ic/maint-rebase-i-abort' into maint

* ic/maint-rebase-i-abort:
rebase -i: Abort cleanly if new base cannot be checked out

Merge branch 'cc/maint-commit-reflog-msg' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:48 +0000 (09:31 -0700)

Merge branch 'cc/maint-commit-reflog-msg' into maint

* cc/maint-commit-reflog-msg:
commit: use value of GIT_REFLOG_ACTION env variable as reflog message

Merge branch 'jk/maint-advice-empty-amend' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:48 +0000 (09:31 -0700)

Merge branch 'jk/maint-advice-empty-amend' into maint

* jk/maint-advice-empty-amend:
commit: give advice on empty amend

Merge branch 'tc/commit-abbrev-fix' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:47 +0000 (09:31 -0700)

Merge branch 'tc/commit-abbrev-fix' into maint

* tc/commit-abbrev-fix:
commit::print_summary(): don't use format_commit_message()
t7502-commit: add summary output tests for empty and merge commits
t7502-commit: add tests for summary output

Merge branch 'jn/document-rebase-i-p-limitation' into... Junio C Hamano Tue, 22 Jun 2010 16:31:47 +0000 (09:31 -0700)

Merge branch 'jn/document-rebase-i-p-limitation' into maint

* jn/document-rebase-i-p-limitation:
rebase -i -p: document shortcomings

Merge branch 'jn/checkout-doc' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:47 +0000 (09:31 -0700)

Merge branch 'jn/checkout-doc' into maint

* jn/checkout-doc:
Documentation/checkout: clarify description
Documentation/checkout: clarify description

Merge branch 'cc/maint-diff-CC-binary' into maintJunio C Hamano Tue, 22 Jun 2010 16:04:14 +0000 (09:04 -0700)

Merge branch 'cc/maint-diff-CC-binary' into maint

* cc/maint-diff-CC-binary:
diff: fix "git show -C -C" output when renaming a binary file

Conflicts:
diff.c

Merge branch 'jc/t9129-any-utf8' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:53 +0000 (08:31 -0700)

Merge branch 'jc/t9129-any-utf8' into maint

* jc/t9129-any-utf8:
t9129: fix UTF-8 locale detection

Merge branch 'cb/ls-files-cdup' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:46 +0000 (08:31 -0700)

Merge branch 'cb/ls-files-cdup' into maint

* cb/ls-files-cdup:
ls-files: allow relative pathspec
quote.c: separate quoting and relative path generation

Merge branch 'tc/merge-m-log' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:25 +0000 (08:31 -0700)

Merge branch 'tc/merge-m-log' into maint

* tc/merge-m-log:
merge: --log appends shortlog to message if specified
fmt-merge-msg: add function to append shortlog only
fmt-merge-msg: refactor merge title formatting
fmt-merge-msg: minor refactor of fmt_merge_msg()
merge: rename variable
merge: update comment
t7604-merge-custom-message: show that --log doesn't append to -m
t7604-merge-custom-message: shift expected output creation

Merge branch 'ph/clone-message-reword' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:20 +0000 (08:31 -0700)

Merge branch 'ph/clone-message-reword' into maint

* ph/clone-message-reword:
clone: reword messages to match the end-user perception

Merge branch 'jn/maint-amend-missing-name' into maintJunio C Hamano Tue, 22 Jun 2010 15:30:44 +0000 (08:30 -0700)

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

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

Merge branch 'pc/remove-warn' into maintJunio C Hamano Tue, 22 Jun 2010 15:30:38 +0000 (08:30 -0700)

Merge branch 'pc/remove-warn' into maint

* pc/remove-warn:
Remove a redundant errno test in a usage of remove_path
Introduce remove_or_warn function
Implement the rmdir_or_warn function
Generalise the unlink_or_warn function