gitweb.git
Merge branch 'maint'Junio C Hamano Mon, 30 Mar 2009 06:11:23 +0000 (23:11 -0700)

Merge branch 'maint'

* maint:
git-svn: fix ls-tree usage with dash-prefixed paths
import-zips: fix thinko

Merge branch 'maint-1.6.1' into maintJunio C Hamano Mon, 30 Mar 2009 06:11:13 +0000 (23:11 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
import-zips: fix thinko

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Mon, 30 Mar 2009 06:11:03 +0000 (23:11 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
import-zips: fix thinko

send-email: add tests for refactored promptingJay Soffian Sun, 29 Mar 2009 01:39:11 +0000 (21:39 -0400)

send-email: add tests for refactored prompting

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

send-email: refactor and ensure prompting doesn't loop... Jay Soffian Sun, 29 Mar 2009 01:39:10 +0000 (21:39 -0400)

send-email: refactor and ensure prompting doesn't loop forever

Several places in send-email prompt for input, and will do so forever
when the input is EOF. This is poor behavior when send-email is run
unattended (say from cron).

This patch refactors the prompting to an ask() function which takes a
prompt, an optional default, and an optional regex to validate the
input. The function returns on EOF, or if a default is provided and the
user simply types return, or if the input passes the validating regex
(which accepts all input by default). The ask() function gives up after
10 tries in case of invalid input.

There are four callers of the function:

1) "Who should the emails appear to be from?" which provides a default
sender. Previously the user would have to type ctrl-d to accept the
default. Now the user can just hit return, or type ctrl-d.

2) "Who should the emails be sent to?". Previously this prompt passed a
second argument ("") to $term->readline() which was ignored. I believe
the intent was to allow the user to just hit return. Now the user
can do so, or type ctrl-d.

3) "Message-ID to be used as In-Reply-To for the first email?".
Previously this prompt passed a second argument (effectively undef) to
$term->readline() which was ignored. I believe the intent was the same
as for (2), to allow the user to just hit return. Now the user can do
so, or type ctrl-d.

4) "Send this email?". Previously this prompt would loop forever until
it got a valid reply. Now it stops prompting on EOF or a valid reply. In
the case where confirm = "inform", it now defaults to "y" on EOF or the
user hitting return, otherwise an invalid reply causes send-email to
terminate.

A followup patch adds tests for the new functionality.

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

git-svn: fix ls-tree usage with dash-prefixed pathsEric Wong Sun, 29 Mar 2009 06:10:45 +0000 (23:10 -0700)

git-svn: fix ls-tree usage with dash-prefixed paths

To find the blob object name given a tree and pathname, we were
incorrectly calling "git ls-tree" with a "--" argument followed
by the pathname of the file we wanted to get.

git ls-tree <TREE> -- --dashed/path/name.c

Unlike many command-line interfaces, the "--" alone does not
symbolize the end of non-option arguments on the command-line.

ls-tree interprets the "--" as a prefix to match against, thus
the entire contents of the --dashed/* hierarchy would be
returned because the "--" matches "--dashed" and every path
under it.

Thanks to Anton Gyllenberg for pointing me toward the
Twisted repository as a real-world example of this case.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

import-zips: fix thinkoJohannes Schindelin Sun, 29 Mar 2009 20:42:27 +0000 (22:42 +0200)

import-zips: fix thinko

Embarrassingly, the common prefix calculation did not work properly, due
to a mistake in the assignment: instead of assigning the dirname of the
current file name, the dirname of the current common prefix needs to
be assigned to common prefix, when the current prefix does not match the
current file name.

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

git-svn: don't output git commits in quiet modeSimon Arlott Sun, 29 Mar 2009 19:34:50 +0000 (20:34 +0100)

git-svn: don't output git commits in quiet mode

Ideally only errors should be output in this mode so fetch
can be run from cron and normally produce no output. Without
this change it would output a single line on each git commit,
e.g.
r1909 = 32ef87860662526d4a62f903949ed21e0341079e (u2_10_12_branch)

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: fix ls-tree usage with dash-prefixed pathsEric Wong Sun, 29 Mar 2009 05:10:08 +0000 (22:10 -0700)

git-svn: fix ls-tree usage with dash-prefixed paths

To find the blob object name given a tree and pathname, we were
incorrectly calling "git ls-tree" with a "--" argument followed
by the pathname of the file we wanted to get.

git ls-tree <TREE> -- --dashed/path/name.c

Unlike many command-line interfaces, the "--" alone does not
symbolize the end of non-option arguments on the command-line.

ls-tree interprets the "--" as a prefix to match against, thus
the entire contents of the --dashed/* hierarchy would be
returned because the "--" matches "--dashed" and every path
under it.

Thanks to Anton Gyllenberg for pointing me toward the
Twisted repository as a real-world example of this case.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

Merge branch 'maint'Junio C Hamano Sat, 28 Mar 2009 08:16:46 +0000 (01:16 -0700)

Merge branch 'maint'

* maint:
test-lib: Clean up comments and Makefile.
diff --no-index: Do not generate patch output if other output is requested

Update draft release notes to 1.6.3Junio C Hamano Sat, 28 Mar 2009 07:55:52 +0000 (00:55 -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-diff-borrow-carefully'Junio C Hamano Sat, 28 Mar 2009 07:42:31 +0000 (00:42 -0700)

Merge branch 'jc/maint-1.6.0-diff-borrow-carefully'

* jc/maint-1.6.0-diff-borrow-carefully:
diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged

Merge branch 'js/remote-improvements'Junio C Hamano Sat, 28 Mar 2009 07:42:22 +0000 (00:42 -0700)

Merge branch 'js/remote-improvements'

* js/remote-improvements:
remote: improve sorting of "configure for git push" list

Merge branch 'jk/clone-post-checkout'Junio C Hamano Sat, 28 Mar 2009 07:42:17 +0000 (00:42 -0700)

Merge branch 'jk/clone-post-checkout'

* jk/clone-post-checkout:
githooks documentation: post-checkout hook is also called after clone

Merge branch 'maint-1.6.1' into maintJunio C Hamano Sat, 28 Mar 2009 07:41:50 +0000 (00:41 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
test-lib: Clean up comments and Makefile.
diff --no-index: Do not generate patch output if other output is requested

test-lib: Clean up comments and Makefile.Emil Sit Sat, 28 Mar 2009 01:57:18 +0000 (21:57 -0400)

test-lib: Clean up comments and Makefile.

Bring documentation in test-lib and clean target
in Makefile in-line with abc5d372.

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

rebase: fix typo (force_rebas -> force-rebas)Michele Ballabio Wed, 18 Mar 2009 18:05:56 +0000 (19:05 +0100)

rebase: fix typo (force_rebas -> force-rebas)

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

Merge branch 'db/push-cleanup'Junio C Hamano Fri, 27 Mar 2009 04:01:44 +0000 (21:01 -0700)

Merge branch 'db/push-cleanup'

* db/push-cleanup:
builtin-send-pack.c: avoid empty structure initialization

builtin-send-pack.c: avoid empty structure initializationBrandon Casey Fri, 27 Mar 2009 02:37:53 +0000 (21:37 -0500)

builtin-send-pack.c: avoid empty structure initialization

The IRIX6.5 MIPSpro Compiler doesn't like it.

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

Grammar fix for "git merge" man pageWincent Colaiuta Thu, 26 Mar 2009 09:39:04 +0000 (10:39 +0100)

Grammar fix for "git merge" man page

As spotted by the eagle eyes of Jeff King.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Thu, 26 Mar 2009 07:29:05 +0000 (00:29 -0700)

Merge branch 'maint'

* maint:
documentation: update cvsimport description of "-r" for recent clone

Merge branch 'db/push-cleanup'Junio C Hamano Thu, 26 Mar 2009 07:28:46 +0000 (00:28 -0700)

Merge branch 'db/push-cleanup'

* db/push-cleanup:
Move push matching and reporting logic into transport.c
Use a common function to get the pretty name of refs

Conflicts:
transport.c

Merge branch 'jc/maint-1.6.0-blame-s'Junio C Hamano Thu, 26 Mar 2009 07:28:22 +0000 (00:28 -0700)

Merge branch 'jc/maint-1.6.0-blame-s'

* jc/maint-1.6.0-blame-s:
blame: read custom grafts given by -S before calling setup_revisions()

Conflicts:
builtin-blame.c

Merge branch 'mg/http-auth'Junio C Hamano Thu, 26 Mar 2009 07:27:59 +0000 (00:27 -0700)

Merge branch 'mg/http-auth'

* mg/http-auth:
http-push.c: use a faux remote to pass to http_init
Do not name "repo" struct "remote" in push_http.c
http.c: CURLOPT_NETRC_OPTIONAL is not available in ancient versions of cURL
http authentication via prompts
http_init(): Fix config file parsing
http.c: style cleanups

Conflicts:
http-push.c

Merge branch 'jk/reflog-date'Junio C Hamano Thu, 26 Mar 2009 07:27:37 +0000 (00:27 -0700)

Merge branch 'jk/reflog-date'

* jk/reflog-date:
make oneline reflog dates more consistent with multiline format

Merge branch 'jc/attributes-checkout'Junio C Hamano Thu, 26 Mar 2009 07:27:33 +0000 (00:27 -0700)

Merge branch 'jc/attributes-checkout'

* jc/attributes-checkout:
Add a test for checking whether gitattributes is honored by checkout.
Read attributes from the index that is being checked out

Merge branch 'js/maint-diff-temp-smudge'Junio C Hamano Thu, 26 Mar 2009 07:27:30 +0000 (00:27 -0700)

Merge branch 'js/maint-diff-temp-smudge'

* js/maint-diff-temp-smudge:
Smudge the files fed to external diff and textconv

Merge branch 'js/maint-1.6.0-exec-path-env'Junio C Hamano Thu, 26 Mar 2009 07:27:03 +0000 (00:27 -0700)

Merge branch 'js/maint-1.6.0-exec-path-env'

* js/maint-1.6.0-exec-path-env:
Propagate --exec-path setting to external commands via GIT_EXEC_PATH

Merge branch 'bc/maint-1.6.1-branch-deleted-was'Junio C Hamano Thu, 26 Mar 2009 07:26:47 +0000 (00:26 -0700)

Merge branch 'bc/maint-1.6.1-branch-deleted-was'

* bc/maint-1.6.1-branch-deleted-was:
git-branch: display "was sha1" on branch deletion rather than just "sha1"

Conflicts:
builtin-branch.c

Merge branch 'fg/push-default'Junio C Hamano Thu, 26 Mar 2009 07:26:25 +0000 (00:26 -0700)

Merge branch 'fg/push-default'

* fg/push-default:
builtin-push.c: Fix typo: "anythig" -> "anything"
Display warning for default git push with no push.default config
New config push.default to decide default behavior for push

Conflicts:
Documentation/config.txt

Merge branch 'dm/maint-docco'Junio C Hamano Thu, 26 Mar 2009 07:26:04 +0000 (00:26 -0700)

Merge branch 'dm/maint-docco'

* dm/maint-docco:
Documentation: Remove spurious uses of "you" in git-bisect.txt.
Documentation: minor grammatical fix in git-check-ref-format.txt
Documentation: minor grammatical fixes in git-check-attr.txt
Documentation: minor grammatical fixes in git-cat-file.txt
Documentation: minor grammatical fixes and rewording in git-bundle.txt
Documentation: remove some uses of the passive voice in git-bisect.txt

documentation: update cvsimport description of "-r... Carlo Marcelo Arenas Belon Thu, 26 Mar 2009 07:08:09 +0000 (00:08 -0700)

documentation: update cvsimport description of "-r" for recent clone

the "--use-separate-remote" option no longer exists, having since
become the default for a clone.

Signed-off-by: Carlo Marcelo Arenas Belon <carenas@sajinet.com.pe>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fast-export: Avoid dropping files from commitsElijah Newren Wed, 25 Mar 2009 23:53:23 +0000 (17:53 -0600)

fast-export: Avoid dropping files from commits

When exporting a subset of commits on a branch that do not go back to a
root commit (e.g. master~2..master), we still want each exported commit to
have the same files in the exported tree as in the original tree.

Previously, when given such a range, we would omit master~2 as a parent of
master~1, but we would still diff against master~2 when selecting the list
of files to include in master~1. This would result in only files that
had changed in the given range showing up in the resulting export. In such
cases, we should diff master~1 against the root instead (i.e. use
diff_root_tree_sha1 instead of diff_tree_sha1).

There's a special case to consider here: incremental exports (i.e. exports
where the --import-marks flag is specified). If master~2 is an imported
mark, then we still want to diff master~1 against master~2 when selecting
the list of files to include.

We can handle all cases, including the special case, by just checking
whether master~2 corresponds to a known object mark when deciding what to
diff against.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: Remove spurious uses of "you" in git... David J. Mellor Thu, 26 Mar 2009 03:44:44 +0000 (20:44 -0700)

Documentation: Remove spurious uses of "you" in git-bisect.txt.

These were added by accident in a42dea3.

This patch also rewords the description of how ranges of commits can be
skipped.

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

Grammar fixes to "merge" and "patch-id" docsWincent Colaiuta Wed, 25 Mar 2009 18:23:42 +0000 (19:23 +0100)

Grammar fixes to "merge" and "patch-id" docs

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Correct missing SP characters in grammar comment at... Elijah Newren Wed, 25 Mar 2009 21:22:13 +0000 (15:22 -0600)

Correct missing SP characters in grammar comment at top of fast-import.c

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

git-filter-branch: avoid collisions with variables... Elijah Newren Wed, 25 Mar 2009 21:51:01 +0000 (15:51 -0600)

git-filter-branch: avoid collisions with variables in eval'ed commands

Avoid using simple variable names like 'i', since user commands are eval'ed
and may clash with and overwrite our values.

Signed-off-by: Elijah Newren <newren@gmail.com>
Acked-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'for-junio' of git://repo.or.cz/git/mingw/j6tJunio C Hamano Wed, 25 Mar 2009 22:08:09 +0000 (15:08 -0700)

Merge branch 'for-junio' of git://repo.or.cz/git/mingw/j6t

* 'for-junio' of git://repo.or.cz/git/mingw/j6t:
t7502-commit: Skip SIGTERM test on Windows
t7005-editor: Use $SHELL_PATH in the editor scripts

builtin-push.c: Fix typo: "anythig" -> "anything"Kevin Ballard Wed, 25 Mar 2009 20:14:03 +0000 (13:14 -0700)

builtin-push.c: Fix typo: "anythig" -> "anything"

Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7502-commit: Skip SIGTERM test on WindowsJohannes Sixt Wed, 25 Mar 2009 12:21:15 +0000 (13:21 +0100)

t7502-commit: Skip SIGTERM test on Windows

The implementation of exec on Windows is just a rough approximation of the
POSIX behavior. In particular, no real process "overlay" happens (a new
process is spawned instead and the parent process waits until the child
terminates). In particular, the process ID cannot be taken by the exec'd
process. But there is one test in t7502-commit.sh that depends on this.
We have to skip it on Windows.

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

t7005-editor: Use $SHELL_PATH in the editor scriptsJohannes Sixt Wed, 25 Mar 2009 11:48:30 +0000 (12:48 +0100)

t7005-editor: Use $SHELL_PATH in the editor scripts

The test sets up various shell scripts and uses them as commit message
editors. On Windows, we need a shebang line in order to recognize the
files as executable shell scripts. This adds it.

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

diff --no-index: Do not generate patch output if other... Johannes Sixt Wed, 25 Mar 2009 17:19:46 +0000 (18:19 +0100)

diff --no-index: Do not generate patch output if other output is requested

Previously, 'git diff --no-index --stat a b' generated patch output in
addition to the --stat output (or whatever other output format was
requested). Now only the requested output is generated, and patch
output remains the default.

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

Guard a few Makefile variables against user environmentsJohannes Schindelin Wed, 25 Mar 2009 16:27:28 +0000 (17:27 +0100)

Guard a few Makefile variables against user environments

Some variables are not initialized in the Makefile, but appended to. If
the user has those variables in her environment, it will break the
build.

The variable names were found using these commands:

$ s='[ \t]';
$ S='[^ \t]';
$ comm -23 \
<(sed -n "s/^$s*\($S*\)$s$s*+=.*/\1/p" < Makefile |
sort | uniq) \
<(sed -n "s/^$s*\($S*\)$s$s*=.*/\1/p" < Makefile |
sort | uniq)

This fixes msysGit issue 216.

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

Merge branch 'maint'Junio C Hamano Wed, 25 Mar 2009 02:45:57 +0000 (19:45 -0700)

Merge branch 'maint'

* maint:
Increase the size of the die/warning buffer to avoid truncation
close_sha1_file(): make it easier to diagnose errors
avoid possible overflow in delta size filtering computation

Add warning about known issues to documentation of... Heiko Voigt Mon, 23 Mar 2009 19:53:05 +0000 (20:53 +0100)

Add warning about known issues to documentation of cvsimport

The described issues are compiled from the tests by Michael Haggerty and me.
Because it is not apparent that these can be fixed anytime soon at least warn
unwary users not to rely on the inbuilt cvsimport to much.

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

completion: add --thread=deep/shallow to format-patchStephen Boyd Mon, 23 Mar 2009 10:26:51 +0000 (03:26 -0700)

completion: add --thread=deep/shallow to format-patch

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Trivially-Acked-By: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add --cc and --no-attachment option to... Stephen Boyd Mon, 23 Mar 2009 10:26:50 +0000 (03:26 -0700)

completion: add --cc and --no-attachment option to format-patch

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Trivially-Acked-By: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add --annotate option to send-emailStephen Boyd Mon, 23 Mar 2009 10:26:49 +0000 (03:26 -0700)

completion: add --annotate option to send-email

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Trivially-Acked-By: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Increase the size of the die/warning buffer to avoid... Shawn O. Pearce Tue, 24 Mar 2009 23:10:35 +0000 (16:10 -0700)

Increase the size of the die/warning buffer to avoid truncation

Long messages like those from lockfile.c when a lock can't be
obtained truncate with only 256 bytes in the message buffer.
Bump it to 1024 to give more space for these longer cases.

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

Merge branch 'maint-1.6.1' into maintJunio C Hamano Tue, 24 Mar 2009 22:31:21 +0000 (15:31 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
close_sha1_file(): make it easier to diagnose errors
avoid possible overflow in delta size filtering computation

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Tue, 24 Mar 2009 22:31:15 +0000 (15:31 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
close_sha1_file(): make it easier to diagnose errors
avoid possible overflow in delta size filtering computation

MinGW: Quote arguments for subprocesses that contain... Johannes Sixt Tue, 24 Mar 2009 20:43:02 +0000 (21:43 +0100)

MinGW: Quote arguments for subprocesses that contain a single-quote

Before a process can be spawned by mingw_spawnve, arguments must be
surrounded by double-quotes if special characters are present. This is
necessary because the startup code of the spawned process will expand
arguments that look like glob patterns. "Normal" Windows command line
utilities expand only * and ?, but MSYS programs, including bash, are
different: They also expand braces, and this has already been taken care
of by compat/mingw.c:quote_arg().

But MSYS programs also treat single-quotes in a special way: Arguments
between single-quotes are spliced together (with spaces) into a word.
With this patch this treatment is avoided by quoting arguments that contain
single-quotes.

This lets t4252 pass on Windows.

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

Merge branch 'js/windows-tests'Junio C Hamano Tue, 24 Mar 2009 21:42:50 +0000 (14:42 -0700)

Merge branch 'js/windows-tests'

* js/windows-tests:
t0060: fix whitespace in "wc -c" invocation
t5503: GIT_DEBUG_SEND_PACK is not supported on MinGW
t7004: Use prerequisite tags to skip tests that need gpg
Use prerequisites to skip tests that need unzip
t3700: Skip a test with backslashes in pathspec
Skip tests that require a filesystem that obeys POSIX permissions
t0060: Fix tests on Windows
Use prerequisite tags to skip tests that depend on symbolic links
t9100, t9129: Use prerequisite tags for UTF-8 tests
t5302: Use prerequisite tags to skip 64-bit offset tests
Skip tests that fail if the executable bit is not handled by the filesystem
t3600: Use test prerequisite tags
test-lib: Infrastructure to test and check for prerequisites
t0050: Check whether git init detected symbolic link support correctly
Tests on Windows: $(pwd) must return Windows-style paths
test-lib: Work around missing sum on Windows
test-lib: Work around incompatible sort and find on Windows

Conflicts:
t/t3000-ls-files-others.sh

close_sha1_file(): make it easier to diagnose errorsLinus Torvalds Tue, 24 Mar 2009 19:31:36 +0000 (12:31 -0700)

close_sha1_file(): make it easier to diagnose errors

A bug report with "unable to write sha1 file" made us realize that we do
not have enough information to guess why close() is failing.

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

avoid possible overflow in delta size filtering computationNicolas Pitre Tue, 24 Mar 2009 19:56:12 +0000 (15:56 -0400)

avoid possible overflow in delta size filtering computation

On a 32-bit system, the maximum possible size for an object is less than
4GB, while 64-bit systems may cope with larger objects. Due to this
limitation, variables holding object sizes are using an unsigned long
type (32 bits on 32-bit systems, or 64 bits on 64-bit systems).

When large objects are encountered, and/or people play with large delta
depth values, it is possible for the maximum allowed delta size
computation to overflow, especially on a 32-bit system. When this
occurs, surviving result bits may represent a value much smaller than
what it is supposed to be, or even zero. This prevents some objects
from being deltified although they do get deltified when a smaller depth
limit is used. Fix this by always performing a 64-bit multiplication.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

refs: use warning() instead of fprintf(stderr, "warning: ")Miklos Vajna Tue, 24 Mar 2009 01:09:17 +0000 (02:09 +0100)

refs: use warning() instead of fprintf(stderr, "warning: ")

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

builtin-show-ref: use warning() instead of fprintf... Miklos Vajna Tue, 24 Mar 2009 01:09:16 +0000 (02:09 +0100)

builtin-show-ref: use warning() instead of fprintf(stderr, "warning: ")

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

builtin-show-branch: use warning() instead of fprintf... Miklos Vajna Tue, 24 Mar 2009 01:09:15 +0000 (02:09 +0100)

builtin-show-branch: use warning() instead of fprintf(stderr, "warning: ")

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

builtin-rm: use warning() instead of fprintf(stderr... Miklos Vajna Tue, 24 Mar 2009 01:09:14 +0000 (02:09 +0100)

builtin-rm: use warning() instead of fprintf(stderr, "warning: ")

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

builtin-init-db: use warning() instead of fprintf(stder... Miklos Vajna Tue, 24 Mar 2009 01:09:13 +0000 (02:09 +0100)

builtin-init-db: use warning() instead of fprintf(stderr, "warning: ")

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

builtin-fetch-pack: use warning() instead of fprintf... Miklos Vajna Tue, 24 Mar 2009 01:09:12 +0000 (02:09 +0100)

builtin-fetch-pack: use warning() instead of fprintf(stderr, "warning: ")

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

builtin-checkout: use warning() instead of fprintf... Miklos Vajna Tue, 24 Mar 2009 01:09:11 +0000 (02:09 +0100)

builtin-checkout: use warning() instead of fprintf(stderr, "warning: ")

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

builtin-apply: use warning() instead of fprintf(stderr... Miklos Vajna Tue, 24 Mar 2009 01:09:10 +0000 (02:09 +0100)

builtin-apply: use warning() instead of fprintf(stderr, "warning: ")

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

http-push: using error() and warning() as appropriateMiklos Vajna Tue, 24 Mar 2009 01:09:09 +0000 (02:09 +0100)

http-push: using error() and warning() as appropriate

Change three occurences of using inconsistent error/warning reporting by
using the relevant error() / warning() calls to be consitent with the
rest of the code.

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

t0060: fix whitespace in "wc -c" invocationJeff King Mon, 23 Mar 2009 06:22:29 +0000 (02:22 -0400)

t0060: fix whitespace in "wc -c" invocation

Some platforms like to stick extra whitespace in the output
of "wc -c"; using the result without quotes gets the shell
to collapse the whitespace.

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

Documentation: minor grammatical fix in git-check-ref... David J. Mellor Mon, 23 Mar 2009 01:00:17 +0000 (18:00 -0700)

Documentation: minor grammatical fix in git-check-ref-format.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-check... David J. Mellor Mon, 23 Mar 2009 01:00:16 +0000 (18:00 -0700)

Documentation: minor grammatical fixes in git-check-attr.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-cat-file.txtDavid J. Mellor Mon, 23 Mar 2009 01:00:15 +0000 (18:00 -0700)

Documentation: minor grammatical fixes in git-cat-file.txt

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

Documentation: minor grammatical fixes and rewording... David J. Mellor Mon, 23 Mar 2009 01:00:14 +0000 (18:00 -0700)

Documentation: minor grammatical fixes and rewording in git-bundle.txt

This commit also converts all reference specifications to a monospaced font,
as the embedded ~ character used in some of the references sometimes causes
the text up to the next ~ to be displayed incorrectly as a subscript when the
HTML pages are generated. This was tested with asciidoc 8.2.5.

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

Documentation: remove some uses of the passive voice... David J. Mellor Mon, 23 Mar 2009 03:11:10 +0000 (20:11 -0700)

Documentation: remove some uses of the passive voice in git-bisect.txt

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

Makefile: turn on USE_ST_TIMESPEC for FreeBSDJeff King Sun, 22 Mar 2009 08:08:48 +0000 (04:08 -0400)

Makefile: turn on USE_ST_TIMESPEC for FreeBSD

Fixes broken compilation on FreeBSD 6.1.

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

bash completion: add options for 'git fsck'Arto Jonsson Sun, 22 Mar 2009 18:49:07 +0000 (20:49 +0200)

bash completion: add options for 'git fsck'

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

Add --staged to bash completion for git diffKevin McConnell Sat, 21 Mar 2009 23:29:27 +0000 (16:29 -0700)

Add --staged to bash completion for git diff

The --staged option (synonym for --cached) isn't listed in the
completion choices for git diff. This tiny patch adds it.

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

Improve error message about fetch into current branchAlex Riesen Sun, 22 Mar 2009 22:07:33 +0000 (23:07 +0100)

Improve error message about fetch into current branch

Otherwise, it is hard to guess why the fetch failed.
Make sure we at least mention that the repository must be bare.
Also the current branch is printed.

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

Merge branch 'maint'Junio C Hamano Sun, 22 Mar 2009 22:41:42 +0000 (15:41 -0700)

Merge branch 'maint'

* maint:
everyday: use the dashless form of git-init

Merge branch 'maint-1.6.1' into maintJunio C Hamano Sun, 22 Mar 2009 22:41:00 +0000 (15:41 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
everyday: use the dashless form of git-init

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Sun, 22 Mar 2009 22:40:55 +0000 (15:40 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
everyday: use the dashless form of git-init

diff --cached: do not borrow from a work tree when... Junio C Hamano Sun, 22 Mar 2009 22:26:07 +0000 (15:26 -0700)

diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged

When the index says that the file in the work tree that corresponds to the
blob object that is used for comparison is known to be unchanged, "diff"
reads from the file and applies convert_to_git(), instead of inflating the
object, to feed the internal diff engine with, because an earlier
benchnark found that it tends to be faster to use this optimization.

However, the index can lie when the path is marked as assume-unchanged.
Disable the optimization for such paths.

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

Smudge the files fed to external diff and textconvJohannes Schindelin Sat, 21 Mar 2009 11:42:52 +0000 (12:42 +0100)

Smudge the files fed to external diff and textconv

When preparing temporary files for an external diff or textconv, it is
easier on the external tools, especially when they are implemented using
platform tools, if they are fed the input after convert_to_working_tree().

This fixes msysGit issue 177.

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

githooks documentation: post-checkout hook is also... Jens Lehmann Sun, 22 Mar 2009 18:46:38 +0000 (19:46 +0100)

githooks documentation: post-checkout hook is also called after clone

The documentation of the post-checkout hook just talks
about git-checkout. But recently git-clone was changed to
call it too, unless the -no-checkout (-n) option is used.

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

everyday: use the dashless form of git-initDavid Aguilar Sun, 22 Mar 2009 09:15:13 +0000 (02:15 -0700)

everyday: use the dashless form of git-init

The 'Everyday GIT' guide was using the old dashed form
of git-init.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote: improve sorting of "configure for git push... Jeff King Sun, 22 Mar 2009 08:59:20 +0000 (04:59 -0400)

remote: improve sorting of "configure for git push" list

The data structure used to store this list is a string_list
of sources with the destination in the util member. The
current code just sorts on the source; if a single source is
pushed to two different destination refs at a remote, then
the order in which they are printed is non-deterministic.

This patch implements a comparison using both fields.
Besides being a little nicer on the eyes, giving a stable
sort prevents false negatives in the test suite when
comparing output.

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

t5503: GIT_DEBUG_SEND_PACK is not supported on MinGWJohannes Sixt Fri, 20 Mar 2009 21:03:33 +0000 (22:03 +0100)

t5503: GIT_DEBUG_SEND_PACK is not supported on MinGW

The test opens fd 3 and instructs git-upload-pack (via GIT_DEBUG_SEND_PACK)
to log information to that channel.

The way in which new processes are spawned by git on MinGW does not inherit
all file descriptors to the child processes, but only 0, 1, and 2.
The tests in t5503 require that file descriptor 3 is inherited from
git-fetch to git-upload-pack.

A complete implementation is non-trivial and not warranted just to satisfy
this test. Note that the incompleteness applies only to the executables
that use compat/mingw.c; bash and perl (the other important executables
used by git) are complete, of course.

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

t7004: Use prerequisite tags to skip tests that need gpgJohannes Sixt Mon, 16 Mar 2009 14:09:23 +0000 (15:09 +0100)

t7004: Use prerequisite tags to skip tests that need gpg

The tests are skipped if no gpg was found or if gpg is version 1.0.6.
Previously, the latter condition was checked a bit later in the test file
so that the tag verification tests would be exercised. These are now
skipped as well, but only because we would need a facility to revoke a
test prerequisite, which we do not have.

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

Use prerequisites to skip tests that need unzipJohannes Sixt Mon, 16 Mar 2009 13:44:56 +0000 (14:44 +0100)

Use prerequisites to skip tests that need unzip

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

t3700: Skip a test with backslashes in pathspecJohannes Sixt Fri, 13 Mar 2009 22:00:15 +0000 (23:00 +0100)

t3700: Skip a test with backslashes in pathspec

The test verifies that glob special characters can be escaped with
backslashes. In particular, the string fo\[ou\]bar is given to git.

On Windows, this does not work because backslashes are first of all
directory separators, and first thing git does with a pathspec from the
command line is to convert backslashes to forward slashes.

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

Skip tests that require a filesystem that obeys POSIX... Johannes Sixt Fri, 13 Mar 2009 21:55:27 +0000 (22:55 +0100)

Skip tests that require a filesystem that obeys POSIX permissions

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

t0060: Fix tests on WindowsJohannes Sixt Wed, 11 Mar 2009 21:15:10 +0000 (22:15 +0100)

t0060: Fix tests on Windows

Since the MSYS bash mangles absolute paths that it passes as command line
arguments to non-MSYS progams (such as git or test-path-utils), we have to
bend over backwards to squeeze some usefulness out of the existing tests.

In particular, a set of path normalization tests is added that test
relative paths. Some paths in the ancestor path tests are adjusted to help
MSYS bash's path mangling heuristics.

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

Use prerequisite tags to skip tests that depend on... Johannes Sixt Wed, 4 Mar 2009 21:38:24 +0000 (22:38 +0100)

Use prerequisite tags to skip tests that depend on symbolic links

Many tests depend on that symbolic links work. This introduces a check
that sets the prerequisite tag SYMLINKS if the file system supports
symbolic links. Since so many tests have to check for this prerequisite,
we do the check in test-lib.sh, so that we don't need to repeat the test
in many scripts.

To check for 'ln -s' failures, you can use a FAT partition on Linux:

$ mkdosfs -C git-on-fat 1000000
$ sudo mount -o loop,uid=j6t,gid=users,shortname=winnt git-on-fat /mnt

Clone git to /mnt and

$ GIT_SKIP_TESTS='t0001.1[34] t0010 t1301 t403[34] t4129.[47] t5701.7
t7701.3 t9100 t9101.26 t9119 t9124.[67] t9200.10 t9600.6' \
make test

(These additionally skipped tests depend on POSIX permissions that FAT on
Linux does not provide.)

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

t9100, t9129: Use prerequisite tags for UTF-8 testsJohannes Sixt Tue, 24 Feb 2009 20:13:39 +0000 (21:13 +0100)

t9100, t9129: Use prerequisite tags for UTF-8 tests

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

t5302: Use prerequisite tags to skip 64-bit offset... Johannes Sixt Wed, 25 Feb 2009 21:34:34 +0000 (22:34 +0100)

t5302: Use prerequisite tags to skip 64-bit offset tests

The effects of this patch can be tested on Linux by commenting out

#define _FILE_OFFSET_BITS 64

in git-compat-util.h.

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

Skip tests that fail if the executable bit is not handl... Johannes Sixt Fri, 27 Feb 2009 21:20:57 +0000 (22:20 +0100)

Skip tests that fail if the executable bit is not handled by the filesystem

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

t3600: Use test prerequisite tagsJohannes Sixt Thu, 26 Feb 2009 22:09:00 +0000 (23:09 +0100)

t3600: Use test prerequisite tags

There are two prerequisites:

- The filesystem supports names with tabs or new-lines.

- Files cannot be removed if their containing directory is read-only.

Previously, whether these preconditions are satisified was tested inside
test_expect_success. We move these tests outside because, strictly
speaking, they are not part of the tests.

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

Merge branch 'dm/maint-docco'Junio C Hamano Sun, 22 Mar 2009 06:24:46 +0000 (23:24 -0700)

Merge branch 'dm/maint-docco'

* dm/maint-docco:
Documentation: reword example text in git-bisect.txt.
Documentation: reworded the "Description" section of git-bisect.txt.
Documentation: minor grammatical fixes in git-branch.txt.
Documentation: minor grammatical fixes in git-blame.txt.
Documentation: reword the "Description" section of git-bisect.txt.
Documentation: minor grammatical fixes in git-archive.txt.

Merge branch 'mg/test-installed'Junio C Hamano Sun, 22 Mar 2009 06:24:40 +0000 (23:24 -0700)

Merge branch 'mg/test-installed'

* mg/test-installed:
test-lib.sh: Allow running the test suite against installed git
test-lib.sh: Test for presence of git-init in the right path.

Sync with maintJunio C Hamano Sun, 22 Mar 2009 06:24:11 +0000 (23:24 -0700)

Sync with maint

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

Update draft release notes to 1.6.2.2Junio C Hamano Sun, 22 Mar 2009 06:21:15 +0000 (23:21 -0700)

Update draft release notes to 1.6.2.2

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>

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>

Merge branch 'maint-1.6.1' into maintJunio C Hamano Sun, 22 Mar 2009 06:10:42 +0000 (23:10 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1: