gitweb.git
Merge branch 'jk/maint-status-keep-index-timestamp'Junio C Hamano Thu, 15 Jul 2010 19:06:55 +0000 (12:06 -0700)

Merge branch 'jk/maint-status-keep-index-timestamp'

* jk/maint-status-keep-index-timestamp:
do not write out index when status does not have to

Merge branch 'jc/rebase-i-commit-msg-fix'Junio C Hamano Thu, 15 Jul 2010 19:06:48 +0000 (12:06 -0700)

Merge branch 'jc/rebase-i-commit-msg-fix'

* jc/rebase-i-commit-msg-fix:
rebase-i: do not get fooled by a log message ending with backslash
rebase-i: style fix

Merge branch 'ab/submodule-add-f'Junio C Hamano Thu, 15 Jul 2010 19:06:25 +0000 (12:06 -0700)

Merge branch 'ab/submodule-add-f'

* ab/submodule-add-f:
git submodule: add submodules with git add -f <path>

Merge branch 'bc/maint-makefile-fixes'Junio C Hamano Thu, 15 Jul 2010 19:06:11 +0000 (12:06 -0700)

Merge branch 'bc/maint-makefile-fixes'

* bc/maint-makefile-fixes:
Makefile: work around ksh's failure to handle missing list argument to for loop
Makefile: remove some unnecessary curly braces

Merge branch 'maint'Junio C Hamano Thu, 15 Jul 2010 19:04:32 +0000 (12:04 -0700)

Merge branch 'maint'

* maint:
Documentation: add submodule.* to the big configuration variable list
gitmodules.5: url can be a relative path
gitweb: fix esc_url

Documentation: add submodule.* to the big configuration... Jonathan Nieder Thu, 15 Jul 2010 07:51:19 +0000 (02:51 -0500)

Documentation: add submodule.* to the big configuration variable list

The url, path, and the update items in [submodule "foo"] stanzas
are nicely explained in the .gitmodules and ‘git submodule’
documentation. Point there from the config documentation.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitmodules.5: url can be a relative pathJonathan Nieder Thu, 15 Jul 2010 07:41:55 +0000 (02:41 -0500)

gitmodules.5: url can be a relative path

There is already excellent documentation for this facility in
git-submodule.1, but it is not so discoverable.

Relative paths in .gitmodules can be useful for serving the
same repository over multiple protocols, for example.
Thanks to Peter for pointing this out.

Cc: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: fix esc_urlPavan Kumar Sunkara Thu, 15 Jul 2010 07:29:01 +0000 (12:59 +0530)

gitweb: fix esc_url

Earlier, 452e225 (gitweb: fix esc_param, 2009-10-13) fixed CGI escaping
rules used in esc_url. A very similar logic exists in esc_param and needs
to be fixed the same way.

Signed-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.2-rc3 v1.7.2-rc3Junio C Hamano Wed, 14 Jul 2010 16:42:24 +0000 (09:42 -0700)

Git 1.7.2-rc3

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

Merge branch 'jc/read-tree-cache-tree-fix'Junio C Hamano Wed, 14 Jul 2010 16:34:23 +0000 (09:34 -0700)

Merge branch 'jc/read-tree-cache-tree-fix'

* jc/read-tree-cache-tree-fix:
Fix "read-tree -m A B" priming the cache-tree

Use dev_t for device id (st_dev) from stat in setup_git... Raja R Harinath Tue, 13 Jul 2010 09:02:00 +0000 (14:32 +0530)

Use dev_t for device id (st_dev) from stat in setup_git_directory_gently()

The original declaration was int, which seems to cause trouble on my
machine. It causes spurious "filesystem boundary" errors when running
the testsuite. The cause seems to be

$ stat -c%d .
2147549952

which is too large for a 32-bit int type.

Using the correct type, dev_t, solves the issue. (Because I'm
paranoid and forgetful, I checked -- yes, Unix v7 had dev_t.)

Other uses of st_dev seem to be reasonably safe. fill_stat_cache_info
truncates it to an 'unsigned int', but that value seems to be used only
to validate the cache, and only if USE_STDEV is defined.

Signed-off-by: Raja R Harinath <harinath@hurrynot.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Tue, 13 Jul 2010 16:14:35 +0000 (09:14 -0700)

Merge branch 'maint'

* maint:
git fetch documentation: describe short '-p' synonym to '--prune' option
format-patch: document the format.to configuration setting

git fetch documentation: describe short '-p' synonym... Oren Held Tue, 13 Jul 2010 12:01:40 +0000 (15:01 +0300)

git fetch documentation: describe short '-p' synonym to '--prune' option

It's already implemented, just undocumented.

Signed-off-by: Oren Held <orenhe@il.ibm.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

format-patch: document the format.to configuration... Miklos Vajna Mon, 12 Jul 2010 18:58:38 +0000 (20:58 +0200)

format-patch: document the format.to configuration setting

[jc: with simplification from Jonathan Nieder]

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib: TAP compliance for skipping tests on requestMichael J Gruber Mon, 12 Jul 2010 10:33:49 +0000 (12:33 +0200)

test-lib: TAP compliance for skipping tests on request

Make the output TAP compliant for tests skipped on request (GIT_SKIP_TESTS).

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib: simplify GIT_SKIP_TESTS loopMichael J Gruber Mon, 12 Jul 2010 10:32:18 +0000 (12:32 +0200)

test-lib: simplify GIT_SKIP_TESTS loop

04ece59 (GIT_SKIP_TESTS: allow users to omit tests that are known to break, 2006-12-28)
introduced GIT_SKIP_TESTS, and since then we have had two nested loops
iterating over GIT_SKIP_TESTS with the same loop variable.

Reduce this to one loop.

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 Mon, 12 Jul 2010 06:47:29 +0000 (23:47 -0700)

Merge branch 'maint'

* maint:
Documentation: Spelling fix in protocol-capabilities.txt
checkout: accord documentation to what git does
t0005: work around strange $? in ksh when program terminated by a signal

Documentation: Spelling fix in protocol-capabilities.txtFredrik Skolmli Sat, 10 Jul 2010 00:00:01 +0000 (02:00 +0200)

Documentation: Spelling fix in protocol-capabilities.txt

Signed-off-by: Fredrik Skolmli <fredrik@frsk.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

checkout: accord documentation to what git doesNicolas Sebrecht Fri, 9 Jul 2010 20:27:48 +0000 (22:27 +0200)

checkout: accord documentation to what git does

Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0005: work around strange $? in ksh when program termi... Johannes Sixt Fri, 9 Jul 2010 07:05:16 +0000 (09:05 +0200)

t0005: work around strange $? in ksh when program terminated by a signal

ksh93 is known to report $? of programs that terminated by a signal as
256 + signal number instead of 128 + signal number like other POSIX
compliant shells (ksh's behavior is still POSIX compliant in this regard).

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

Merge remote branch 'ko/master' into jc/read-tree-cache... Junio C Hamano Fri, 9 Jul 2010 01:55:50 +0000 (18:55 -0700)

Merge remote branch 'ko/master' into jc/read-tree-cache-tree-fix

* ko/master: (2325 commits)
Git 1.7.2-rc2
backmerge a few more fixes to 1.7.1.X series
fix git branch -m in presence of cross devices
t/t0006: specify timezone as EST5 not EST to comply with POSIX
add missing && to submodule-merge testcase
t/README: document more test helpers
test-date: fix sscanf type conversion
xdiff: optimise for no whitespace difference when ignoring whitespace.
gitweb: Move evaluate_gitweb_config out of run_request
parse_date: fix signedness in timezone calculation
t0006: test timezone parsing
rerere.txt: Document forget subcommand
t/README: proposed rewording...
t/README: Document the do's and don'ts of tests
t/README: Add a section about skipping tests
t/README: Document test_expect_code
t/README: Document test_external*
t/README: Document the prereq functions, and 3-arg test_*
t/README: Typo: paralell -> parallel
t/README: The trash is in 't/trash directory.$name'
...

Conflicts:
builtin-read-tree.c

diff.c: fix a graph output bugBo Yang Thu, 8 Jul 2010 15:12:34 +0000 (23:12 +0800)

diff.c: fix a graph output bug

When --graph is in effect, the line-prefix typically has colored graph
line segments and ends with reset. The color sequence "set" given to
this function is for showing the metainfo part of the patch text and
(1) it should not be applied to the graph lines, and (2) it will be
reset at the end of line_prefix so it won't be in effect anyway.

Signed-off-by: Bo Yang <struggleyb.nku@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

tests: Use skip_all=* to skip testsÆvar Arnfjörð Bjarmason Thu, 8 Jul 2010 01:16:06 +0000 (01:16 +0000)

tests: Use skip_all=* to skip tests

Change tests to skip with skip_all=* + test_done instead of using say
+ test_done.

This is a follow-up to "tests: Skip tests in a way that makes sense
under TAP" (fadb5156e4). I missed these cases when prepearing that
patch, hopefully this is all of them.

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

Fix "read-tree -m A B" priming the cache-treeJunio C Hamano Fri, 9 Jul 2010 00:27:43 +0000 (17:27 -0700)

Fix "read-tree -m A B" priming the cache-tree

In 456156d a shortcut to priming the index tree reference was
introduced, but the justification for it was completely bogus.

"read-tree -m A B" is to take the index (and the working tree)
that is largely based on (but does not have to match exactly) A
and update it to B, while carrying the local change that does
not overlap the difference between A and B, so there is no reason
to expect that the resulting index should match the tree B.

Noticed and test provided by Heiko Voigt.

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

t9118 (git-svn): prevent early failure from taking... Jonathan Nieder Thu, 8 Jul 2010 13:36:02 +0000 (08:36 -0500)

t9118 (git-svn): prevent early failure from taking down later tests

When test #2 fails, the cwd is project/, causing all the
remaining tests in the same script to get confused and fail.

So in the spirit of v1.7.1.1~53^2~10 (t5550-http-fetch: Use subshell
for repository operations, 2010-04-17), use a subshell for svn
working copy operations. This way, the cwd will reliably return
to the top of the trash directory and later tests can still be run
when a command has failed.

Reported-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

t9118: avoid PEG revision identifier in testsMichael J Gruber Thu, 8 Jul 2010 19:16:35 +0000 (21:16 +0200)

t9118: avoid PEG revision identifier in tests

@ is SVN's identifier for PEG revisions. But SVN's treatment of PEG
identifiers in copy target URLs changed in r954995/r952973, i.e. between
1.6.11 and 1.6.12. They get eaten now (which is considered the right
way).

Therefore, avoid the @ in the tests with funky branch names.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

Git 1.7.2-rc2 v1.7.2-rc2Junio C Hamano Wed, 7 Jul 2010 18:19:42 +0000 (11:19 -0700)

Git 1.7.2-rc2

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

Merge branch 'ab/tap'Junio C Hamano Wed, 7 Jul 2010 18:18:44 +0000 (11:18 -0700)

Merge branch 'ab/tap'

* ab/tap:
t/README: document more test helpers
t/README: proposed rewording...
t/README: Document the do's and don'ts of tests
t/README: Add a section about skipping tests
t/README: Document test_expect_code
t/README: Document test_external*
t/README: Document the prereq functions, and 3-arg test_*
t/README: Typo: paralell -> parallel
t/README: The trash is in 't/trash directory.$name'
t/t9700/test.pl: don't access private object members, use public access methods
t9700: Use Test::More->builder, not $Test::Builder::Test
tests: Say "pass" rather than "ok" on empty lines for TAP
tests: Skip tests in a way that makes sense under TAP
test-lib: output a newline before "ok" under a TAP harness
test-lib: Make the test_external_* functions TAP-aware
test-lib: Adjust output to be valid TAP format

Merge branch 'maint'Junio C Hamano Wed, 7 Jul 2010 18:18:26 +0000 (11:18 -0700)

Merge branch 'maint'

* maint:
backmerge a few more fixes to 1.7.1.X series
rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
fix git branch -m in presence of cross devices

Conflicts:
RelNotes
builtin/rev-parse.c

backmerge a few more fixes to 1.7.1.X seriesJunio C Hamano Wed, 7 Jul 2010 17:36:19 +0000 (10:36 -0700)

backmerge a few more fixes to 1.7.1.X series

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

Merge branch 'maint-1.6.4' into maintJunio C Hamano Wed, 7 Jul 2010 18:13:40 +0000 (11:13 -0700)

Merge branch 'maint-1.6.4' into maint

* maint-1.6.4:
rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option

rev-parse: fix --parse-opt --keep-dashdash --stop-at... Uwe Kleine-König Tue, 6 Jul 2010 14:46:05 +0000 (16:46 +0200)

rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option

The ?: operator has a lower priority than |, so the implicit associativity
made the 6th argument of parse_options be PARSE_OPT_KEEP_DASHDASH if
keep_dashdash was true discarding PARSE_OPT_STOP_AT_NON_OPTION and
PARSE_OPT_SHELL_EVAL.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'mg/doc-rev-parse-treepath-syntax' into... Junio C Hamano Wed, 7 Jul 2010 17:34:04 +0000 (10:34 -0700)

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

* 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 'tr/receive-pack-aliased-update-fix' into... Junio C Hamano Wed, 7 Jul 2010 17:25:15 +0000 (10:25 -0700)

Merge branch 'tr/receive-pack-aliased-update-fix' into maint

* tr/receive-pack-aliased-update-fix:
check_aliased_update: strcpy() instead of strcat() to copy
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

fix git branch -m in presence of cross devicesPierre Habouzit Wed, 7 Jul 2010 07:47:20 +0000 (09:47 +0200)

fix git branch -m in presence of cross devices

When you have for example a bare repository stored on NFS, and that you
create new workdirs locally (using contrib's git-new-workdir), logs/refs
is a symlink to a different device. Hence when the reflogs are renamed,
all must happen below logs/refs or one gets cross device rename errors
like:

git branch -m foo
error: unable to move logfile logs/refs/heads/master to tmp-renamed-log: Invalid cross-device link
fatal: Branch rename failed

The fix is hence to use logs/refs/.tmp-renamed-log as a temporary log
name, instead of just tmp-renamed-log.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/t0006: specify timezone as EST5 not EST to comply... Brandon Casey Tue, 6 Jul 2010 23:34:20 +0000 (18:34 -0500)

t/t0006: specify timezone as EST5 not EST to comply with POSIX

POSIX requires that both the timezone "standard" and "offset" be specified
in the TZ environment variable. This causes a problem on IRIX which does
not understand the timezone 'EST'.

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

do not write out index when status does not have toJunio C Hamano Wed, 7 Jul 2010 04:53:11 +0000 (21:53 -0700)

do not write out index when status does not have to

Some codepaths, such as "git status" and "git commit --dry-run",
tried to opportunisticly refresh the index and write the result
out. But they did so without checking if there was actually any
change that needs to be written out.

Noticed by Jeff King and Daniel at Rutgers.edu

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>

t/README: document more test helpersJonathan Nieder Tue, 6 Jul 2010 20:04:10 +0000 (15:04 -0500)

t/README: document more test helpers

There is no documentation in t/README for test_must_fail,
test_might_fail, test_cmp, or test_when_finished.

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

Makefile: work around ksh's failure to handle missing... Brandon Casey Tue, 6 Jul 2010 21:56:51 +0000 (14:56 -0700)

Makefile: work around ksh's failure to handle missing list argument to for loop

ksh does not like it when the list argument is missing in a 'for' loop.
This can happen when NO_CURL is set which causes REMOTE_CURL_ALIASES to be
unset. In this case, the 'for' loop in the Makefile is expanded to look
like this:

for p in ; do

and ksh complains like this:

/bin/ksh: syntax error at line 15 : `;' unexpected

The existing attempt to work around this issue, introduced by 70b89f87,
tried to protect the 'for' loop by first testing whether REMOTE_CURL_ALIASES
was empty, but this does not work since, as Johannes Sixt explains, "Before
the test for emptyness can happen, the complete statement must be parsed,
but ksh finds a syntax error in the statement and, therefore, cannot even
begin to execute the statement. (ksh doesn't follow POSIX in this regard,
where this would not be a syntax error.)".

Make's $(foreach) function could be used to avoid this shell glitch, but
since it has already caused a problem once before by generating a command
line that exceeded the maximum argument list length on IRIX, let's adopt
Bruce Stephens's suggestion for working around this issue in the same way
the OpenSSL folks have done it. This solution first assigns the contents
of the REMOTE_CURL_ALIASES make variable to a shell variable and then
supplies the shell variable as the list argument in the 'for' loop. This
satisfies ksh and has the expected behavior even if $(REMOTE_CURL_ALIASES)
is empty.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
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>

rebase-i: do not get fooled by a log message ending... Junio C Hamano Tue, 6 Jul 2010 06:08:36 +0000 (23:08 -0700)

rebase-i: do not get fooled by a log message ending with backslash

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

rebase-i: style fixJunio C Hamano Tue, 6 Jul 2010 05:16:15 +0000 (22:16 -0700)

rebase-i: style fix

Case arms should align with "case" and "esac".

Do not cat a file into a pipeline; just make the downstream command
read from the file.

Having a while statement as a downstream of a pipe is fine, but
the loop should begin on its own line.

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>

git submodule: add submodules with git add -f <path>Ævar Arnfjörð Bjarmason Mon, 5 Jul 2010 17:33:03 +0000 (17:33 +0000)

git submodule: add submodules with git add -f <path>

Change `git submodule add' to add the new submodule <path> with `git
add --force'.

I keep my /etc in .git with a .gitignore that contains just
"*". I.e. `git status' will ignore everything that isn't in the tree
already. When I do:

git submodule add <url> hlagh

git-submodule will get as far as checking out the remote repository
into hlagh, but it'll die right afterwards when it fails to add the
new path:

The following paths are ignored by one of your .gitignore files:
hlagh
Use -f if you really want to add them.
fatal: no files added
Failed to add submodule 'hlagh'

Currently there's no way to add a submodule in this situation other
than to remove the ignored path from the .gitignore while I'm at it.

That's silly, when you run `git submodule add' you're explicitly
saying that you want to add something *new* to the repository. Instead
it should just add the path with `git add --force'.

Initially I implemented this by adding new -f and --force options to
`git submodule add'. But if the --force option isn't supplied it'll
get as far as cloning `hlagh', but won't add it.

So the first thing the user has to do is to remove `hlagh' and then
try again with the --force option.

That sucks, it should just add the path to begin with. I can't think
of any usecase where you've gone through the trouble of typing out
`git submodule add ..', but wish to be overriden by a `gitignore'. The
submodule semantics should be more like `git init', not `git add'.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
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>

t/README: proposed rewording...Junio C Hamano Mon, 5 Jul 2010 18:37:30 +0000 (11:37 -0700)

t/README: proposed rewording...

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

t/README: Document the do's and don'ts of testsÆvar Arnfjörð Bjarmason Fri, 2 Jul 2010 14:59:49 +0000 (14:59 +0000)

t/README: Document the do's and don'ts of tests

Add a "Do's, don'ts & things to keep in mind" subsection to the
"Writing Tests" documentation. Much of this is based on Junio C
Hamano's "Test your stuff" section in
<7vhbkj2kcr.fsf@alter.siamese.dyndns.org>.

I turned it into a list of do's and don'ts to make it easier to skim
it, and integrated my note that a TAP harness will get confused if you
print "ok" or "not ok" at the beginning of a line.

Thad had to be fixed in 335f87871fe5aa6b3fd55b2b4e80f16fe9681483 when
TAP support was introduced.

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

t/README: Add a section about skipping testsÆvar Arnfjörð Bjarmason Fri, 2 Jul 2010 14:59:48 +0000 (14:59 +0000)

t/README: Add a section about skipping tests

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

t/README: Document test_expect_codeÆvar Arnfjörð Bjarmason Fri, 2 Jul 2010 14:59:47 +0000 (14:59 +0000)

t/README: Document test_expect_code

test_expect_code (which was introduced in d3bfdb75) never had any
documentation.

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

t/README: Document test_external*Ævar Arnfjörð Bjarmason Fri, 2 Jul 2010 14:59:46 +0000 (14:59 +0000)

t/README: Document test_external*

There was do documentation for the test_external_without_stderr and
test_external functions.

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

t/README: Document the prereq functions, and 3-arg... Ævar Arnfjörð Bjarmason Fri, 2 Jul 2010 14:59:45 +0000 (14:59 +0000)

t/README: Document the prereq functions, and 3-arg test_*

There was no documentation for the test_set_prereq and
test_have_prereq functions, or the three-arg form of
test_expect_success and test_expect_failure.

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

t/README: Typo: paralell -> parallelÆvar Arnfjörð Bjarmason Fri, 2 Jul 2010 14:59:44 +0000 (14:59 +0000)

t/README: Typo: paralell -> parallel

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

t/README: The trash is in 't/trash directory.$name'Ævar Arnfjörð Bjarmason Fri, 2 Jul 2010 14:59:43 +0000 (14:59 +0000)

t/README: The trash is in 't/trash directory.$name'

There's a unique trash directory for each test, not a single directory
as the previous documentation suggested.

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

Makefile: remove some unnecessary curly bracesBrandon Casey Fri, 2 Jul 2010 18:50:28 +0000 (11:50 -0700)

Makefile: remove some unnecessary curly braces

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
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/t9700/test.pl: don't access private object members... Brandon Casey Mon, 28 Jun 2010 22:51:02 +0000 (17:51 -0500)

t/t9700/test.pl: don't access private object members, use public access methods

This test is accessing private object members of the Test::More and
Test::Builder objects. Older versions of Test::More did not implement
these variables using a hash.

My system complains as follows:

Can't coerce array into hash at <snip>/t/t9700/test.pl line 13.
BEGIN failed--compilation aborted at <snip>/t/t9700/test.pl line 15.

There are public access methods available for retrieving and setting these
variables, so let's use them instead.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
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