-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This tries to systematically cover existing behavior, and also mark some expect_failure cases for desired behavior. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Jeff King
authored and
Junio C Hamano
committed
Apr 9, 2009
1 parent
b344e16
commit 27845e9
Showing
1 changed file
with
81 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
#!/bin/sh | ||
|
||
test_description='git remote group handling' | ||
. ./test-lib.sh | ||
|
||
mark() { | ||
echo "$1" >mark | ||
} | ||
|
||
update_repo() { | ||
(cd $1 && | ||
echo content >>file && | ||
git add file && | ||
git commit -F ../mark) | ||
} | ||
|
||
update_repos() { | ||
update_repo one $1 && | ||
update_repo two $1 | ||
} | ||
|
||
repo_fetched() { | ||
if test "`git log -1 --pretty=format:%s $1 --`" = "`cat mark`"; then | ||
echo >&2 "repo was fetched: $1" | ||
return 0 | ||
fi | ||
echo >&2 "repo was not fetched: $1" | ||
return 1 | ||
} | ||
|
||
test_expect_success 'setup' ' | ||
mkdir one && (cd one && git init) && | ||
mkdir two && (cd two && git init) && | ||
git remote add -m master one one && | ||
git remote add -m master two two | ||
' | ||
|
||
test_expect_success 'no group updates all' ' | ||
mark update-all && | ||
update_repos && | ||
git remote update && | ||
repo_fetched one && | ||
repo_fetched two | ||
' | ||
|
||
test_expect_success 'nonexistant group produces error' ' | ||
mark nonexistant && | ||
update_repos && | ||
test_must_fail git remote update nonexistant && | ||
! repo_fetched one && | ||
! repo_fetched two | ||
' | ||
|
||
test_expect_success 'updating group updates all members' ' | ||
mark group-all && | ||
update_repos && | ||
git config --add remotes.all one && | ||
git config --add remotes.all two && | ||
git remote update all && | ||
repo_fetched one && | ||
repo_fetched two | ||
' | ||
|
||
test_expect_success 'updating group does not update non-members' ' | ||
mark group-some && | ||
update_repos && | ||
git config --add remotes.some one && | ||
git remote update some && | ||
repo_fetched one && | ||
! repo_fetched two | ||
' | ||
|
||
test_expect_success 'updating remote name updates that remote' ' | ||
mark remote-name && | ||
update_repos && | ||
git remote update one && | ||
repo_fetched one && | ||
! repo_fetched two | ||
' | ||
|
||
test_done |