Skip to content

Commit

Permalink
Make sure that <prefix> exists when splitting.
Browse files Browse the repository at this point in the history
And test cases for that check, as well as for an error if no prefix is
specified at all.
  • Loading branch information
treese authored and apenwarr committed Feb 6, 2010
1 parent 349a70d commit ec54f0d
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
5 changes: 5 additions & 0 deletions git-subtree.sh
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,11 @@ esac
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

dir="$(dirname "$prefix/.")"

if [ "$command" != "pull" ]; then
Expand Down
8 changes: 8 additions & 0 deletions test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,14 @@ git subtree merge --prefix=subdir FETCH_HEAD
git branch pre-split
check_equal "$(last_commit_message)" "Merge commit '$(git rev-parse sub2)' into mainline"

# Check that prefix argument is required for split (exits with warning and exit status = 1)
! result=$(git subtree split 2>&1)
check_equal "You must provide the --prefix option." "$result"

# Check that the <prefix> exists for a split.
! result=$(git subtree split --prefix=non-existent-directory 2>&1)
check_equal "non-existent-directory does not exist." "$result"

# check if --message works for split+rejoin
spl1=$(git subtree split --annotate='*' --prefix subdir --onto FETCH_HEAD --message "Split & rejoin" --rejoin)
echo "spl1={$spl1}"
Expand Down

0 comments on commit ec54f0d

Please sign in to comment.