Subject: Bug report: Add submodule with --branch and --depth (git version 2.5.0.windows.1)

From: Anton Akhiar <[email-masked]>
Date: Wed, 9 Sep 2015 14:45:28 +0700

Hi,

I am trying to add a submodule with option --branch and --depth 
together, and failed. However, there is no problem if only one of them 
is applied.

So, this worked:
git submodule add --branch develop 
https://[email-masked]/anton/mysubmodule.git

This is also worked:
git submodule add --depth 1 
https://[email-masked]/anton/mysubmodule.git

But this won't worked:
git submodule add --branch develop --depth 1 
https://[email-masked]/anton/mysubmodule.git

Here is how to replicate the problem:

Setup remote repositories, e.g. in bitbucket:
For superproject: https://[email-masked]/anton/mysuperproject.git
For submodule: https://[email-masked]/anton/mysubmodule.git

Setup local repository for superproject:
git init mysuperproject
cd mysuperproject
echo "This is the parent project" > README
git add README
git commit -m "add README"
git remote add origin https://[email-masked]/anton/mysuperproject.git
git push --all -u origin

Setup local repository for submodule with branch "develop":
cd ..
git init mysubmodule
cd mysubmodule
echo "This is the submodule" > README
git add README
git commit -m "add README"
git branch develop master
git remote add origin https://[email-masked]/anton/mysubmodule.git
git push --all -u origin

Now, go to superproject and add submodule with options --branch and --depth:
cd ../mysuperproject
git submodule add --branch develop --depth 1 
https://[email-masked]/anton/mysubmodule.git mysubmodule

Output:
Cloning into 'mysubmodule'...
Password for 'https://[email-masked]':
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
Checking connectivity... done.
fatal: Cannot update paths and switch to branch 'develop' at the same time.
Did you intend to checkout 'origin/develop' which can not be resolved as 
commit?
Unable to checkout submodule 'mysubmodule'