Staging
v0.8.1
Revision 90d0ed96b76ee51f8ae6f32923b92e7b20ba73c0 authored by Junio C Hamano on 28 February 2008, 21:09:30 UTC, committed by Junio C Hamano on 03 March 2008, 07:15:06 UTC
When we expect a git command to notice and signal errors, we
carelessly wrote in our tests:

    test_expect_success 'reject bogus request' '
        do something &&
        do something else &&
        ! git command
    '

but a non-zero exit could come from the "git command" segfaulting.

A new helper function "tset_must_fail" is introduced and it is
meant to be used to make sure the command gracefully fails (iow,
dying and exiting with non zero status is counted as a failure
to "gracefully fail").  The above example should be written as:

    test_expect_success 'reject bogus request' '
        do something &&
        do something else &&
        test_must_fail git command
    '

Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent fcbcfe7
Raw File
urls-remotes.txt
include::urls.txt[]

REMOTES
-------

In addition to the above, as a short-hand, the name of a
file in `$GIT_DIR/remotes` directory can be given; the
named file should be in the following format:

------------
	URL: one of the above URL format
	Push: <refspec>
	Pull: <refspec>

------------

Then such a short-hand is specified in place of
<repository> without <refspec> parameters on the command
line, <refspec> specified on `Push:` lines or `Pull:`
lines are used for `git-push` and `git-fetch`/`git-pull`,
respectively.  Multiple `Push:` and `Pull:` lines may
be specified for additional branch mappings.

Or, equivalently, in the `$GIT_DIR/config` (note the use
of `fetch` instead of `Pull:`):

------------
	[remote "<remote>"]
		url = <url>
		push = <refspec>
		fetch = <refspec>

------------

The name of a file in `$GIT_DIR/branches` directory can be
specified as an older notation short-hand; the named
file should contain a single line, a URL in one of the
above formats, optionally followed by a hash `#` and the
name of remote head (URL fragment notation).
`$GIT_DIR/branches/<remote>` file that stores a <url>
without the fragment is equivalent to have this in the
corresponding file in the `$GIT_DIR/remotes/` directory.

------------
	URL: <url>
	Pull: refs/heads/master:<remote>

------------

while having `<url>#<head>` is equivalent to

------------
	URL: <url>
	Pull: refs/heads/<head>:<remote>
------------
back to top