cmd_add() attempts to check for the validity of refspec for the repository it is about to add as a subtree. It tries to do so before contacting the repository. If the refspec happens to exist locally (say 'master') then the test passes and the repo is fetched. If the refspec doesn't exist locally then the test fails and the remote repo is never contacted. Removing the tests still works as the git fetch command fails with the perfectly accurate error: fatal: Couldn't find remote ref <refspec> Signed-off-by: Paul Campbell <pcampbell@xxxxxxxxxxxxxxxxxxxxx> --- I must confess to not understanding the comment preceding the rev-parse test. Given that it is against the rev-parse and not the cmd_add_repository call I'm assuming it can be removed. contrib/subtree/git-subtree.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh index 8a23f58..9a38b18 100755 --- a/contrib/subtree/git-subtree.sh +++ b/contrib/subtree/git-subtree.sh @@ -503,14 +503,6 @@ cmd_add() "cmd_add_commit" "$@" elif [ $# -eq 2 ]; then - # Technically we could accept a refspec here but we're - # just going to turn around and add FETCH_HEAD under the - # specified directory. Allowing a refspec might be - # misleading because we won't do anything with any other - # branches fetched via the refspec. - git rev-parse -q --verify "$2^{commit}" >/dev/null || - die "'$2' does not refer to a commit" - "cmd_add_repository" "$@" else say "error: parameters were '$@'" -- 1.8.2.rc1 -- Paul [W] Campbell -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html