gitweb.git
Merge branch 'bg/apply-fix-blank-at-eof'Junio C Hamano Sat, 20 Mar 2010 18:29:35 +0000 (11:29 -0700)

Merge branch 'bg/apply-fix-blank-at-eof'

* bg/apply-fix-blank-at-eof:
t3417: Add test cases for "rebase --whitespace=fix"
t4124: Add additional tests of --whitespace=fix
apply: Allow blank context lines to match beyond EOF
apply: Remove the quick rejection test
apply: Don't unnecessarily update line lengths in the preimage

Merge branch 'bw/union-merge-refactor'Junio C Hamano Sat, 20 Mar 2010 18:29:34 +0000 (11:29 -0700)

Merge branch 'bw/union-merge-refactor'

* bw/union-merge-refactor:
merge-file: add option to select union merge favor
merge-file: add option to specify the marker size
refactor merge flags into xmparam_t
make union merge an xdl merge favor

Merge branch 'maint'Junio C Hamano Sat, 20 Mar 2010 18:29:19 +0000 (11:29 -0700)

Merge branch 'maint'

* maint:
Update draft release notes to 1.7.0.3
fetch: Fix minor memory leak
fetch: Future-proof initialization of a refspec on stack
fetch: Check for a "^{}" suffix with suffixcmp()
daemon: parse_host_and_port SIGSEGV if port is specified
Makefile: Fix CDPATH problem
pull: replace unnecessary sed invocation

Update draft release notes to 1.7.0.3Junio C Hamano Sat, 20 Mar 2010 18:29:13 +0000 (11:29 -0700)

Update draft release notes to 1.7.0.3

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

fetch: Fix minor memory leakAndreas Gruenbacher Mon, 15 Mar 2010 22:18:48 +0000 (23:18 +0100)

fetch: Fix minor memory leak

A temporary struct ref is allocated in store_updated_refs() but not
freed.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fetch: Future-proof initialization of a refspec on... Andreas Gruenbacher Fri, 12 Mar 2010 22:27:33 +0000 (23:27 +0100)

fetch: Future-proof initialization of a refspec on stack

The open-coded version to initialize each and every member will break
when a new member is added to the structure.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fetch: Check for a "^{}" suffix with suffixcmp()Andreas Gruenbacher Sat, 13 Mar 2010 17:17:04 +0000 (18:17 +0100)

fetch: Check for a "^{}" suffix with suffixcmp()

Otherwise, we will check random bytes for ref names < 3 characters.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix a spelling mistake in a git-p4 console messageBenjamin C Meyer Fri, 19 Mar 2010 04:39:10 +0000 (00:39 -0400)

Fix a spelling mistake in a git-p4 console message

Signed-off-by: Benjamin C Meyer <bmeyer@rim.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use test_expect_success for test setupsBrian Gernhardt Sat, 20 Mar 2010 08:29:11 +0000 (04:29 -0400)

Use test_expect_success for test setups

Several tests did not use test_expect_success for their setup
commands. Putting these start commands into the testing framework
means both that errors during setup will be caught quickly and that
non-error text will be suppressed without -v.

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

daemon: parse_host_and_port SIGSEGV if port is specifiedImre Deak Sat, 20 Mar 2010 02:23:58 +0000 (04:23 +0200)

daemon: parse_host_and_port SIGSEGV if port is specified

This typo will lead to git-daemon dying any time the connect
string includes a port after the host= attribute. This can lead
for example to one of the following error messages on the client
side when someone tries git clone git://...:<port>.

When the daemon is running on localhost:
fatal: The remote end hung up unexpectedly

or when the daemon is connected through an ssh tunnel:
fatal: protocol error: bad line length character: erro

In the latter case 'erro' comes from the daemon's reply:
error: git-daemon died of signal 11

Signed-off-by: Imre Deak <imre.deak@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: Fix occasional GIT-CFLAGS breakageJonathan Nieder Sat, 20 Mar 2010 03:20:12 +0000 (22:20 -0500)

Makefile: Fix occasional GIT-CFLAGS breakage

GNU make’s target-specific variables facility has one weird facet: any
variables set for a given target apply to all of its dependencies,
too. For example, when running “make exec_cmd.o”, since exec_cmd.o
depends on GIT-CFLAGS, the variable assignment in

exec_cmd.s exec_cmd.o: ALL_CFLAGS += \
'-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \
'-DBINDIR="$(bindir_relative_SQ)"' \
'-DPREFIX="$(prefix_SQ)"'

applies when refreshing GIT-CFLAGS, and the extra options get included
in the tracked compiler flags. If an object file like this is the
first target built, GIT-CFLAGS will appear to be out of date,
resulting in useless rebuilds and the dreaded “new build flags or
prefix” message.

This does not happen with every build because GIT-CFLAGS is only
refreshed once in a given “make” run, and usually the first target
does not set any variables. When this problem does rear its head, it
is very annoying.

So put target-specific flags in a separate EXTRA_CPPFLAGS variable
that is not included in $(TRACK_CFLAGS).

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

Makefile: Fix CDPATH problemJonathan Nieder Sat, 20 Mar 2010 00:06:15 +0000 (19:06 -0500)

Makefile: Fix CDPATH problem

If CDPATH is set, "cd" prints its destination to stdout, causing
the common (cd a && tar cf - .) | (cd b && tar xf -) idiom to fail.
For example:

make -C templates DESTDIR='' install
make[1]: Entering directory `/users/e477610/exptool/src/git-1.7.0.2/templates'
install -d -m 755 '/home/e477610/exptool/share/git-core/templates'
(cd blt && gtar cf - .) | \
(cd '/home/e477610/exptool/share/git-core/templates' && umask 022 && gtar xof -)
gtar: This does not look like a tar archive

Most git scripts already protect against use of CDPATH through
git-sh-setup, but the Makefile doesn’t.

Reported-by: Michael Cox <mhcox@bluezoosoftware.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

notes.c: remove inappropriate call to returnBrandon Casey Thu, 18 Mar 2010 15:03:43 +0000 (10:03 -0500)

notes.c: remove inappropriate call to return

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pull: replace unnecessary sed invocationStephen Boyd Thu, 18 Mar 2010 05:10:45 +0000 (22:10 -0700)

pull: replace unnecessary sed invocation

Getting the shortened branch name is as easy as using the shell's
parameter expansion.

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

Merge branch 'maint'Junio C Hamano Wed, 17 Mar 2010 21:24:08 +0000 (14:24 -0700)

Merge branch 'maint'

* maint:
Documentation: receive.denyCurrentBranch defaults to 'refuse'
bash: complete *_HEAD refs if present

Documentation: receive.denyCurrentBranch defaults to... Thomas Rast Wed, 17 Mar 2010 11:14:57 +0000 (12:14 +0100)

Documentation: receive.denyCurrentBranch defaults to 'refuse'

acd2a45 (Refuse updating the current branch in a non-bare repository
via push, 2009-02-11) changed the default to refuse such a push, but
it forgot to update the docs.

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

bash: complete *_HEAD refs if presentIan Ward Comfort Wed, 17 Mar 2010 09:20:35 +0000 (02:20 -0700)

bash: complete *_HEAD refs if present

We already complete HEAD, of course, and might as well complete the other
common refs mentioned in the rev-parse man page: FETCH_HEAD, ORIG_HEAD, and
MERGE_HEAD.

Signed-off-by: Ian Ward Comfort <icomfort@stanford.edu>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Wed, 17 Mar 2010 02:30:37 +0000 (19:30 -0700)

Merge branch 'maint'

* maint:
Documentation/git-read-tree: clarify 2-tree merge
Documentation/git-read-tree: fix table layout

Documentation/git-read-tree: clarify 2-tree mergeMichael J Gruber Mon, 15 Mar 2010 10:54:46 +0000 (11:54 +0100)

Documentation/git-read-tree: clarify 2-tree merge

Clarify the description of the 2-tree merge by defining the terms
which are used in the table, and by applying some small linguistic
changes.

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

Documentation/git-read-tree: fix table layoutMichael J Gruber Mon, 15 Mar 2010 10:54:45 +0000 (11:54 +0100)

Documentation/git-read-tree: fix table layout

Asciidoc takes the first non-space character in the first line of the
paragraph as a reference point for preformatted layout, so adjust to
that to make the table align.

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

Merge branch 'sd/format-patch-to'Junio C Hamano Mon, 15 Mar 2010 07:58:55 +0000 (00:58 -0700)

Merge branch 'sd/format-patch-to'

* sd/format-patch-to:
send-email: add --no-cc, --no-to, and --no-bcc
format-patch: add --no-cc, --no-to, and --no-add-headers
format-patch: use a string_list for headers
Add 'git format-patch --to=' option and 'format.to' configuration variable.

Merge branch 'tc/http-cleanup'Junio C Hamano Mon, 15 Mar 2010 07:58:50 +0000 (00:58 -0700)

Merge branch 'tc/http-cleanup'

* tc/http-cleanup:
remote-curl: init walker only when needed
remote-curl: use http_fetch_ref() instead of walker wrapper
http: init and cleanup separately from http-walker
http-walker: cleanup more thoroughly
http-push: remove "|| 1" to enable verbose check
t554[01]-http-push: refactor, add non-ff tests
t5541-http-push: check that ref is unchanged for non-ff test

Merge branch 'tc/transport-verbosity'Junio C Hamano Mon, 15 Mar 2010 07:58:42 +0000 (00:58 -0700)

Merge branch 'tc/transport-verbosity'

* tc/transport-verbosity:
transport: update flags to be in running order
fetch and pull: learn --progress
push: learn --progress
transport->progress: use flag authoritatively
clone: support multiple levels of verbosity
push: support multiple levels of verbosity
fetch: refactor verbosity option handling into transport.[ch]
Documentation/git-push: put --quiet before --verbose
Documentation/git-pull: put verbosity options before merge/fetch ones
Documentation/git-clone: mention progress in -v

Conflicts:
transport.h

Merge branch 'ld/push-porcelain'Junio C Hamano Mon, 15 Mar 2010 07:58:24 +0000 (00:58 -0700)

Merge branch 'ld/push-porcelain'

* ld/push-porcelain:
t5516: Use test_cmp when appropriate
git-push: add tests for git push --porcelain
git-push: make git push --porcelain print "Done"
git-push: send "To <remoteurl>" messages to the standard output in --porcelain mode
git-push: fix an advice message so it goes to stderr

Conflicts:
transport.c

Merge branch 'jh/notes'Junio C Hamano Mon, 15 Mar 2010 07:52:06 +0000 (00:52 -0700)

Merge branch 'jh/notes'

* jh/notes: (33 commits)
Documentation: fix a few typos in git-notes.txt
notes: fix malformed tree entry
builtin-notes: Minor (mostly parse_options-related) fixes
builtin-notes: Add "copy" subcommand for copying notes between objects
builtin-notes: Misc. refactoring of argc and exit value handling
builtin-notes: Add -c/-C options for reusing notes
builtin-notes: Refactor handling of -F option to allow combining -m and -F
builtin-notes: Deprecate the -m/-F options for "git notes edit"
builtin-notes: Add "append" subcommand for appending to note objects
builtin-notes: Add "add" subcommand for adding notes to objects
builtin-notes: Add --message/--file aliases for -m/-F options
builtin-notes: Add "list" subcommand for listing note objects
Documentation: Generalize git-notes docs to 'objects' instead of 'commits'
builtin-notes: Add "prune" subcommand for removing notes for missing objects
Notes API: prune_notes(): Prune notes that belong to non-existing objects
t3305: Verify that removing notes triggers automatic fanout consolidation
builtin-notes: Add "remove" subcommand for removing existing notes
Teach builtin-notes to remove empty notes
Teach notes code to properly preserve non-notes in the notes tree
t3305: Verify that adding many notes with git-notes triggers increased fanout
...

Conflicts:
Makefile

Merge branch 'maint'Junio C Hamano Sun, 14 Mar 2010 05:31:42 +0000 (21:31 -0800)

Merge branch 'maint'

* maint:
don't use default revision if a rev was specified
for_each_recent_reflog_ent(): use strbuf, fix offset handling
t/Makefile: remove test artifacts upon "make clean"
blame: fix indent of line numbers

don't use default revision if a rev was specifiedDave Olszewski Sat, 13 Mar 2010 22:47:05 +0000 (14:47 -0800)

don't use default revision if a rev was specified

If a revision is specified, it happens not to have any commits, don't
use the default revision. By doing so, surprising and undesired
behavior can happen, such as showing the reflog for HEAD when a branch
was specified.

[jc: squashed a test from René]

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

for_each_recent_reflog_ent(): use strbuf, fix offset... René Scharfe Sat, 13 Mar 2010 17:37:50 +0000 (18:37 +0100)

for_each_recent_reflog_ent(): use strbuf, fix offset handling

As Vladimir reported, "git log -g refs/stash" surprisingly showed the reflog
of HEAD if the message in the reflog file was too long. To fix this, convert
for_each_recent_reflog_ent() to use strbuf_getwholeline() instead of fgets(),
for safety and to avoid any size limits for reflog entries.

Also reverse the logic of the part of the function that only looks at file
tails. It used to close the file if fgets() succeeded. The following
fgets() call in the while loop was likely to fail in this case, too, so
passing an offset to for_each_recent_reflog_ent() never worked. Change it to
error out if strbuf_getwholeline() fails instead.

Reported-by: Vladimir Panteleev <vladimir@thecybershadow.net>
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/Makefile: remove test artifacts upon "make clean"Junio C Hamano Sat, 13 Mar 2010 20:41:20 +0000 (12:41 -0800)

t/Makefile: remove test artifacts upon "make clean"

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

blame: fix indent of line numbersRené Scharfe Sat, 13 Mar 2010 10:25:12 +0000 (11:25 +0100)

blame: fix indent of line numbers

Correct the calculation of the number of digits for line counts of the
form 10^n-1 (9, 99, ...) in lineno_width(). This makes blame stop
printing an extra space before the line numbers of files with that many
total lines.

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

Merge git://git.bogomips.org/git-svnJunio C Hamano Sat, 13 Mar 2010 20:02:54 +0000 (12:02 -0800)

Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
t9150,t9151: Add rewrite-root option to init
git-svn: Fix merge detecting with rewrite-root

t9150,t9151: Add rewrite-root option to initTuomas Suutari Wed, 24 Feb 2010 18:09:02 +0000 (20:09 +0200)

t9150,t9151: Add rewrite-root option to init

The rewrite-root option seems to be a bit problematic with merge
detecting, so it's better to have a merge detecting test with it
turned on.

Signed-off-by: Tuomas Suutari <tuomas.suutari@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: Fix merge detecting with rewrite-rootTuomas Suutari Wed, 24 Feb 2010 18:09:01 +0000 (20:09 +0200)

git-svn: Fix merge detecting with rewrite-root

Detecting of merges from svn:mergeinfo or svk merge tickets failed
with rewrite-root option. This fixes it.

Signed-off-by: Tuomas Suutari <tuomas.suutari@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

Merge branch 'maint'Junio C Hamano Sat, 13 Mar 2010 06:13:22 +0000 (22:13 -0800)

Merge branch 'maint'

* maint:
t9400: Use test_cmp when appropriate

t5516: Use test_cmp when appropriateJunio C Hamano Fri, 12 Mar 2010 05:51:57 +0000 (21:51 -0800)

t5516: Use test_cmp when appropriate

Consistently using test_cmp would make debugging test scripts far easier,
as output from them run under "-v" option becomes readable.

Besides, some platforms' "diff" implementations lack "-q" option.

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

t9400: Use test_cmp when appropriateJunio C Hamano Fri, 12 Mar 2010 05:40:33 +0000 (21:40 -0800)

t9400: Use test_cmp when appropriate

Consistently using test_cmp would make debugging test scripts far easier,
as output from them run under "-v" option becomes readable.

Besides, some platforms' "diff" implementations lack "-q" option.

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

Merge branch 'sd/init-template'Junio C Hamano Wed, 10 Mar 2010 23:32:43 +0000 (15:32 -0800)

Merge branch 'sd/init-template'

* sd/init-template:
wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR
t/t0001-init.sh: add test for 'init with init.templatedir set'
init: having keywords without value is not a global error.
Add a "TEMPLATE DIRECTORY" section to git-init[1].
Add `init.templatedir` configuration variable.

Merge branch 'sh/am-keep-cr'Junio C Hamano Wed, 10 Mar 2010 23:32:34 +0000 (15:32 -0800)

Merge branch 'sh/am-keep-cr'

* sh/am-keep-cr:
git-am: Add tests for `--keep-cr`, `--no-keep-cr` and `am.keepcr`
git-am: Add am.keepcr and --no-keep-cr to override it
git-am: Add command line parameter `--keep-cr` passing it to git-mailsplit
documentation: 'git-mailsplit --keep-cr' is not hidden anymore

Merge branch 'cp/add-u-pathspec'Junio C Hamano Wed, 10 Mar 2010 23:32:02 +0000 (15:32 -0800)

Merge branch 'cp/add-u-pathspec'

* cp/add-u-pathspec:
test for add with non-existent pathspec
git add -u: die on unmatched pathspec

Makefile: update check-docs targetJunio C Hamano Wed, 10 Mar 2010 23:31:34 +0000 (15:31 -0800)

Makefile: update check-docs target

When we added bunch of git-remote-* helper backends, we should have
done this to squelch complaints that they do not have their own
manual pages. Also the entry for git-remote-helpers was not
properly marked as a non-command.

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

Merge branch 'lt/deepen-builtin-source'Junio C Hamano Wed, 10 Mar 2010 23:25:18 +0000 (15:25 -0800)

Merge branch 'lt/deepen-builtin-source'

* lt/deepen-builtin-source:
Move 'builtin-*' into a 'builtin/' subdirectory

Conflicts:
Makefile

send-email: add --no-cc, --no-to, and --no-bccStephen Boyd Sun, 7 Mar 2010 22:46:48 +0000 (14:46 -0800)

send-email: add --no-cc, --no-to, and --no-bcc

There's no way to override the sendemail.to, sendemail.cc, and
sendemail.bcc config settings. Add options allowing the user to tell
git to ignore the config settings and take whatever is on the command
line.

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

format-patch: add --no-cc, --no-to, and --no-add-headersStephen Boyd Sun, 7 Mar 2010 22:46:47 +0000 (14:46 -0800)

format-patch: add --no-cc, --no-to, and --no-add-headers

These new options allow users to override their config settings for
format.cc, format.to and format.headers respectively. These options
only make git ignore the config settings and any previous command line
options, so you'll still have to add more command line options to add
extra headers. For example,

$ cat .git/config
[format]
to = Someone <someone@out.there>
$ git format-patch -1 --no-to --to="Someone Else <else@out.there>"

would format a patch addressed to "Someone Else" and not "Someone".

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

format-patch: use a string_list for headersStephen Boyd Sun, 7 Mar 2010 22:46:46 +0000 (14:46 -0800)

format-patch: use a string_list for headers

In the next patch we'll need to clear the header lists if the user
specifies --no-add-headers or --no-to or --no-cc. This actually cuts
down on the code a bit too.

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

Update draft release notes to 1.7.1Junio C Hamano Mon, 8 Mar 2010 08:54:05 +0000 (00:54 -0800)

Update draft release notes to 1.7.1

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

Merge branch 'maint'Junio C Hamano Mon, 8 Mar 2010 08:52:01 +0000 (00:52 -0800)

Merge branch 'maint'

* maint:
Merge accumulated fixes to prepare for 1.7.0.3

Conflicts:
RelNotes

Merge accumulated fixes to prepare for 1.7.0.3Junio C Hamano Mon, 8 Mar 2010 08:50:24 +0000 (00:50 -0800)

Merge accumulated fixes to prepare for 1.7.0.3

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

Merge branch 'mw/maint-gcc-warns-unused-write' into... Junio C Hamano Mon, 8 Mar 2010 08:36:02 +0000 (00:36 -0800)

Merge branch 'mw/maint-gcc-warns-unused-write' into maint

* mw/maint-gcc-warns-unused-write:
run-command.c: fix build warnings on Ubuntu

Merge branch 'fn/maint-mkdtemp-compat' into maintJunio C Hamano Mon, 8 Mar 2010 08:36:02 +0000 (00:36 -0800)

Merge branch 'fn/maint-mkdtemp-compat' into maint

* fn/maint-mkdtemp-compat:
Fix gitmkdtemp: correct test for mktemp() return value

Merge branch 'gb/maint-submodule-env' into maintJunio C Hamano Mon, 8 Mar 2010 08:36:02 +0000 (00:36 -0800)

Merge branch 'gb/maint-submodule-env' into maint

* gb/maint-submodule-env:
is_submodule_modified(): clear environment properly
submodules: ensure clean environment when operating in a submodule
shell setup: clear_local_git_env() function
rev-parse: --local-env-vars option
Refactor list of of repo-local env vars

Merge branch 'as/maint-expire' into maintJunio C Hamano Mon, 8 Mar 2010 08:36:01 +0000 (00:36 -0800)

Merge branch 'as/maint-expire' into maint

* as/maint-expire:
reflog: honor gc.reflogexpire=never
prune: honor --expire=never

Merge branch 'ml/maint-grep-doc' into maintJunio C Hamano Mon, 8 Mar 2010 08:36:01 +0000 (00:36 -0800)

Merge branch 'ml/maint-grep-doc' into maint

* ml/maint-grep-doc:
grep docs: document --no-index option
grep docs: --cached and <tree>... are incompatible
grep docs: use AsciiDoc literals consistently
grep docs: pluralize "Example" section

Merge branch 'jk/maint-push-tracking-wo-remote' into... Junio C Hamano Mon, 8 Mar 2010 08:36:01 +0000 (00:36 -0800)

Merge branch 'jk/maint-push-tracking-wo-remote' into maint

* jk/maint-push-tracking-wo-remote:
push: fix segfault for odd config

Merge branch 'jc/fetch-param' into maintJunio C Hamano Mon, 8 Mar 2010 08:36:00 +0000 (00:36 -0800)

Merge branch 'jc/fetch-param' into maint

* jc/fetch-param:
fetch --all/--multiple: keep all the fetched branch information
builtin-fetch --all/--multi: propagate options correctly
t5521: fix and modernize

Merge branch 'ne/pack-local-doc' into maintJunio C Hamano Mon, 8 Mar 2010 08:36:00 +0000 (00:36 -0800)

Merge branch 'ne/pack-local-doc' into maint

* ne/pack-local-doc:
pack-objects documentation: Fix --honor-pack-keep as well.
pack-objects documentation: reword "objects that appear in the standard input"
Documentation: pack-objects: Clarify --local's semantics.

Merge branch 'jk/maint-add--interactive-delete' into... Junio C Hamano Mon, 8 Mar 2010 08:36:00 +0000 (00:36 -0800)

Merge branch 'jk/maint-add--interactive-delete' into maint

* jk/maint-add--interactive-delete:
add-interactive: fix bogus diff header line ordering

Merge branch 'mm/mkstemps-mode-for-packfiles' into... Junio C Hamano Mon, 8 Mar 2010 08:36:00 +0000 (00:36 -0800)

Merge branch 'mm/mkstemps-mode-for-packfiles' into maint

* mm/mkstemps-mode-for-packfiles:
Use git_mkstemp_mode instead of plain mkstemp to create object files
git_mkstemps_mode: don't set errno to EINVAL on exit.
Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.
git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument.
Move gitmkstemps to path.c
Add a testcase for ACL with restrictive umask.

Merge branch 'jc/maint-fix-mailinfo-strip' into maintJunio C Hamano Mon, 8 Mar 2010 08:35:59 +0000 (00:35 -0800)

Merge branch 'jc/maint-fix-mailinfo-strip' into maint

* jc/maint-fix-mailinfo-strip:
mailinfo: do not strip leading spaces even for a header line

Merge branch 'jc/grep-author-all-match-implicit' into... Junio C Hamano Mon, 8 Mar 2010 08:35:59 +0000 (00:35 -0800)

Merge branch 'jc/grep-author-all-match-implicit' into maint

* jc/grep-author-all-match-implicit:
"log --author=me --grep=it" should find intersection, not union

Merge branch 'jc/checkout-detached' into maintJunio C Hamano Mon, 8 Mar 2010 08:35:59 +0000 (00:35 -0800)

Merge branch 'jc/checkout-detached' into maint

* jc/checkout-detached:
Reword "detached HEAD" notification

Merge branch 'maint-1.6.6' into maintJunio C Hamano Mon, 8 Mar 2010 08:35:58 +0000 (00:35 -0800)

Merge branch 'maint-1.6.6' into maint

* maint-1.6.6:

Merge branch 'jc/maint-fix-test-perm' into maint-1.6.6Junio C Hamano Sun, 7 Mar 2010 22:54:05 +0000 (14:54 -0800)

Merge branch 'jc/maint-fix-test-perm' into maint-1.6.6

* jc/maint-fix-test-perm:
lib-patch-mode.sh: Fix permission
t6000lib: Fix permission

Merge branch 'sp/maint-push-sideband' into maint-1.6.6Junio C Hamano Sun, 7 Mar 2010 22:54:01 +0000 (14:54 -0800)

Merge branch 'sp/maint-push-sideband' into maint-1.6.6

* sp/maint-push-sideband:
receive-pack: Send internal errors over side-band #2
t5401: Use a bare repository for the remote peer
receive-pack: Send hook output over side band #2
receive-pack: Wrap status reports inside side-band-64k
receive-pack: Refactor how capabilities are shown to the client
send-pack: demultiplex a sideband stream with status data
run-command: support custom fd-set in async
run-command: Allow stderr to be a caller supplied pipe

Merge branch 'hm/maint-imap-send-crlf' into maint-1.6.6Junio C Hamano Sun, 7 Mar 2010 22:53:57 +0000 (14:53 -0800)

Merge branch 'hm/maint-imap-send-crlf' into maint-1.6.6

* hm/maint-imap-send-crlf:
git-imap-send: Convert LF to CRLF before storing patch to draft box

Merge branch 'gf/maint-sh-setup-nongit-ok' into maint... Junio C Hamano Sun, 7 Mar 2010 22:53:53 +0000 (14:53 -0800)

Merge branch 'gf/maint-sh-setup-nongit-ok' into maint-1.6.6

* gf/maint-sh-setup-nongit-ok:
require_work_tree broken with NONGIT_OK

Merge branch 'jk/maint-rmdir-fix' into maint-1.6.6Junio C Hamano Sun, 7 Mar 2010 22:53:50 +0000 (14:53 -0800)

Merge branch 'jk/maint-rmdir-fix' into maint-1.6.6

* jk/maint-rmdir-fix:
rm: fix bug in recursive subdirectory removal

Merge branch 'rs/optim-text-wrap' into maint-1.6.6Junio C Hamano Sun, 7 Mar 2010 22:53:45 +0000 (14:53 -0800)

Merge branch 'rs/optim-text-wrap' into maint-1.6.6

* rs/optim-text-wrap:
utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text()
utf8.c: remove strbuf_write()
utf8.c: remove print_spaces()
utf8.c: remove print_wrapped_text()

Merge branch 'tr/maint-cherry-pick-list' into maint... Junio C Hamano Sun, 7 Mar 2010 22:53:40 +0000 (14:53 -0800)

Merge branch 'tr/maint-cherry-pick-list' into maint-1.6.6

* tr/maint-cherry-pick-list:
cherry_pick_list: quit early if one side is empty

Merge branch 'cc/maint-bisect-paths' into maint-1.6.6Junio C Hamano Sun, 7 Mar 2010 22:53:35 +0000 (14:53 -0800)

Merge branch 'cc/maint-bisect-paths' into maint-1.6.6

* cc/maint-bisect-paths:
bisect: error out when passing bad path parameters

Merge branch 'mw/maint-gcc-warns-unused-write'Junio C Hamano Sun, 7 Mar 2010 20:47:18 +0000 (12:47 -0800)

Merge branch 'mw/maint-gcc-warns-unused-write'

* mw/maint-gcc-warns-unused-write:
run-command.c: fix build warnings on Ubuntu

Merge branch 'as/maint-expire'Junio C Hamano Sun, 7 Mar 2010 20:47:17 +0000 (12:47 -0800)

Merge branch 'as/maint-expire'

* as/maint-expire:
reflog: honor gc.reflogexpire=never
prune: honor --expire=never

Merge branch 'ml/maint-grep-doc'Junio C Hamano Sun, 7 Mar 2010 20:47:17 +0000 (12:47 -0800)

Merge branch 'ml/maint-grep-doc'

* ml/maint-grep-doc:
grep docs: document --no-index option
grep docs: --cached and <tree>... are incompatible
grep docs: use AsciiDoc literals consistently
grep docs: pluralize "Example" section

Merge branch 'fn/maint-mkdtemp-compat'Junio C Hamano Sun, 7 Mar 2010 20:47:17 +0000 (12:47 -0800)

Merge branch 'fn/maint-mkdtemp-compat'

* fn/maint-mkdtemp-compat:
Fix gitmkdtemp: correct test for mktemp() return value

Merge branch 'gb/maint-submodule-env'Junio C Hamano Sun, 7 Mar 2010 20:47:17 +0000 (12:47 -0800)

Merge branch 'gb/maint-submodule-env'

* gb/maint-submodule-env:
is_submodule_modified(): clear environment properly
submodules: ensure clean environment when operating in a submodule
shell setup: clear_local_git_env() function
rev-parse: --local-env-vars option
Refactor list of of repo-local env vars

Merge branch 'ne/pack-local-doc'Junio C Hamano Sun, 7 Mar 2010 20:47:16 +0000 (12:47 -0800)

Merge branch 'ne/pack-local-doc'

* ne/pack-local-doc:
pack-objects documentation: Fix --honor-pack-keep as well.
pack-objects documentation: reword "objects that appear in the standard input"
Documentation: pack-objects: Clarify --local's semantics.

Merge branch 'mb/shortlog-nongit-stdin'Junio C Hamano Sun, 7 Mar 2010 20:47:16 +0000 (12:47 -0800)

Merge branch 'mb/shortlog-nongit-stdin'

* mb/shortlog-nongit-stdin:
shortlog: warn the user when there is no input

Merge branch 'jk/maint-push-tracking-wo-remote'Junio C Hamano Sun, 7 Mar 2010 20:47:16 +0000 (12:47 -0800)

Merge branch 'jk/maint-push-tracking-wo-remote'

* jk/maint-push-tracking-wo-remote:
push: fix segfault for odd config

Merge branch 'jc/fetch-param'Junio C Hamano Sun, 7 Mar 2010 20:47:16 +0000 (12:47 -0800)

Merge branch 'jc/fetch-param'

* jc/fetch-param:
fetch --all/--multiple: keep all the fetched branch information
builtin-fetch --all/--multi: propagate options correctly
t5521: fix and modernize

Merge branch 'il/loosen-remote-helper-names'Junio C Hamano Sun, 7 Mar 2010 20:47:15 +0000 (12:47 -0800)

Merge branch 'il/loosen-remote-helper-names'

* il/loosen-remote-helper-names:
Allow '+', '-' and '.' in remote helper names

Merge branch 'nd/root-git'Junio C Hamano Sun, 7 Mar 2010 20:47:15 +0000 (12:47 -0800)

Merge branch 'nd/root-git'

* nd/root-git:
Add test for using Git at root of file system
Support working directory located at root
Move offset_1st_component() to path.c
init-db, rev-parse --git-dir: do not append redundant slash
make_absolute_path(): Do not append redundant slash

Conflicts:
setup.c
sha1_file.c

Merge branch 'js/runtime-prefix-trace-not-warn'Junio C Hamano Sun, 7 Mar 2010 20:47:15 +0000 (12:47 -0800)

Merge branch 'js/runtime-prefix-trace-not-warn'

* js/runtime-prefix-trace-not-warn:
Print RUNTIME_PREFIX warning only when GIT_TRACE is set

Merge branch 'mm/mkstemps-mode-for-packfiles'Junio C Hamano Sun, 7 Mar 2010 20:47:14 +0000 (12:47 -0800)

Merge branch 'mm/mkstemps-mode-for-packfiles'

* mm/mkstemps-mode-for-packfiles:
Use git_mkstemp_mode instead of plain mkstemp to create object files
git_mkstemps_mode: don't set errno to EINVAL on exit.
Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.
git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument.
Move gitmkstemps to path.c
Add a testcase for ACL with restrictive umask.

Merge branch 'jk/maint-add--interactive-delete'Junio C Hamano Sun, 7 Mar 2010 20:47:14 +0000 (12:47 -0800)

Merge branch 'jk/maint-add--interactive-delete'

* jk/maint-add--interactive-delete:
add-interactive: fix bogus diff header line ordering

Merge branch 'jc/maint-fix-mailinfo-strip'Junio C Hamano Sun, 7 Mar 2010 20:47:14 +0000 (12:47 -0800)

Merge branch 'jc/maint-fix-mailinfo-strip'

* jc/maint-fix-mailinfo-strip:
mailinfo: do not strip leading spaces even for a header line

Sync with 1.7.0.2Junio C Hamano Sun, 7 Mar 2010 19:09:47 +0000 (11:09 -0800)

Sync with 1.7.0.2

Git 1.7.0.2 v1.7.0.2Junio C Hamano Sun, 7 Mar 2010 19:07:51 +0000 (11:07 -0800)

Git 1.7.0.2

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

unset GREP_OPTIONS in test-lib.shBert Wesarg Wed, 18 Nov 2009 16:15:19 +0000 (17:15 +0100)

unset GREP_OPTIONS in test-lib.sh

I used to set GREP_OPTIONS to exclude *.orig and *.rej files. But with this
the test t4252-am-options.sh fails because it calls grep with a .rej file:

grep "@@ -1,3 +1,3 @@" file-2.rej

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

Merge branch 'maint'Junio C Hamano Sun, 7 Mar 2010 08:02:15 +0000 (00:02 -0800)

Merge branch 'maint'

* maint:
stash: suggest the correct command line for unknown options.
t7406: Fix submodule init config tests

t3417: Add test cases for "rebase --whitespace=fix"Björn Gustavsson Sat, 6 Mar 2010 14:31:17 +0000 (15:31 +0100)

t3417: Add test cases for "rebase --whitespace=fix"

The command "git rebase --whitespace=fix HEAD~<N>" is supposed to
only clean up trailing whitespace, and the expectation is that it
cannot fail.

Unfortunately, if one commit adds a blank line at the end of a file
and a subsequent commit adds more non-blank lines after the blank
line, "git apply" (used indirectly by "git rebase") will fail to apply
the patch of the second commit.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4124: Add additional tests of --whitespace=fixBjörn Gustavsson Sat, 6 Mar 2010 14:31:04 +0000 (15:31 +0100)

t4124: Add additional tests of --whitespace=fix

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: Allow blank context lines to match beyond EOFBjörn Gustavsson Sat, 6 Mar 2010 14:30:42 +0000 (15:30 +0100)

apply: Allow blank context lines to match beyond EOF

"git apply --whitespace=fix" will not always succeed when used
on a series of patches in the following circumstances:

* One patch adds a blank line at the end of a file. (Since
--whitespace=fix is used, the blank line will *not* be added.)

* The next patch adds non-blank lines after the blank line
introduced in the first patch. That patch will not apply
because the blank line that is expected to be found at end
of the file is no longer there.

A patch series that starts by deleting lines at the end
will fail in a similar way.

Fix this problem by allowing a blank context line at the beginning
of a hunk to match if parts of it falls beyond end of the file.
We still require that at least one non-blank context line match
before the end of the file.

If the --ignore-space-change option is given (as well as the
--whitespace=fix option), blank context lines falling beyond the end
of the file will be copied unchanged to the target file (i.e. they
will have the same line terminators and extra spaces will not be
removed).

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: Remove the quick rejection testBjörn Gustavsson Sat, 6 Mar 2010 14:30:29 +0000 (15:30 +0100)

apply: Remove the quick rejection test

In the next commit, we will make it possible for blank context
lines to match beyond the end of the file. That means that a hunk
with a preimage that has more lines than present in the file may
be possible to successfully apply. Therefore, we must remove
the quick rejection test in find_pos().

find_pos() will already work correctly without the quick
rejection test, but that might not be obvious. Therefore,
comment the test for handling out-of-range line numbers in
find_pos() and cast the "line" variable to the same (unsigned)
type as img->nr.

What are performance implications of removing the quick
rejection test?

It can only help "git apply" to reject a patch faster. For example,
if I have a file with one million lines and a patch that removes
slightly more than 50 percent of the lines and try to apply that
patch twice, the second attempt will fail slightly faster
with the test than without (based on actual measurements).

However, there is the pathological case of a patch with many
more context lines than the default three, and applying that patch
using "git apply -C1". Without the rejection test, the running
time will be roughly proportional to the number of context lines
times the size of the file. That could be handled by writing
a more complicated rejection test (it would have to count the
number of blanks at the end of the preimage), but I don't find
that worth doing until there is a real-world use case that
would benfit from it.

It would be possible to keep the quick rejection test if
--whitespace=fix is not given, but I don't like that from
a testing point of view.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: Don't unnecessarily update line lengths in the... Björn Gustavsson Sat, 6 Mar 2010 14:30:21 +0000 (15:30 +0100)

apply: Don't unnecessarily update line lengths in the preimage

In match_fragment(), the line lengths in the preimage are updated
just before calling update_pre_post_images(). That is not
necessary, since update_pre_post_images() itself will
update the line lengths based on the buffer passed to it.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

stash: suggest the correct command line for unknown... Matthieu Moy Fri, 5 Mar 2010 18:43:23 +0000 (19:43 +0100)

stash: suggest the correct command line for unknown options.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7406: Fix submodule init config testsStephen Boyd Fri, 5 Mar 2010 08:20:38 +0000 (00:20 -0800)

t7406: Fix submodule init config tests

These tests have been broken since they were introduced in commits
ca2cedb (git-submodule: add support for --rebase., 2009-04-24) and
42b4917 (git-submodule: add support for --merge., 2009-06-03).
'git submodule init' expects the submodules to exist in the index.
In this case, the submodules don't exist and therefore looking for
the submodules will always fail. To make matters worse, git submodule
fails visibly to the user by saying:

error: pathspec 'rebasing' did not match any file(s) known to git.
Did you forget to 'git add'?

but doesn't return an error code. This allows the test to fail silently.
Fix it by adding the submodules first.

Cc: Johan Herland <johan@herland.net>
Cc: Peter Hutterer <peter.hutterer@who-t.net>
Cc: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add 'git format-patch --to=' option and 'format.to... Steven Drake Tue, 16 Feb 2010 23:39:34 +0000 (12:39 +1300)

Add 'git format-patch --to=' option and 'format.to' configuration variable.

Has the same functionality as the '--cc' option and 'format.cc'
configuration variable but for the "To:" email header. Half of the code to
support this was already there.

With email the To: header usually more important than the Cc: header.

[jc: tests are by Stephen Boyd]

Signed-off-by: Steven Drake <sdrake@xnet.co.nz>
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: make git svn --version work againMichael J Gruber Thu, 4 Mar 2010 10:23:53 +0000 (11:23 +0100)

git-svn: make git svn --version work again

by requesting SVN::Core which is needed for the svn version.

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

Revert "git-svn: always initialize with core.autocrlf... Erik Faye-Lund Wed, 3 Mar 2010 20:10:23 +0000 (21:10 +0100)

Revert "git-svn: always initialize with core.autocrlf=false"

git-svn rebase used to have issues with CRLF conversion. Since these issues
have been fixed, we can safely revert the work-around that disables CRLF
conversion.

This reverts commit d3c9634eacdcaa71cbd69a160e6f4e80ddb7ab63.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: support fetch with autocrlf onErik Faye-Lund Wed, 3 Mar 2010 20:10:22 +0000 (21:10 +0100)

git-svn: support fetch with autocrlf on

Before commit d3c9634e, performing a "git svn rebase" that fetched a
change containing CRLFs corrupted the git-svn meta-data. This was
worked around in d3c9634e by setting core.autocrlf to "false" in the
per-repo config when initing the clone. However, if the config
variable was later changed, the corruption would still occur.

This patch tries to fix it while allowing core.autocrlf to be
enabled, by disabling filters when when hashing.

git-svn is currently the only call-site for hash_and_insert_object
(apart from the test-suite), so changing it should be safe.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

hash-object: support --stdin-paths with --no-filtersErik Faye-Lund Wed, 3 Mar 2010 20:10:21 +0000 (21:10 +0100)

hash-object: support --stdin-paths with --no-filters

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