gitweb.git
Merge branch 'js/rebase-i-opt'Junio C Hamano Fri, 20 Mar 2009 21:29:10 +0000 (14:29 -0700)

Merge branch 'js/rebase-i-opt'

* js/rebase-i-opt:
rebase -i: avoid 'git reset' when possible

Merge branch 'fc/parseopt-config'Junio C Hamano Fri, 20 Mar 2009 21:29:03 +0000 (14:29 -0700)

Merge branch 'fc/parseopt-config'

* fc/parseopt-config:
config: test for --replace-all with one argument and fix documentation.
config: set help text for --bool-or-int
git config: don't allow --get-color* and variable type
git config: don't allow extra arguments for -e or -l.
git config: don't allow multiple variable types
git config: don't allow multiple config file locations
git config: reorganize to use parseopt
git config: reorganize get_color*
git config: trivial rename in preparation for parseopt
git_config(): not having a per-repo config file is not an error

Add a test for checking whether gitattributes is honore... Kristian Amlie Fri, 20 Mar 2009 09:32:09 +0000 (10:32 +0100)

Add a test for checking whether gitattributes is honored by checkout.

The original bug will not honor new entries in gitattributes if they
are changed in the same checkout as the files they affect.

It will also keep using .gitattributes, even if it is deleted in the
same commit as the files it affects.

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

Microoptimize strbuf_cmpAlex Riesen Thu, 19 Mar 2009 22:27:32 +0000 (23:27 +0100)

Microoptimize strbuf_cmp

It can be less object code and may be even faster, even if at the
moment there is no callers to take an advantage of that. This
implementation can be trivially made inlinable later.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Produce a nicer output in case of sha1_object_info... Alex Riesen Thu, 19 Mar 2009 22:54:29 +0000 (23:54 +0100)

Produce a nicer output in case of sha1_object_info failures in ls-tree -l

An error message is already printed by sha1_object_info itself, and
the failed entries are additionally marked in the listing.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: reword example text in git-bisect.txt.David J. Mellor Fri, 20 Mar 2009 03:35:34 +0000 (20:35 -0700)

Documentation: reword example text in git-bisect.txt.

Avoid splitting sentences across examples of command usage.

Signed-off-by: David J. Mellor <dmellor@whistlingcat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

import-tars: separate author from committerGiuseppe Bilotta Fri, 20 Mar 2009 09:57:50 +0000 (10:57 +0100)

import-tars: separate author from committer

The import-tars script is typically employed to (re)create the past
history of a project from stored tars. Although assigning authorship in
these cases can be a somewhat arbitrary process, it makes sense to set
the author to whoever created the tars in the first place (if it's
known), and (s)he can in general be different from the committer
(whoever is running the script).

Implement this by having separate author and committer data, making them
settable from the usual GIT_* environment variables.

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

make oneline reflog dates more consistent with multilin... Jeff King Fri, 20 Mar 2009 06:00:43 +0000 (02:00 -0400)

make oneline reflog dates more consistent with multiline format

The multiline reflog format (e.g., as shown by "git log -g")
will show HEAD@{<date>} rather than HEAD@{<count>} in two
situations:

1. If the user gave branch@{<date>} syntax to specify the
reflog

2. If the user gave a --date=<format> specifier

It uses the "normal" date format in case 1, and the
user-specified format in case 2.

The oneline reflog format (e.g., "git reflog show" or "git
log -g --oneline") will show the date in the same two
circumstances. However, it _always_ shows the date as a
relative date, and it always ignores the timezone.

In case 2, it seems ridiculous to trigger the date but use a
format totally different from what the user requested.

For case 1, it is arguable that the user might want to see
the relative date by default; however, the multiline version
shows the normal format.

This patch does three things:

- refactors the "relative_date" parameter to
show_reflog_message to be an actual date_mode enum,
since this is how it is used (it is passed to show_date)

- uses the passed date_mode parameter in the oneline
format (making it consistent with the multiline format)

- does not ignore the timezone parameter in oneline mode

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

Merge branch 'js/windows-tests'Junio C Hamano Thu, 19 Mar 2009 23:00:15 +0000 (16:00 -0700)

Merge branch 'js/windows-tests'

* js/windows-tests:
t5602: Work around path mangling on MSYS
t5300, t5302, t5303: Do not use /dev/zero
t2200, t7004: Avoid glob pattern that also matches files
t7300: fix clean up on Windows
test-lib: Introduce test_chmod and use it instead of update-index --chmod
test-lib: Simplify test counting.
test-lib: Replace uses of $(expr ...) by POSIX shell features.
Call 'say' outside test_expect_success
test suite: Use 'say' to say something instead of 'test_expect_success'
t9400, t9401: Do not force hard-linked clone

t0050: Check whether git init detected symbolic link... Johannes Sixt Wed, 4 Mar 2009 18:40:27 +0000 (19:40 +0100)

t0050: Check whether git init detected symbolic link support correctly

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

Tests on Windows: $(pwd) must return Windows-style... Johannes Sixt Fri, 13 Mar 2009 22:35:24 +0000 (23:35 +0100)

Tests on Windows: $(pwd) must return Windows-style paths

Many tests pass $(pwd) in some form to git and later test that the output
of git contains the correct value of $(pwd). For example, the test of
'git remote show' sets up a remote that contains $(pwd) and then the
expected result must contain $(pwd).

Again, MSYS-bash's path mangling kicks in: Plain $(pwd) uses the MSYS style
absolute path /c/path/to/git. The test case would write this name into
the 'expect' file. But when git is invoked, MSYS-bash converts this name to
the Windows style path c:/path/to/git, and git would produce this form in
the result; the test would fail.

We fix this by passing -W to bash's pwd that produces the Windows-style
path.

There are a two cases that need an accompanying change:

- In t1504 the value of $(pwd) becomes part of a path list. In this case,
the lone 'c' in something like /foo:c:/path/to/git:/bar inhibits
MSYS-bashes path mangling; IOW in this case we want the /c/path/to/git
form to allow path mangling. We use $PWD instead of $(pwd), which always
has the latter form.

- In t6200, $(pwd) - the Windows style path - must be used to construct the
expected result because that is the path form that git sees. (The change
in the test itself is just for consistency: 'git fetch' always sees the
Windows-style path, with or without the change.)

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

test-lib: Work around missing sum on WindowsJohannes Sixt Sat, 14 Mar 2009 21:21:27 +0000 (22:21 +0100)

test-lib: Work around missing sum on Windows

t1002-read-tree-m-u-2way.sh uses 'sum', but it does not rely on the exact
form of the sum, only that it is a hash digest. Therefore, we can sneak
in 'md5sum' under the name 'sum'.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

test-lib: Work around incompatible sort and find on... Johannes Sixt Wed, 11 Mar 2009 20:17:26 +0000 (21:17 +0100)

test-lib: Work around incompatible sort and find on Windows

If the PATH lists the Windows system directories before the MSYS
directories, Windows's own incompatible sort and find commands would be
picked up. We implement these commands as functions and call the real
tools by absolute path.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

t5602: Work around path mangling on MSYSJohannes Sixt Thu, 12 Mar 2009 19:32:43 +0000 (20:32 +0100)

t5602: Work around path mangling on MSYS

MSYS's bash rewrites /something/bin/... into a Windows path that looks like
c:/msysgit/something/bin/... before git sees it. But later the test case
verifies that the path was used and compares it to the unmangled version.
This fails, of course. This make the path relative so that the path
mangling is not triggered.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

t5300, t5302, t5303: Do not use /dev/zeroJohannes Sixt Mon, 17 Nov 2008 08:21:30 +0000 (09:21 +0100)

t5300, t5302, t5303: Do not use /dev/zero

We do not have /dev/zero on Windows. This replaces it by data generated
with printf, perl, or echo. Most of the cases do not depend on that the
data is a stream of zero bytes, so we use something printable; nor is an
unlimited stream of data needed, so we produce only as many bytes as the
test cases need.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

t2200, t7004: Avoid glob pattern that also matches... Johannes Sixt Mon, 9 Feb 2009 09:24:51 +0000 (10:24 +0100)

t2200, t7004: Avoid glob pattern that also matches files

On Windows, there is an unfortunate interaction between the MSYS bash and
git's command line processing:

- Since Windows's CMD does not do the wildcard expansion, but passes
arguments like path* through to the programs, the programs must do the
expansion themselves. This happens in the startup code before main() is
entered.

- bash, however, passes the argument "path*" to git, assuming that git will
see the unquoted word unchanged as a single argument.

But actually git expands the unquoted word before main() is entered.

In t2200, not all names that the test case is interested in exist as files
at the time when 'git ls-files' is invoked. git expands "path?" to only
the subset of files the exist, and only that subset was listed, so that the
test failed. We now list all interesting paths explicitly.

In t7004, git exanded the pattern "*a*" to "actual" (the file that stdout
was redirected to), which is not what the was tested for. We fix it by
renaming the output file (and removing any existing files matching *a*).
This was originally fixed by Johannes Schindelin.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

t7300: fix clean up on WindowsJohannes Schindelin Wed, 11 Mar 2009 16:58:32 +0000 (17:58 +0100)

t7300: fix clean up on Windows

On Windows, you cannot remove files that are in use, not even with
'rm -rf'. So we need to run 'exec <foo/bar' inside a subshell lest
removing the whole test repository fail.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>

test-lib: Introduce test_chmod and use it instead of... Johannes Sixt Sat, 28 Feb 2009 20:12:57 +0000 (21:12 +0100)

test-lib: Introduce test_chmod and use it instead of update-index --chmod

This function replaces sequences of 'chmod +x' and 'git update-index
--chmod=+x' in the test suite, whose purpose is to help filesystems
that need core.filemode=false. Two places where only 'chmod +x' was used
we also use this new function.

The function calls 'git update-index --chmod' without checking
core.filemode (unlike some of the call sites did). We do this because the
call sites *expect* that the executable bit ends up in the index (ie. it
is not the purpose of the call sites to *test* whether git treats
'chmod +x' and 'update-index --chmod=+x' correctly). Therefore, on
filesystems with core.filemode=true the 'git update-index --chmod' is a
no-op.

The function uses --add with update-index to help one call site in
t6031-merge-recursive. It makes no difference for the other callers.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

test-lib: Simplify test counting.Johannes Sixt Thu, 5 Feb 2009 20:20:56 +0000 (21:20 +0100)

test-lib: Simplify test counting.

Since the test case counter was incremented very late, there were a few
users of the counter had to do their own incrementing. Now we increment it
early and simplify these users.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

test-lib: Replace uses of $(expr ...) by POSIX shell... Johannes Sixt Thu, 5 Feb 2009 19:59:27 +0000 (20:59 +0100)

test-lib: Replace uses of $(expr ...) by POSIX shell features.

In particular:

- Test case counting can be achieved by arithmetic expansion.

- The name of the test, e.g. t1234, can be computed with ${0%%} and ${0##}.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

Call 'say' outside test_expect_successJohannes Sixt Tue, 17 Mar 2009 21:45:22 +0000 (22:45 +0100)

Call 'say' outside test_expect_success

There were some uses of 'say' inside test_expect_success. But if the tests
were not run in verbose mode, this message went to /dev/null. Pull them out
of test_expect_success.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

test suite: Use 'say' to say something instead of ... Johannes Sixt Sun, 1 Mar 2009 18:52:51 +0000 (19:52 +0100)

test suite: Use 'say' to say something instead of 'test_expect_success'

Some tests report that some tests will be skipped. They used
'test_expect_success' with a trivially successful test. Nowadays we have
the helper function 'say' for this purpose.

In on case, 'say_color skip' is replaced by 'say' because the former is
not intended as a public API.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

http-push.c: use a faux remote to pass to http_initAmos King Wed, 18 Mar 2009 23:46:41 +0000 (18:46 -0500)

http-push.c: use a faux remote to pass to http_init

This patch allows http_push to use http authentication via prompts.
You may notice that there is a remote struct that only contains the
url from the repo struct. This struct is a temporary fix for a larger
issue, but gets http authentication via prompts out the door, and
keeps users from having to store passwords in plain text files.

Signed-off-by: Amos King <amos.l.king@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Do not name "repo" struct "remote" in push_http.cAmos King Wed, 18 Mar 2009 23:43:53 +0000 (18:43 -0500)

Do not name "repo" struct "remote" in push_http.c

This patch is a first step in getting http-push to use http authentication
via prompts. The patch renames remote to repo so that it doesn't get
confusing with the same remote that is passed around when using http.

Signed-off-by: Amos King <amos.l.king@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

doc: clarify how -S worksJeff King Tue, 3 Mar 2009 15:40:41 +0000 (10:40 -0500)

doc: clarify how -S works

The existing text was very vague about what exactly it means
for difference to "contain" a change. This seems to cause
confusion on the mailing list every month or two.

To fix it we:

1. use "introduce or remove an instance of" instead of
"contain"

2. point the user to gitdiffcore(7), which contains a more
complete explanation

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

Documentation: reworded the "Description" section of... David J. Mellor Thu, 19 Mar 2009 07:00:12 +0000 (00:00 -0700)

Documentation: reworded the "Description" section of git-bisect.txt.

Added fixes missing from 2364259.

Signed-off-by: David J. Mellor <dmellor@whistlingcat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase: add options passed to git-amMichele Ballabio Wed, 18 Mar 2009 20:53:49 +0000 (21:53 +0100)

rebase: add options passed to git-am

Add the options --committer-date-is-author-date and --ignore-date
to git-rebase. They were introduced in commit a79ec62d0 for git-am.
These options imply --force-rebase.

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

document --force-rebaseMichele Ballabio Wed, 18 Mar 2009 20:53:39 +0000 (21:53 +0100)

document --force-rebase

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

MinGW: implement mmapJanos Laube Fri, 13 Mar 2009 15:50:45 +0000 (16:50 +0100)

MinGW: implement mmap

Add USE_WIN32_MMAP which triggers the use of windows' native
file memory mapping functionality in git_mmap()/git_munmap() functions.

As git functions currently use mmap with MAP_PRIVATE set only, this
implementation supports only that mode for now.

On Windows, offsets for memory mapped files need to match the allocation
granularity. Take this into account when calculating the packed git-
windowsize and file offsets. At the moment, the only function which makes
use of offsets in conjunction with mmap is use_pack() in sha1-file.c.

Git fast-import's code path tries to map a portion of the temporary
packfile that exceeds the current filesize, i.e. offset+length is
greater than the filesize. The NO_MMAP code worked with that since pread()
just reads the file content until EOF and returns gracefully, while
MapViewOfFile() aborts the mapping and returns 'Access Denied'.
Working around that by determining the filesize and adjusting the length
parameter.

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

gc --aggressive: make it really aggressiveJohannes Schindelin Thu, 6 Dec 2007 12:03:38 +0000 (12:03 +0000)

gc --aggressive: make it really aggressive

The default was not to change the window or depth at all. As suggested
by Jon Smirl, Linus Torvalds and others, default to

--window=250 --depth=250

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git log: avoid segfault with --all-matchMichele Ballabio Wed, 18 Mar 2009 20:53:27 +0000 (21:53 +0100)

git log: avoid segfault with --all-match

Avoid a segfault when the command

git log --all-match

was issued, by ignoring the option.

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: hide unused options from short helpMichele Ballabio Wed, 18 Mar 2009 18:05:40 +0000 (19:05 +0100)

apply: hide unused options from short help

The options "--binary" and "--allow-binary-replacement" of
git-apply are no-op and maintained for backward compatibility,
so avoid to show them in the short help screen.

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: consistent spelling of "don't"Michele Ballabio Wed, 18 Mar 2009 18:05:39 +0000 (19:05 +0100)

apply: consistent spelling of "don't"

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

format-patch: Respect --quiet optionNate Case Wed, 18 Mar 2009 17:00:45 +0000 (12:00 -0500)

format-patch: Respect --quiet option

Hide the patch filename output from 'git format-patch' when --quiet
is used. The man pages suggested that this should have already worked.

Signed-off-by: Nate Case <ncase@xes-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9400, t9401: Do not force hard-linked cloneJohannes Sixt Fri, 6 Mar 2009 23:04:09 +0000 (00:04 +0100)

t9400, t9401: Do not force hard-linked clone

The tests do not depend on that the clones are hard-linked, but used
--local only as an optimization: At the time that --local was used first
in t9400 hard-linked clones were not the default, yet.

By removing --local, we help filesystems that do not support hard-links.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>

blame: read custom grafts given by -S before calling... Junio C Hamano Wed, 18 Mar 2009 07:13:03 +0000 (00:13 -0700)

blame: read custom grafts given by -S before calling setup_revisions()

setup_revisions() while getting the command line arguments parses the
given commits from the command line, which means their direct parents will
not be rewritten by the custom graft file.

Call read_ancestry() early to work around this issue.

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

Update draft release notes to 1.6.3Junio C Hamano Wed, 18 Mar 2009 03:26:24 +0000 (20:26 -0700)

Update draft release notes to 1.6.3

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

Merge branch 'jc/maint-1.6.0-read-tree-overlay'Junio C Hamano Wed, 18 Mar 2009 01:58:55 +0000 (18:58 -0700)

Merge branch 'jc/maint-1.6.0-read-tree-overlay'

* jc/maint-1.6.0-read-tree-overlay:
read-tree A B C: do not create a bogus index and do not segfault

Merge branch 'db/maint-missing-origin'Junio C Hamano Wed, 18 Mar 2009 01:58:41 +0000 (18:58 -0700)

Merge branch 'db/maint-missing-origin'

* db/maint-missing-origin:
Remove total confusion from git-fetch and git-push
Give error when no remote is configured

Merge branch 'js/sideband-stderr'Junio C Hamano Wed, 18 Mar 2009 01:58:25 +0000 (18:58 -0700)

Merge branch 'js/sideband-stderr'

* js/sideband-stderr:
winansi: support ESC [ K (erase in line)
recv_sideband: Bands #2 and #3 always go to stderr

Merge branch 'js/rsync-local'Junio C Hamano Wed, 18 Mar 2009 01:58:13 +0000 (18:58 -0700)

Merge branch 'js/rsync-local'

* js/rsync-local:
rsync transport: allow local paths, and fix tests

Merge branch 'rs/color-grep'Junio C Hamano Wed, 18 Mar 2009 01:58:02 +0000 (18:58 -0700)

Merge branch 'rs/color-grep'

* rs/color-grep:
grep: prefer builtin over external one when coloring results
grep: cast printf %.*s "precision" argument explicitly to int
grep: add support for coloring with external greps
grep: color patterns in output
grep: add pmatch and eflags arguments to match_one_pattern()
grep: remove grep_opt argument from match_expr_eval()
grep: micro-optimize hit collection for AND nodes

Merge branch 'js/remote-improvements'Junio C Hamano Wed, 18 Mar 2009 01:55:06 +0000 (18:55 -0700)

Merge branch 'js/remote-improvements'

* js/remote-improvements: (23 commits)
builtin-remote.c: no "commented out" code, please
builtin-remote: new show output style for push refspecs
builtin-remote: new show output style
remote: make guess_remote_head() use exact HEAD lookup if it is available
builtin-remote: add set-head subcommand
builtin-remote: teach show to display remote HEAD
builtin-remote: fix two inconsistencies in the output of "show <remote>"
builtin-remote: make get_remote_ref_states() always populate states.tracked
builtin-remote: rename variables and eliminate redundant function call
builtin-remote: remove unused code in get_ref_states
builtin-remote: refactor duplicated cleanup code
string-list: new for_each_string_list() function
remote: make match_refs() not short-circuit
remote: make match_refs() copy src ref before assigning to peer_ref
remote: let guess_remote_head() optionally return all matches
remote: make copy_ref() perform a deep copy
remote: simplify guess_remote_head()
move locate_head() to remote.c
move duplicated ref_newer() to remote.c
move duplicated get_local_heads() to remote.c
...

Conflicts:
builtin-clone.c

Merge branch 'tr/maint-1.6.0-send-email-irt'Junio C Hamano Wed, 18 Mar 2009 01:54:46 +0000 (18:54 -0700)

Merge branch 'tr/maint-1.6.0-send-email-irt'

* tr/maint-1.6.0-send-email-irt:
send-email: test --no-thread --in-reply-to combination
send-email: respect in-reply-to regardless of threading

Conflicts:
t/t9001-send-email.sh

Merge branch 'kb/checkout-optim'Junio C Hamano Wed, 18 Mar 2009 01:54:31 +0000 (18:54 -0700)

Merge branch 'kb/checkout-optim'

* kb/checkout-optim:
Revert "lstat_cache(): print a warning if doing ping-pong between cache types"
checkout bugfix: use stat.mtime instead of stat.ctime in two places
Makefile: Set compiler switch for USE_NSEC
Create USE_ST_TIMESPEC and turn it on for Darwin
Not all systems use st_[cm]tim field for ns resolution file timestamp
Record ns-timestamps if possible, but do not use it without USE_NSEC
write_index(): update index_state->timestamp after flushing to disk
verify_uptodate(): add ce_uptodate(ce) test
make USE_NSEC work as expected
fix compile error when USE_NSEC is defined
check_updates(): effective removal of cache entries marked CE_REMOVE
lstat_cache(): print a warning if doing ping-pong between cache types
show_patch_diff(): remove a call to fstat()
write_entry(): use fstat() instead of lstat() when file is open
write_entry(): cleanup of some duplicated code
create_directories(): remove some memcpy() and strchr() calls
unlink_entry(): introduce schedule_dir_for_removal()
lstat_cache(): swap func(length, string) into func(string, length)
lstat_cache(): generalise longest_match_lstat_cache()
lstat_cache(): small cleanup and optimisation

grep: prefer builtin over external one when coloring... Nguyễn Thái Ngọc Duy Mon, 16 Mar 2009 02:20:04 +0000 (13:20 +1100)

grep: prefer builtin over external one when coloring results

As far as I know, not all grep programs support coloring, so we should
rely on builtin grep. If you want external grep, set
color.grep.external to empty string.

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

config.txt: Describe special 'none' handling in core... Emil Sit Tue, 17 Mar 2009 17:31:42 +0000 (13:31 -0400)

config.txt: Describe special 'none' handling in core.gitProxy.

Signed-off-by: Emil Sit <sit@emilsit.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ls-files: require worktree when --deleted is givenJeff King Tue, 17 Mar 2009 09:03:19 +0000 (05:03 -0400)

ls-files: require worktree when --deleted is given

The code will end up calling lstat() to check whether the
file still exists; obviously this doesn't work if we're not
in the worktree.

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

git-branch.txt: document -f correctlyMichael J Gruber Tue, 17 Mar 2009 14:06:20 +0000 (15:06 +0100)

git-branch.txt: document -f correctly

'git branch -f a b' resets a to b when a exists, rather then deleting a.
Say so in the documentation.

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

pickaxe: count regex matches only onceRené Scharfe Mon, 16 Mar 2009 18:38:42 +0000 (19:38 +0100)

pickaxe: count regex matches only once

When --pickaxe-regex is used, forward past the end of matches instead of
advancing to the byte after their start. This way matches count only
once, even if the regular expression matches their tail -- like in the
fixed-string fork of the code.

E.g.: /.*/ used to count the number of bytes instead of the number of
lines. /aa/ resulted in a count of two in "aaa" instead of one.

Also document the fact that regexec() needs a NUL-terminated string as
its second argument by adding an assert().

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

Display warning for default git push with no push.defau... Finn Arne Gangstad Mon, 16 Mar 2009 15:42:52 +0000 (16:42 +0100)

Display warning for default git push with no push.default config

If a git push without any refspecs is attempted, display a warning.
The current default behavior is to push all matching refspecs, which
may come as a surprise to new users, so the warning shows how
push.default can be configured and what the possible values are.

Traditionalists who wish to keep the current behaviour are also told
how to configure this once and never see the warning again.

Signed-off-by: Finn Arne Gangstad <finnag@pvv.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

New config push.default to decide default behavior... Finn Arne Gangstad Mon, 16 Mar 2009 15:42:51 +0000 (16:42 +0100)

New config push.default to decide default behavior for push

When "git push" is not told what refspecs to push, it pushes all matching
branches to the current remote. For some workflows this default is not
useful, and surprises new users. Some have even found that this default
behaviour is too easy to trigger by accident with unwanted consequences.

Introduce a new configuration variable "push.default" that decides what
action git push should take if no refspecs are given or implied by the
command line arguments or the current remote configuration.

Possible values are:

'nothing' : Push nothing;
'matching' : Current default behaviour, push all branches that already
exist in the current remote;
'tracking' : Push the current branch to whatever it is tracking;
'current' : Push the current branch to a branch of the same name,
i.e. HEAD.

Signed-off-by: Finn Arne Gangstad <finnag@pvv.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-send-email.txt: describe --compose betterStephen Boyd Mon, 16 Mar 2009 07:44:57 +0000 (00:44 -0700)

git-send-email.txt: describe --compose better

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Tests: use test_cmp instead of diff where possibleMiklos Vajna Mon, 16 Mar 2009 20:18:42 +0000 (21:18 +0100)

Tests: use test_cmp instead of diff where possible

Several old tests were written before test_cmp was introduced, convert
these to test_cmp.

If were are at it, fix the order of the arguments where necessary to
make expected come first, so the command shows how the test result
deviates from the correct output.

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

Documentation: remove extra quoting/emphasis around... Chris Johnsen Sun, 15 Mar 2009 11:30:52 +0000 (06:30 -0500)

Documentation: remove extra quoting/emphasis around literal texts

If literal text (asciidoc `...`) can be rendered in a differently from
normal text for each output format (man, HTML), then we do not need
extra quotes or other wrapping around inline literal text segments.

config.txt

Change '`...`' to `...`. In asciidoc, the single quotes provide
emphasis, literal text should be distintive enough.

Change "`...`" to `...`. These double quotes do not work if present
in the described config value, so drop them.

git-checkout.txt

Change "`...`" to `...` or `"..."`. All instances are command line
argument examples. One "`-`" becomes `-`. Two others are involve
curly braces, so move the double quotes inside the literal region to
indicate that they might need to be quoted on the command line of
certain shells (tcsh).

git-merge.txt

Change "`...`" to `...`. All instances are used to describe merge
conflict markers. The quotes should are not important.

git-rev-parse.txt

Change "`...`" to `...`. All instances are around command line
arguments where no in-shell quoting should be necessary.

gitcli.txt

Change `"..."` to `...`. All instances are around command line
examples or single command arguments. They do not semanticly belong
inside the literal text, and they are not needed outside it.

glossary-content.txt
user-manual.txt

Change "`...`" to `...`. All instances were around command lines.

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

git-push.txt: describe how to default to pushing only... Chris Johnsen Sun, 15 Mar 2009 02:32:01 +0000 (21:32 -0500)

git-push.txt: describe how to default to pushing only current branch

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

disable post-checkout test on CygwinAlex Riesen Tue, 17 Mar 2009 16:22:53 +0000 (17:22 +0100)

disable post-checkout test on Cygwin

It is broken because of the tricks we have to play with
lstat to get the bearable perfomance out of the call.
Sadly, it disables access to Cygwin's executable attribute,
which Windows filesystems do not have at all.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Revert "lstat_cache(): print a warning if doing ping... Kjetil Barvik Tue, 17 Mar 2009 18:20:29 +0000 (19:20 +0100)

Revert "lstat_cache(): print a warning if doing ping-pong between cache types"

This reverts commit 7734f04873cfaddd0b148074a633f1f824fd961f.

I guess that the reverted commit, 7734f048, has been in test long
enough, and should now be reverted. I have not received any info
regarding any debug output of the reverted commit, so lets hope that
the lstat_cache() function do not cause any ping-pong.

Signed-off-by: Kjetil Barvik <barvik@broadpark.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: minor grammatical fixes in git-branch... David J. Mellor Tue, 17 Mar 2009 06:16:17 +0000 (23:16 -0700)

Documentation: minor grammatical fixes in git-branch.txt.

Signed-off-by: David J. Mellor <dmellor@whistlingcat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: minor grammatical fixes in git-blame... David J. Mellor Tue, 17 Mar 2009 06:16:16 +0000 (23:16 -0700)

Documentation: minor grammatical fixes in git-blame.txt.

Signed-off-by: David J. Mellor <dmellor@whistlingcat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: reword the "Description" section of... David J. Mellor Tue, 17 Mar 2009 06:16:15 +0000 (23:16 -0700)

Documentation: reword the "Description" section of git-bisect.txt.

Reword this section to make it less chatty. Also make minor grammatical
fixes.

Signed-off-by: David J. Mellor <dmellor@whistlingcat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

config: test for --replace-all with one argument and... Carlos Rica Tue, 17 Mar 2009 09:46:37 +0000 (10:46 +0100)

config: test for --replace-all with one argument and fix documentation.

Option --replace-all only allows at least two arguments, so
documentation was needing to be updated accordingly. A test showing
that the command fails with only one parameter is also provided.

Signed-off-by: Carlos Rica <jasampler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

MinGW: a hardlink implementationPetr Kodl Sat, 24 Jan 2009 14:04:39 +0000 (15:04 +0100)

MinGW: a hardlink implementation

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

MinGW: a helper function that translates Win32 API... Petr Kodl Sat, 24 Jan 2009 14:04:39 +0000 (15:04 +0100)

MinGW: a helper function that translates Win32 API error codes

This function translates many possible Win32 error codes to suitable
errno numbers. We will use it in our wrapper functions that need to call
into Win32.

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

Documentation: minor grammatical fixes in git-archive... David J. Mellor Tue, 17 Mar 2009 06:16:14 +0000 (23:16 -0700)

Documentation: minor grammatical fixes in git-archive.txt.

Signed-off-by: David J. Mellor <dmellor@whistlingcat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib.sh: Allow running the test suite against insta... Michael J Gruber Mon, 16 Mar 2009 17:03:12 +0000 (18:03 +0100)

test-lib.sh: Allow running the test suite against installed git

Introduce variables GIT_TEST_INSTALLED and GIT_TEST_EXEC_PATH such that
the test suite can be run against a git which is installed at
GIT_TEST_INSTALLED with subcommands at GIT_TEST_EXEC_PATH.

GIT_TEST_INSTALLED defaults to the git.git checkout, GIT_TEST_EXEC_PATH
defaults to the output of '$GIT_TEST_INSTALLED/git --exec-path'.

Run the suite e.g. as

GIT_TEST_INSTALLED=/some/path make test

but note that this requires and uses parts of a compiled git in the
git.git checkout: test helpers, templates and perl libraries are taken
from there.

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

test-lib.sh: Test for presence of git-init in the right... Michael J Gruber Mon, 16 Mar 2009 17:03:11 +0000 (18:03 +0100)

test-lib.sh: Test for presence of git-init in the right path.

It just happens so that when GIT_EXEC_PATH points to a compiled checkout
of git.git it contains "git". Since this is not true in general make
test-lib check for "git-init" which is always in GIT_EXEC_PATH.

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

Remove total confusion from git-fetch and git-pushJunio C Hamano Mon, 16 Mar 2009 07:35:09 +0000 (00:35 -0700)

Remove total confusion from git-fetch and git-push

The config file is not the only place remotes are defined, and without
consulting .git/remotes and .git/branches, you won't know if "origin" is
configured by the user. Don't give up too early and insult the user with
a wisecrack "Where do you want to fetch from today?"

The only thing the previous patch seems to want to prevent from happening
is a lazy "git fetch/push" that does not say where-from/to to produce an
error message 'origin not found', and we can do that by not letting
add_url_alias() to turn a nickname "origin" literally into a pathname
"origin" without changing the rest of the logic.

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

Fix various dead stores found by the clang static analyzerBenjamin Kramer Sun, 15 Mar 2009 21:01:20 +0000 (22:01 +0100)

Fix various dead stores found by the clang static analyzer

http-push.c::finish_request():
request is initialized by the for loop

index-pack.c::free_base_data():
b is initialized by the for loop

merge-recursive.c::process_renames():
move compare to narrower scope, and remove unused assignments to it
remove unused variable renames2

xdiff/xdiffi.c::xdl_recs_cmp():
remove unused variable ec

xdiff/xemit.c::xdl_emit_diff():
xche is always overwritten

Signed-off-by: Benjamin Kramer <benny.kra@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with GIT 1.6.2.1Junio C Hamano Sun, 15 Mar 2009 20:10:10 +0000 (13:10 -0700)

Sync with GIT 1.6.2.1

GIT 1.6.2.1 v1.6.2.1Junio C Hamano Sun, 15 Mar 2009 20:03:19 +0000 (13:03 -0700)

GIT 1.6.2.1

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

checkout bugfix: use stat.mtime instead of stat.ctime... Kjetil Barvik Sun, 15 Mar 2009 11:38:55 +0000 (12:38 +0100)

checkout bugfix: use stat.mtime instead of stat.ctime in two places

Commit e1afca4fd "write_index(): update index_state->timestamp after
flushing to disk" on 2009-02-23 used stat.ctime to record the
timestamp of the index-file. This is wrong, so fix this and use the
correct stat.mtime timestamp instead.

Commit 110c46a909 "Not all systems use st_[cm]tim field for ns
resolution file timestamp" on 2009-03-08, has a similar bug for the
builtin-fetch-pack.c file.

Signed-off-by: Kjetil Barvik <barvik@broadpark.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib: write test results to test-results/<basename... Johannes Schindelin Fri, 13 Mar 2009 16:26:36 +0000 (17:26 +0100)

test-lib: write test results to test-results/<basename>-<pid>

The earlier code meant to attempt to strip everything except the test
number, but only stripped the part starting with the last dash.

However, there is no reason why we should not use the whole basename.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove unused assignmentsBenjamin Kramer Fri, 13 Mar 2009 12:51:33 +0000 (13:51 +0100)

Remove unused assignments

These variables were always overwritten or the assigned
value was unused:

builtin-diff-tree.c::cmd_diff_tree(): nr_sha1
builtin-for-each-ref.c::opt_parse_sort(): sort_tail
builtin-mailinfo.c::decode_header_bq(): in
builtin-shortlog.c::insert_one_record(): len
connect.c::git_connect(): path
imap-send.c::v_issue_imap_cmd(): n
pretty.c::pp_user_info(): filler
remote::parse_refspec_internal(): llen

Signed-off-by: Benjamin Kramer <benny.kra@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-suite: Make test script numbers uniqueJohannes Sixt Fri, 13 Mar 2009 12:23:26 +0000 (13:23 +0100)

test-suite: Make test script numbers unique

In order to selectively skip tests, the environment variable GIT_SKIP_TESTS
can be set like this:

$ GIT_SKIP_TESTS='t1301 t4150.18' make test

That is, its value can contain only the test script numbers, but not the
full script name. Therefore, it is important that the test scripts are
uniquely numbered. This makes it so.

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

Read attributes from the index that is being checked outJunio C Hamano Sat, 14 Mar 2009 04:24:08 +0000 (21:24 -0700)

Read attributes from the index that is being checked out

Traditionally we used .gitattributes file from the work tree if exists,
and otherwise read from the index as a fallback. When switching to a
branch that has an updated .gitattributes file, and entries in it give
different attributes to other paths being checked out, we should instead
read from the .gitattributes in the index.

This breaks a use case of fixing incorrect entries in the .gitattributes
in the work tree (without adding it to the index) and checking other paths
out, though.

$ edit .gitattributes ;# mark foo.dat as binary
$ rm foo.dat
$ git checkout foo.dat

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

Merge branch 'maint'Junio C Hamano Fri, 13 Mar 2009 06:39:28 +0000 (23:39 -0700)

Merge branch 'maint'

* maint:

Merge branch 'maint-1.6.1' into maintJunio C Hamano Fri, 13 Mar 2009 06:37:16 +0000 (23:37 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Fri, 13 Mar 2009 06:36:57 +0000 (23:36 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
bisect: fix another instance of eval'ed string
bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped
Support "\" in non-wildcard exclusion entries

Conflicts:
git-bisect.sh

configure: rework pthread handling to allow for user... Ben Walton Thu, 12 Mar 2009 19:20:12 +0000 (15:20 -0400)

configure: rework pthread handling to allow for user defined flags

The tests for POSIX threads can now be controlled by the user with the
--enable-pthreads=FLAGS option. If this is set (to some value other
than yes or no), the value is passed to the compiler. Thread support
is based solely on the outcome of this test. The user may specify not
to use threading at all or to use the default tests (first -pthread
then -lpthread) by not specifying FLAGS when passing --enable-pthreads.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

configure: make iconv tests aware of user argumentsBen Walton Thu, 12 Mar 2009 19:20:11 +0000 (15:20 -0400)

configure: make iconv tests aware of user arguments

--with-iconv is now taken into account when doing the tests for iconv.
If the user requests alternate handling for libiconv, the -liconv test
is run before the -lc test.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

configure: asciidoc version test cleanupBen Walton Thu, 12 Mar 2009 19:20:10 +0000 (15:20 -0400)

configure: asciidoc version test cleanup

Redirect stderr to /dev/null instead of stdout. This discards warnings
generated by python 2.6 related to the reorganization of functions within
modules. The warnings were causing the version detection to break.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

configure: wrap some library tests with GIT_STASH_FLAGSBen Walton Thu, 12 Mar 2009 19:20:09 +0000 (15:20 -0400)

configure: wrap some library tests with GIT_STASH_FLAGS

Libraries that can have user specificed base paths are wrapped with
GIT_STASH_FLAGS/GIT_UNSTASH_FLAGS to ensure that the proper versions
on the system are tested. This ensures, for example, that the zlib
tests for deflateUnbound are done with the version of zlib requested
by the user. This is most useful in the absence of good settings for
CPPFLAGS and/or LDFLAGS.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

configure: add macros to stash FLAG variablesBen Walton Thu, 12 Mar 2009 19:20:08 +0000 (15:20 -0400)

configure: add macros to stash FLAG variables

Allow for quick stash/unstash of CPPFLAGS and LDFLAGS. Library tests
can now be easily bracketted with these macros to allow for values
set in user/site arguments.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

configure: reorganize flow of argument checksBen Walton Thu, 12 Mar 2009 19:20:07 +0000 (15:20 -0400)

configure: reorganize flow of argument checks

Move the argument tests from the 'site overrides' so that they are
ahead of any library tests. This allows for library tests to take
user specified paths into account. The intent here is to avoid things
like NO_DEFLATE_BOUND being set due to finding old zlib when the user
has specified an alternate location for zlib. (Ignore the fact that
properly set *FLAGS can avoid solve this issue.)

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

configure: ensure settings from user are also usable... Ben Walton Thu, 12 Mar 2009 19:20:06 +0000 (15:20 -0400)

configure: ensure settings from user are also usable in the script

Allow things set by the user (--with-lib, --with-iconv, etc) to set
variables for use by other parts of the script. Display values as
they're set.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'en/maint-1.6.1-hash-object' into maint... Junio C Hamano Fri, 13 Mar 2009 06:11:23 +0000 (23:11 -0700)

Merge branch 'en/maint-1.6.1-hash-object' into maint-1.6.1

* en/maint-1.6.1-hash-object:
Ensure proper setup of git_dir for git-hash-object

http.c: CURLOPT_NETRC_OPTIONAL is not available in... Junio C Hamano Fri, 13 Mar 2009 05:34:43 +0000 (22:34 -0700)

http.c: CURLOPT_NETRC_OPTIONAL is not available in ancient versions of cURL

Besides, we have already called easy_setopt with the option before coming
to this function if it was available, so there is no need to repeat it
here.

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

Merge branch 'ks/maint-1.6.0-mailinfo-folded' into... Junio C Hamano Fri, 13 Mar 2009 04:48:43 +0000 (21:48 -0700)

Merge branch 'ks/maint-1.6.0-mailinfo-folded' into maint-1.6.0

* ks/maint-1.6.0-mailinfo-folded:
mailinfo: tests for RFC2047 examples
mailinfo: add explicit test for mails like '<a.u.thor@example.com> (A U Thor)'
mailinfo: 'From:' header should be unfold as well
mailinfo: correctly handle multiline 'Subject:' header

Merge branch 'cc/maint-1.6.0-bisect-fix' into maint... Junio C Hamano Fri, 13 Mar 2009 04:48:26 +0000 (21:48 -0700)

Merge branch 'cc/maint-1.6.0-bisect-fix' into maint-1.6.0

* cc/maint-1.6.0-bisect-fix:
bisect: fix another instance of eval'ed string
bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped

Merge branch 'fg/maint-1.6.0-exclude-bq' into maint... Junio C Hamano Fri, 13 Mar 2009 04:48:07 +0000 (21:48 -0700)

Merge branch 'fg/maint-1.6.0-exclude-bq' into maint-1.6.0

* fg/maint-1.6.0-exclude-bq:
Support "\" in non-wildcard exclusion entries

Merge branch 'js/maint-1.6.1-filter-branch-submodule... Junio C Hamano Fri, 13 Mar 2009 04:46:50 +0000 (21:46 -0700)

Merge branch 'js/maint-1.6.1-filter-branch-submodule' into maint-1.6.1

* js/maint-1.6.1-filter-branch-submodule:
filter-branch: do not consider diverging submodules a 'dirty worktree'

Merge branch 'gt/maint-1.6.1-utf8-width' into maint... Junio C Hamano Fri, 13 Mar 2009 04:46:35 +0000 (21:46 -0700)

Merge branch 'gt/maint-1.6.1-utf8-width' into maint-1.6.1

* gt/maint-1.6.1-utf8-width:
builtin-blame.c: Use utf8_strwidth for author's names
utf8: add utf8_strwidth()

Merge branch 'js/maint-1.6.1-remote-remove-mirror'... Junio C Hamano Fri, 13 Mar 2009 04:45:56 +0000 (21:45 -0700)

Merge branch 'js/maint-1.6.1-remote-remove-mirror' into maint-1.6.1

* js/maint-1.6.1-remote-remove-mirror:
builtin-remote: make rm operation safer in mirrored repository
builtin-remote: make rm() use properly named variable to hold return value

Merge branch 'ek/maint-1.6.1-filter-branch-bare' into... Junio C Hamano Fri, 13 Mar 2009 04:45:21 +0000 (21:45 -0700)

Merge branch 'ek/maint-1.6.1-filter-branch-bare' into maint-1.6.1

* ek/maint-1.6.1-filter-branch-bare:
filter-branch: Fix fatal error on bare repositories

Merge branch 'jc/maint-1.6.1-add-u-remove-conflicted... Junio C Hamano Fri, 13 Mar 2009 04:45:14 +0000 (21:45 -0700)

Merge branch 'jc/maint-1.6.1-add-u-remove-conflicted' into maint-1.6.1

* jc/maint-1.6.1-add-u-remove-conflicted:
add -u: do not fail to resolve a path as deleted

Merge branch 'js/maint-1.6.1-rebase-i-submodule' into... Junio C Hamano Fri, 13 Mar 2009 04:45:02 +0000 (21:45 -0700)

Merge branch 'js/maint-1.6.1-rebase-i-submodule' into maint-1.6.1

* js/maint-1.6.1-rebase-i-submodule:
Fix submodule squashing into unrelated commit
rebase -i squashes submodule changes into unrelated commit

Merge branch 'jc/maint-1.6.1-allow-uninteresting-missin... Junio C Hamano Fri, 13 Mar 2009 04:44:48 +0000 (21:44 -0700)

Merge branch 'jc/maint-1.6.1-allow-uninteresting-missing' into maint-1.6.1

* jc/maint-1.6.1-allow-uninteresting-missing:
revision traversal: allow UNINTERESTING objects to be missing

Merge branch 'ks/maint-1.6.0-mailinfo-folded' into... Junio C Hamano Fri, 13 Mar 2009 04:44:00 +0000 (21:44 -0700)

Merge branch 'ks/maint-1.6.0-mailinfo-folded' into maint-1.6.1

* ks/maint-1.6.0-mailinfo-folded:
mailinfo: tests for RFC2047 examples
mailinfo: add explicit test for mails like '<a.u.thor@example.com> (A U Thor)'
mailinfo: 'From:' header should be unfold as well
mailinfo: correctly handle multiline 'Subject:' header

Merge branch 'jk/maint-1.6.1-cleanup-after-exec-failure... Junio C Hamano Fri, 13 Mar 2009 04:43:38 +0000 (21:43 -0700)

Merge branch 'jk/maint-1.6.1-cleanup-after-exec-failure' into maint-1.6.1

* jk/maint-1.6.1-cleanup-after-exec-failure:
git: use run_command() to execute dashed externals
run_command(): help callers distinguish errors
run_command(): handle missing command errors more gracefully
git: s/run_command/run_builtin/