Merge branch 'jk/maint-remote-mirror-safer'

* jk/maint-remote-mirror-safer:
  remote: allow "-t" with fetch mirrors
This commit is contained in:
Junio C Hamano 2011-05-31 12:08:52 -07:00
commit 2cd517cdd3
2 changed files with 24 additions and 2 deletions

View File

@ -193,8 +193,8 @@ static int add(int argc, const char **argv)
if (mirror && master)
die("specifying a master branch makes no sense with --mirror");
if (mirror && track.nr)
die("specifying branches to track makes no sense with --mirror");
if (mirror && !(mirror & MIRROR_FETCH) && track.nr)
die("specifying branches to track makes sense only with fetch mirrors");
name = argv[0];
url = argv[1];

View File

@ -347,6 +347,21 @@ test_expect_success 'fetch mirrors do not act as mirrors during push' '
)
'
test_expect_success 'add fetch mirror with specific branches' '
git init --bare mirror-fetch/track &&
(cd mirror-fetch/track &&
git remote add --mirror=fetch -t heads/new parent ../parent
)
'
test_expect_success 'fetch mirror respects specific branches' '
(cd mirror-fetch/track &&
git fetch parent &&
git rev-parse --verify refs/heads/new &&
test_must_fail git rev-parse --verify refs/heads/renamed
)
'
test_expect_success 'add --mirror=push' '
mkdir mirror-push &&
git init --bare mirror-push/public &&
@ -382,6 +397,13 @@ test_expect_success 'push mirrors do not act as mirrors during fetch' '
)
'
test_expect_success 'push mirrors do not allow you to specify refs' '
git init mirror-push/track &&
(cd mirror-push/track &&
test_must_fail git remote add --mirror=push -t new public ../public
)
'
test_expect_success 'add alt && prune' '
(mkdir alttst &&
cd alttst &&