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
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
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
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
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
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
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
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
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
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
Elijah 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>
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>
Wincent 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>
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>
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>
Junio 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
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>
Johannes 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>
Johannes 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>
Johannes 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>
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
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>
Stephen 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>
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>
Stephen 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>
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>
Junio 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
Junio 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
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>
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
Linus 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>
Nicolas 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>
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>
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>
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>
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>
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>
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>
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>
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>
Miklos 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>
Jeff 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>
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>
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>
David 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>
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>
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>
Jeff 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>
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>
Kevin 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>
Alex 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>
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
Junio 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
Junio 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
Johannes 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>
David 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>
Johannes 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>
Johannes 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>
Johannes 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>
Johannes 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>
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>
Johannes 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>
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>
Johannes 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>
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>
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>
Johannes 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>
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.
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.
Junio 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>
Junio 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>
Jeff 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>
René 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>
Junio 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:
Junio C Hamano [Sun, 22 Mar 2009 06:09:21 +0000 (23:09 -0700)]
Merge branch 'tr/maint-1.6.0-send-email-irt' into maint
* 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
Junio C Hamano [Sun, 22 Mar 2009 06:08:27 +0000 (23:08 -0700)]
Merge branch 'mg/maint-submodule-normalize-path' into maint
* mg/maint-submodule-normalize-path:
git submodule: Fix adding of submodules at paths with ./, .. and //
git submodule: Add test cases for git submodule add
Junio C Hamano [Sun, 22 Mar 2009 06:08:21 +0000 (23:08 -0700)]
Merge branch 'rs/memmem' into maint
* rs/memmem:
optimize compat/ memmem()
diffcore-pickaxe: use memmem()
Junio C Hamano [Sun, 22 Mar 2009 06:03:17 +0000 (23:03 -0700)]
Merge branch 'js/rsync-local' into maint
* js/rsync-local:
rsync transport: allow local paths, and fix tests
Junio C Hamano [Sun, 22 Mar 2009 06:02:55 +0000 (23:02 -0700)]
Merge branch 'db/maint-missing-origin' into maint
* db/maint-missing-origin:
Remove total confusion from git-fetch and git-push
Give error when no remote is configured
Junio C Hamano [Sun, 22 Mar 2009 06:02:47 +0000 (23:02 -0700)]
Merge branch 'jc/maint-1.6.0-read-tree-overlay' into maint
* jc/maint-1.6.0-read-tree-overlay:
read-tree A B C: do not create a bogus index and do not segfault
Junio C Hamano [Sun, 22 Mar 2009 05:59:19 +0000 (22:59 -0700)]
Merge branch 'js/maint-1.6.0-path-normalize' into maint-1.6.1
* js/maint-1.6.0-path-normalize:
Remove unused normalize_absolute_path()
Test and fix normalize_path_copy()
Fix GIT_CEILING_DIRECTORIES on Windows
Move sanitary_path_copy() to path.c and rename it to normalize_path_copy()
Make test-path-utils more robust against incorrect use
Junio C Hamano [Sun, 22 Mar 2009 05:53:36 +0000 (22:53 -0700)]
Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1
* jc/maint-1.6.0-pack-directory:
Fix odb_mkstemp() on AIX
Make sure objects/pack exists before creating a new pack
Conflicts:
wrapper.c
Stephen Boyd [Sun, 22 Mar 2009 04:32:43 +0000 (21:32 -0700)]
format-patch: --numbered-files and --stdout aren't mutually exclusive
For example:
git format-patch --numbered-files --stdout --attach HEAD~~
will create two messages with files 1 and 2 attached respectively.
Without --attach/--inline but with --stdout, --numbered-files option
can be simply ignored, because we are not creating any file ourselves.
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Sixt [Sat, 21 Mar 2009 22:21:18 +0000 (23:21 +0100)]
Propagate --exec-path setting to external commands via GIT_EXEC_PATH
Let PATH0=$PATH that was set before the invocation.
Let /foo be a build directory.
Let /pfx be the installation prefix.
Let pfxexecpath=/pfx/libexec/git-core.
The following is going on when 'git --exec-path=/foo gc' is invoked:
1. git sets PATH=/foo:$PATH0 using the path from --exec-path
2. gc execs 'git repack' (note: no dash).
3. Since there is a git in /foo (it's a build directory), /foo/git is
taken.
4. No explicit exec-path is set this time, hence, this secondary git sets
PATH=$pfxexecpath:/foo:$PATH
5. Since 'repack' is not a built-in, execv_dashed_external execs
'git-repack' (note: dash).
6. There is a $pfxexecpath/git-repack, and it is taken.
7. This git-repack runs 'git pack-objects' (note: no dash).
8. There is no git in $pfxexecpath, but there is one in /foo. Hence,
/foo/git is run.
9. pack-objects is a builtin, hence, in effect /foo/git-pack-objects
is run.
As you can see, the way in which we previously set the PATH allowed to
mix gits of different vintage. By setting GIT_EXEC_PATH when --exec-path
was given on the command line, we reduce the confusion.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Sun, 22 Mar 2009 00:09:17 +0000 (19:09 -0500)]
git-branch: display "was sha1" on branch deletion rather than just "sha1"
Make it more pleasant to read about a branch deletion by adding "was".
Jeff King suggested this, and I ignored it. He was right.
Update t3200 test again to match the change in output.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Sixt [Sun, 1 Mar 2009 20:04:46 +0000 (21:04 +0100)]
test-lib: Infrastructure to test and check for prerequisites
Some tests can be run only if a particular prerequisite is available. For
example, some tests require that an UTF-8 locale is available. Here we
introduce functions that are used in this way:
1. Insert code that checks whether the prerequisite is available. If it is,
call test_set_prereq with an arbitrary tag name that subsequently can be
used to check for the prerequisite:
case $LANG in
*.utf-8)
test_set_prereq UTF8
;;
esac
2. In the calls to test_expect_success pass the tag name:
test_expect_success UTF8 '...description...' '...tests...'
3. There is an auxiliary predicate that can be used anywhere to test for
a prerequisite explicitly:
if test_have_prereq UTF8
then
...code to be skipped if prerequisite is not available...
fi
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Junio C Hamano [Wed, 11 Mar 2009 20:13:38 +0000 (13:13 -0700)]
http tests: Darwin is not that special
We have PidFile definition in the file already, and we have added
necessary LoadModule for log_config_module recently.
This patch will end up giving LockFile to everybody not just limited to
Darwin, but why not?
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 20 Mar 2009 21:31:15 +0000 (14:31 -0700)]
Merge branch 'maint'
* maint:
doc: clarify how -S works
Junio C Hamano [Fri, 20 Mar 2009 21:30:51 +0000 (14:30 -0700)]
Merge branch 'mv/parseopt-ls-files'
* mv/parseopt-ls-files:
ls-files: fix broken --no-empty-directory
t3000: use test_cmp instead of diff
parse-opt: migrate builtin-ls-files.
Turn the flags in struct dir_struct into a single variable
Conflicts:
builtin-ls-files.c
t/t3000-ls-files-others.sh
Junio C Hamano [Fri, 20 Mar 2009 21:30:08 +0000 (14:30 -0700)]
Merge branch 'bw/autoconf'
* bw/autoconf:
configure: rework pthread handling to allow for user defined flags
configure: make iconv tests aware of user arguments
configure: asciidoc version test cleanup
configure: wrap some library tests with GIT_STASH_FLAGS
configure: add macros to stash FLAG variables
configure: reorganize flow of argument checks
configure: ensure settings from user are also usable in the script
Junio C Hamano [Fri, 20 Mar 2009 21:30:00 +0000 (14:30 -0700)]
Merge branch 'xx/db-refspec-vs-js-remote'
* xx/db-refspec-vs-js-remote:
Support '*' in the middle of a refspec
Keep '*' in pattern refspecs
Use the matching function to generate the match results
Use a single function to match names against patterns
Make clone parse the default refspec with the normal code
Junio C Hamano [Fri, 20 Mar 2009 21:29:49 +0000 (14:29 -0700)]
Merge branch 'jc/clone-branch-rebase'
* jc/clone-branch-rebase:
Improve "git branch --tracking" output
Make git-clone respect branch.autosetuprebase
Conflicts:
builtin-clone.c
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
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
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>
Alex 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>
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>
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>
Giuseppe 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>
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>