Skip to content

Commit

Permalink
Merge branch 'jn/submodule-b-current' into maint
Browse files Browse the repository at this point in the history
* jn/submodule-b-current:
  git submodule: Remove now obsolete tests before cloning a repo
  git submodule -b ... of current HEAD fails
  • Loading branch information
Junio C Hamano committed Jan 19, 2011
2 parents d84f280 + 69e7236 commit f326a06
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 20 deletions.
16 changes: 1 addition & 15 deletions git-submodule.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,20 +93,6 @@ module_clone()
url=$2
reference="$3"

# If there already is a directory at the submodule path,
# expect it to be empty (since that is the default checkout
# action) and try to remove it.
# Note: if $path is a symlink to a directory the test will
# succeed but the rmdir will fail. We might want to fix this.
if test -d "$path"
then
rmdir "$path" 2>/dev/null ||
die "Directory '$path' exists, but is neither empty nor a git repository"
fi

test -e "$path" &&
die "A file already exist at path '$path'"

if test -n "$reference"
then
git-clone "$reference" -n "$url" "$path"
Expand Down Expand Up @@ -241,7 +227,7 @@ cmd_add()
# ash fails to wordsplit ${branch:+-b "$branch"...}
case "$branch" in
'') git checkout -f -q ;;
?*) git checkout -f -q -b "$branch" "origin/$branch" ;;
?*) git checkout -f -q -B "$branch" "origin/$branch" ;;
esac
) || die "Unable to checkout submodule '$path'"
fi
Expand Down
28 changes: 23 additions & 5 deletions t/t7400-submodule-basic.sh
Original file line number Diff line number Diff line change
Expand Up @@ -421,11 +421,29 @@ test_expect_success 'add submodules without specifying an explicit path' '
git commit -m "repo commit 1"
) &&
git clone --bare repo/ bare.git &&
cd addtest &&
git submodule add "$submodurl/repo" &&
git config -f .gitmodules submodule.repo.path repo &&
git submodule add "$submodurl/bare.git" &&
git config -f .gitmodules submodule.bare.path bare
(
cd addtest &&
git submodule add "$submodurl/repo" &&
git config -f .gitmodules submodule.repo.path repo &&
git submodule add "$submodurl/bare.git" &&
git config -f .gitmodules submodule.bare.path bare
)
'

test_expect_success 'add should fail when path is used by a file' '
(
cd addtest &&
touch file &&
test_must_fail git submodule add "$submodurl/repo" file
)
'

test_expect_success 'add should fail when path is used by an existing directory' '
(
cd addtest &&
mkdir empty-dir &&
test_must_fail git submodule add "$submodurl/repo" empty-dir
)
'

test_done

0 comments on commit f326a06

Please sign in to comment.