Commit Graph

24463 Commits

Author SHA1 Message Date
Jonathan Nieder
786dabecd4 tests: compress the setup tests
New test helpers:

 - setup_repo, to initialize a repository or gitfile pointing to a
   repository, with core.bare and core.worktree set as specified;

 - try_case, to run setup from a given directory and validate the
   result, with GIT_DIR and GIT_WORK_TREE set as specified;

 - try_repo, to initialize a repository and call "try_case" from the
   toplevel and a subdirectory;

 - run_wt_tests, to run a battery of tests that check for sane
   behavior when GIT_WORK_TREE is set to various positions relative to
   the .git dir and cwd.

Use these helpers to make the test shorter, less repetitive, and (one
hopes) easier to understand and modify.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-19 10:27:16 -08:00
Jonathan Nieder
91c031df67 tests: cosmetic improvements to the repo-setup test
Give an overview in "sh t1510-repo-setup.sh --help" output.
Waste some vertical and horizontal space for clearer code.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-19 10:27:16 -08:00
Junio C Hamano
b20e9b0b52 Merge branch 'maint'
* maint:
  exec_cmd: remove unused extern
2011-01-19 08:33:54 -08:00
Erik Faye-Lund
b312b4123b exec_cmd: remove unused extern
This definition was added by commit 77cb17e9, but it's left unused since
commit 511707d. Remove the left-over definition.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-19 08:27:22 -08:00
Junio C Hamano
14154ce3ca Merge branch 'jn/gitweb-no-logo' into maint
* jn/gitweb-no-logo:
  gitweb: make logo optional
2011-01-19 08:26:47 -08:00
Junio C Hamano
ae830c211b Merge branch 'jk/diff-driver-binary-doc' into maint
* jk/diff-driver-binary-doc:
  docs: explain diff.*.binary option
2011-01-19 08:26:44 -08:00
Junio C Hamano
8a59702ad8 Merge branch 'tr/submodule-relative-scp-url' into maint
* tr/submodule-relative-scp-url:
  submodule: fix relative url parsing for scp-style origin
2011-01-19 08:26:41 -08:00
Junio C Hamano
ea9590789f Merge branch 'rj/maint-difftool-cygwin-workaround' into maint
* rj/maint-difftool-cygwin-workaround:
  difftool: Fix failure on Cygwin
2011-01-19 08:26:24 -08:00
Junio C Hamano
f8d0215c81 Merge branch 'rj/maint-test-fixes' into maint
* rj/maint-test-fixes:
  t9501-*.sh: Fix a test failure on Cygwin
  lib-git-svn.sh: Add check for mis-configured web server variables
  lib-git-svn.sh: Avoid setting web server variables unnecessarily
  t9142: Move call to start_httpd into the setup test
  t3600-rm.sh: Don't pass a non-existent prereq to test #15
2011-01-19 08:26:17 -08:00
Junio C Hamano
305579f78d Merge branch 'jn/maint-gitweb-pathinfo-fix' into maint
* jn/maint-gitweb-pathinfo-fix:
  gitweb: Fix handling of whitespace in generated links
2011-01-19 08:26:04 -08:00
Junio C Hamano
3a1882c1fe Merge branch 'ak/describe-exact' into maint
* ak/describe-exact:
  describe: Delay looking up commits until searching for an inexact match
  describe: Store commit_names in a hash table by commit SHA1
  describe: Do not use a flex array in struct commit_name
  describe: Use for_each_rawref
2011-01-19 08:25:52 -08:00
Junio C Hamano
267684f0b7 Merge branch 'jn/maint-fast-import-object-reuse' into maint
* jn/maint-fast-import-object-reuse:
  fast-import: insert new object entries at start of hash bucket
2011-01-19 08:25:46 -08:00
Junio C Hamano
f326a06497 Merge branch 'jn/submodule-b-current' into maint
* jn/submodule-b-current:
  git submodule: Remove now obsolete tests before cloning a repo
  git submodule -b ... of current HEAD fails
2011-01-19 08:25:41 -08:00
Junio C Hamano
d84f280937 Merge branch 'jc/maint-svn-info-test-fix' into maint
* jc/maint-svn-info-test-fix:
  t9119: do not compare "Text Last Updated" line from "svn info"
2011-01-19 08:25:38 -08:00
Junio C Hamano
0bc6180bcb Merge branch 'nd/maint-relative' into maint
* nd/maint-relative:
  get_cwd_relative(): do not misinterpret root path
2011-01-19 08:25:31 -08:00
Jonathan Nieder
e5959106d6 Documentation/fast-import: put explanation of M 040000 <dataref> "" in context
Omit needless words ("Additionally ... <path> may also" is redundant).
While at it, place the explanation of this special case after the
general rules for paths to provide the reader with some context.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-18 16:51:13 -08:00
Ramsay Jones
5ee5f5a65d svndump.c: Fix a printf format compiler warning
In particular, on systems that define uint32_t as an unsigned long,
gcc complains as follows:

        CC vcs-svn/svndump.o
    vcs-svn/svndump.c: In function `svndump_read':
    vcs-svn/svndump.c:215: warning: int format, uint32_t arg (arg 2)

In order to suppress the warning we use the C99 format specifier
macro PRIu32 from <inttypes.h>.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-18 16:48:47 -08:00
Jonathan Nieder
60a2e3320f remote-ext: do not segfault for blank lines
Instead of stripping space characters past the beginning of the
line and overflowing a buffer, stop at the beginning of the line
(mimicking the corresponding fix in remote-fd).

The argument to isspace does not need to be cast explicitly because
git isspace takes care of that already.

Noticed-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-18 10:18:25 -08:00
Jonathan Nieder
898243b82d Documentation/fast-import: capitalize beginning of sentence
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-18 10:15:59 -08:00
Jonathan Nieder
4fb40c2b82 ll-merge: simplify opts == NULL case
As long as sizeof(struct ll_merge_options) is small, there is not
much reason not to keep a copy of the default merge options in the BSS
section.  In return, we get clearer code and one less stack frame in
the opts == NULL case.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-15 20:34:14 -08:00
Junio C Hamano
adf872e783 Git 1.7.4-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-13 12:14:18 -08:00
Junio C Hamano
477039c53c Merge branch 'jn/gitweb-no-logo'
* jn/gitweb-no-logo:
  gitweb: make logo optional
2011-01-13 11:39:18 -08:00
Junio C Hamano
17e1c9e2fd Merge branch 'jn/perl-funcname'
* jn/perl-funcname:
  userdiff/perl: catch BEGIN/END/... and POD as headers
  diff: funcname and word patterns for perl
2011-01-13 11:38:05 -08:00
Junio C Hamano
17fd68d0d8 Merge branch 'sr/gitweb-hilite-more'
* sr/gitweb-hilite-more:
  gitweb: remove unnecessary test when closing file descriptor
  gitweb: add extensions to highlight feature map
2011-01-13 11:36:12 -08:00
Junio C Hamano
857ba709df Merge branch 'rj/svn-test'
* rj/svn-test:
  lib-git-svn.sh: Move web-server handling code into separate function
2011-01-13 11:36:05 -08:00
Junio C Hamano
7810c6b6d6 Merge branch 'rj/test-fixes'
* rj/test-fixes:
  t4135-*.sh: Skip the "backslash" tests on cygwin
  t3032-*.sh: Do not strip CR from line-endings while grepping on MinGW
  t3032-*.sh: Pass the -b (--binary) option to sed on cygwin
  t6038-*.sh: Pass the -b (--binary) option to sed on cygwin

Conflicts:
	t/t3032-merge-recursive-options.sh
2011-01-13 11:35:28 -08:00
Junio C Hamano
37ee62bc6b Merge branch 'jk/diff-driver-binary-doc'
* jk/diff-driver-binary-doc:
  docs: explain diff.*.binary option
2011-01-13 11:34:56 -08:00
Junio C Hamano
4b297df9b2 Merge branch 'jn/t9010-work-around-broken-svnadmin'
* jn/t9010-work-around-broken-svnadmin:
  t9010: svnadmin can fail even if available
2011-01-13 11:34:52 -08:00
Junio C Hamano
4f93fc745a Merge branch 'tr/submodule-relative-scp-url'
* tr/submodule-relative-scp-url:
  submodule: fix relative url parsing for scp-style origin
2011-01-13 11:34:39 -08:00
Michael J Gruber
3e70e37e72 RelNotes/1.7.4: minor fixes
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-13 11:32:39 -08:00
Thomas Rast
9cf3f14766 t0000: quote TAP snippets in test code
t0000 contains two snippets of actual test output.  This causes
problems when passing -v to the test[*]: the test infrastructure
echoes the tests before running them, and the TAP parser then sees
this test output and concludes that two tests failed and that the TAP
output was badly formatted.

Guard against this by quoting the output in the source.

[*] either by running 'make smoke' with GIT_TEST_OPTS=-v, or with
prove ./t0000-basic.sh :: -v

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-13 11:32:31 -08:00
Junio C Hamano
d2f15e29a6 Merge branch 'maint'
* maint:
  commit: suggest --amend --reset-author to fix commiter identity
2011-01-12 21:26:51 -08:00
Matthieu Moy
3f14246899 commit: suggest --amend --reset-author to fix commiter identity
Since the message advises to fix the configuration first, the
advantage of using this command is that it is cut-and-paste ready,
while using --author='...' requires the user to type his name and
email again.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-12 12:43:58 -08:00
Junio C Hamano
0cb6ad3c3d checkout: fix bug with ambiguous refs
The usual dwim_ref lookup prefers tags to branches. Because
checkout primarily works on branches, though, we switch that
behavior to prefer branches.

However, there was a bug in the implementation in which we
used lookup_commit_reference (which used the regular lookup
rules) to get the actual commit to checkout. Checking out an
ambiguous ref therefore ended up putting us in an extremely
broken state in which we wrote the branch ref into HEAD, but
actually checked out the tree for the tag.

This patch fixes the bug by always attempting to pull the
commit to be checked out from the branch-ified version of
the name we were given.

Patch by Junio, tests and commit message from Jeff King.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-11 13:14:56 -08:00
Ramsay Jones
7fad99e14a t9157-*.sh: Make the svn version check more precise
These tests require an svn version 1.5 or newer to run correctly.
In particular, all 1.4.x versions and earlier are too old, so fix
up the case label regex to cover this range exactly.

[Fix provided by Anders Kaseorg <andersk@MIT.EDU>]

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-11 13:01:43 -08:00
Alexey Shumkin
ad5b6942d5 userdiff: match Pascal class methods
Class declarations were already covered by the second pattern, but class
methods have the 'class' keyword in front too. Account for it.

Signed-off-by: Alexey Shumkin <zapped@mail.ru>
Acked-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-11 11:03:48 -08:00
Johannes Sixt
95b104c830 t/README: hint about using $(pwd) rather than $PWD in tests
This adds just a "do it this way" instruction without a lot of explanation,
because the details are too complex to be explained at this point.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-11 10:51:25 -08:00
Johannes Sixt
e6ec2b6a23 Fix expected values of setup tests on Windows
On Windows, bash stores absolute path names in shell variables in POSIX
format that begins with a slash, rather than in drive-letter format; such
a value is converted to the latter format when it is passed to a non-MSYS
program such as git.

When an expected test value is constructed, it must contain the value that
will be produced by git, which will be in the drive-letter format. But
TRASH_DIRECTORY is in POSIX format. Fix this by using $(pwd), which
produces drive-letter format since 4114156a (Tests on Windows: $(pwd) must
return Windows-style paths).

The change in t1510 is a straight seach-and-replace, except for the first
hunk of the diff.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-11 10:49:38 -08:00
Junio C Hamano
a6fd3d4925 Merge branch 'maint'
* maint:
  Documentation/githooks: post-rewrite-copy-notes never existed
  Documentation/git-archive: spell --worktree-attributes correctly
2011-01-10 10:39:38 -08:00
Junio C Hamano
54f4cd9e8c Merge branch 'maint-1.7.2' into maint
* maint-1.7.2:
  Documentation/githooks: post-rewrite-copy-notes never existed
  Documentation/git-archive: spell --worktree-attributes correctly
2011-01-10 10:39:28 -08:00
Junio C Hamano
7a876edf5d Merge branch 'maint-1.7.1' into maint-1.7.2
* maint-1.7.1:
  Documentation/githooks: post-rewrite-copy-notes never existed
  Documentation/git-archive: spell --worktree-attributes correctly
2011-01-10 10:39:18 -08:00
Junio C Hamano
567323d387 Merge branch 'maint-1.7.0' into maint-1.7.1
* maint-1.7.0:
  Documentation/git-archive: spell --worktree-attributes correctly
2011-01-10 10:39:04 -08:00
Jeff King
ab4356111a docs: explain diff.*.binary option
This was added long ago as part of the userdiff refactoring
for textconv, as internally it made the code simpler and
cleaner. However, there was never a concrete use case for
actually using the config variable.

Now that Matthieu Moy has provided such a use case, it's
easy to explain it using his example.

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-10 10:00:14 -08:00
Jonathan Nieder
0316bba80f t9010: svnadmin can fail even if available
If svn is built against one version of SQLite and run against another,
libsvn_subr needlessly errors out in operations that need to make a
commit.

That is clearly not a bug in git but let us consider the ramifications for
the test suite.  git-svn uses libsvn directly and is probably broken by
that bug; it is right for git-svn tests to fail.  The vcs-svn lib, on the
other hand, does not use libsvn and the test t9010 only uses svn to check
its work.  This points to two possible improvements:

 - do not disable most vcs-svn tests if svn is missing.
 - skip validation rather than failing it when svn fails.

Bring about both by putting the svn invocations into a single test that
builds a repo to compare the test-svn-fe result against.  The test will
always pass but only will set the new SVNREPO test prereq if svn succeeds;
and validation using that repo gets an SVNREPO prerequisite so it only
runs with working svn installations.

Works-around: http://bugs.debian.org/608925
Noticed-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-01-10 09:35:17 -08:00
Thomas Rast
ea640cc691 submodule: fix relative url parsing for scp-style origin
The function resolve_relative_url was not prepared to deal with an
scp-style origin 'user@host:path' in the case where 'path' is only a
single component.  Fix this by extending the logic that strips one
path component from the $remoteurl.

Also add tests for both styles of URLs.

Noticed-by: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-10 09:10:54 -08:00
Thomas Rast
920a5d436b Documentation/githooks: post-rewrite-copy-notes never existed
The documentation for the post-rewrite hook contains a paragraph from
its early development, where the automatic notes copying facilities
were not part of the series and thus this had to be a hook.  Later
versions of the series implemented notes copying as a core feature.

Thus mentioning post-rewrite-copy-notes was never correct.  As the
other hooks do not have a "there is no default hook, but..." sentence
unless they ship a sample hook in either templates or contrib, we
simply remove the whole paragraph.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-10 09:09:02 -08:00
Thomas Rast
fc7642a096 Documentation/git-archive: spell --worktree-attributes correctly
The --worktree-attributes option was correctly documented in ba053ea
(archive: do not read .gitattributes in working directory,
2009-04-18).  However, later in 9b4c8b0 (archive documentation:
attributes are taken from the tree by default, 2010-02-10) the
misspelling "--work-tree-attributes" was used to refer to it.  Fix
this.

Noticed-by: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-10 09:07:24 -08:00
Junio C Hamano
2cf08b6a0a Merge branch 'maint'
* maint:
  Mark gitk script executable
2011-01-08 23:48:47 -08:00
Ramsay Jones
5b5d53cbe5 t4135-*.sh: Skip the "backslash" tests on cygwin
The BSLASHPSPEC tests (11-13) fail on cygwin, since you can't
create files containing an backslash character in the name.
In order to skip these tests, we simply stop (incorrectly)
asserting the BSLASHPSPEC prerequisite in test-lib.sh.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-08 23:36:37 -08:00
Ramsay Jones
a28adc2d79 t3032-*.sh: Do not strip CR from line-endings while grepping on MinGW
By default grep reads in text mode and converts CRLF into LF line
endings, which causes tests 4, 6 and 8 to fail. In a similar manner
to commit a94114ad  (Do not strip CR when grepping HTTP headers,
2010-09-12), we set (and export) the GREP_OPTIONS variable to -U so
that grep will use binary mode.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-01-08 23:36:37 -08:00