-
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.
* fg/remote-prune: add tests for remote groups git remote update: Fallback to remote if group does not exist remote: New function remote_is_configured() git remote update: Report error for non-existing groups git remote update: New option --prune builtin-remote.c: Split out prune_remote as a separate function.
- Loading branch information
Showing
5 changed files
with
156 additions
and
34 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
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
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
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
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 |