Improve checking for existence of the --prefix directory.
For add, the prefix must *not* already exist. For all the other commands, it *must* already exist.
This commit is contained in:
parent
ec54f0d9ad
commit
77ba305852
@ -106,9 +106,12 @@ if [ -z "$prefix" ]; then
|
||||
die "You must provide the --prefix option."
|
||||
fi
|
||||
|
||||
if [ "$command" = "split" -a """"! -e "$prefix" ]; then
|
||||
die "$prefix does not exist."
|
||||
fi
|
||||
case "$command" in
|
||||
add) [ -e "$prefix" ] &&
|
||||
die "prefix '$prefix' already exists." ;;
|
||||
*) [ -e "$prefix" ] ||
|
||||
die "'$prefix' does not exist; use 'git subtree add'" ;;
|
||||
esac
|
||||
|
||||
dir="$(dirname "$prefix/.")"
|
||||
|
||||
|
15
test.sh
15
test.sh
@ -21,6 +21,19 @@ check()
|
||||
fi
|
||||
}
|
||||
|
||||
check_not()
|
||||
{
|
||||
echo
|
||||
echo "check: NOT " "$@"
|
||||
if "$@"; then
|
||||
echo FAILED
|
||||
exit 1
|
||||
else
|
||||
echo ok
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
check_equal()
|
||||
{
|
||||
echo
|
||||
@ -94,6 +107,8 @@ git fetch ../subproj sub1
|
||||
git branch sub1 FETCH_HEAD
|
||||
|
||||
# check if --message works for add
|
||||
check_not git subtree merge --prefix=subdir sub1
|
||||
check_not git subtree pull --prefix=subdir ../subproj sub1
|
||||
git subtree add --prefix=subdir --message="Added subproject" sub1
|
||||
check_equal "$(last_commit_message)" "Added subproject"
|
||||
undo
|
||||
|
Loading…
Reference in New Issue
Block a user