1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#!/usr/bin/env bash
set -e
source test/setup
use Test::More
# Create directory and init git locally as this will test some corner
# cases when you don't have any previous commits to rely on
# see issue/122
(
mkdir -p "$OWNER/init"
cd "$OWNER/init"
git init
mkdir doc
add-new-files doc/FooBar
git subrepo init doc || die
mkdir ../upstream
git init --bare ../upstream || die
) &> /dev/null
output=$(
cd "$OWNER/init"
git subrepo push doc --remote=../upstream
)
is "$output" "Subrepo 'doc' pushed to '../upstream' (master)." \
'Command output is correct'
# Test init/doc/.gitrepo file contents:
# shellcheck disable=2034
gitrepo=$OWNER/init/doc/.gitrepo
{
test-gitrepo-field "remote" "../upstream"
test-gitrepo-field "branch" "master"
}
(
cd "$OWNER"
git clone upstream up
) &>/dev/null
{
test-exists \
"$OWNER/up/.git/" \
"!$OWNER/up/.gitrepo"
}
done_testing
teardown
|