0

I am trying to asses the feasibility of converting our jumbo SVN repo to git. The major issue is that the project has a few hundred externals, some of which are quite beefy.

So far I have created a script that recursively clones all svn externals into their own git repo, and then the main repo defines a whole lot of submodules pointing to my git clones.

The main issue is it seems the externals taking twice the space they should (the clone and the submodule). Is there a way to have only 1 shared instance of the external clones ?

Clusty
  • 117
  • 7
  • I have no idea how the submodule (which is a definition within your project repo) should expand the size of the external cloned repo because the external repo doesn't have a link to your project repo and doesn't even know about beeing a submodule within another repo. Are you sure that there isn't another reason for the size? – Niklas P Nov 25 '16 at 21:05

1 Answers1

1

The main issue is it seems the externals taking twice the space they should (the clone and the submodule).

If by twice you mean:

  • the submodule repo
  • the submodule folder within the main repo, which references the first one

Then it should not be quite twice: the first one (submodule repo) should be a bare one (or can be made bare), avoiding to keep two working tree with all their files.

Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • There is a small problem: A lot of projects have externals themselves, so from what I can tell, I need a working tree in each submodule (except the repos that have no externals) – Clusty Nov 28 '16 at 19:36