Subject: Re: submodule add does not consider git svn

From: Jens Lehmann <[email-masked]>
Date: Sat, 23 Jul 2011 20:19:35 +0200

Am 23.07.2011 05:33, schrieb rupert THURNER:
> it seems that "git submodule add" looses information from "git svn
> clone". what am i missing here which would allow to "git svn rebase"
> the repository, even if it is newly added as submodule?
>
> the following example takes a little, as the repository has 15'000
> revisions, even 99% do not concern the checked out part.
> 
> rupert @ login : ~/tmp/subm-bug
>  mkdir -p  ~/tmp/subm-bug
>  cd ~/tmp/subm-bug
>  git svn clone https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/pkg/GeoIP/trunk
> GeoIP
>  git init test
>  cd test
>  git submodule add ~/tmp/subm-bug/GeoIP
>  cd GeoIP
>  git svn rebase
> 
> Migrating from a git-svn v1 layout...
> Data from a previous version of git-svn exists, but
>         .git/svn
>         (required for this version (1.7.5.4) of git-svn) does not exist.
> Done migrating from a git-svn v1 layout
> Unable to determine upstream SVN information from working tree history

That is because in your example "git submodule add" clones that repo
*again* from where you put it using "git svn clone". I am not really
familiar with git svn, but I assume it is intended that when you clone
such a repo it "forgets" that it was connected with a svn repo. Try the
following instead:

git init test
cd test
git svn clone https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/pkg/GeoIP/trunk GeoIP
git submodule add ./GeoIP      # Add existing git svn repo GeoIP in place
cd GeoIP
git svn rebase

Of course when you push that submodule somewhere else using git I expect
that "git svn rebase" won't work when you clone that somewhere else, just
like it happened in your example.