We have a big SVN repo with multiple projects in it. Something like – http://plugins.svn.wordpress.org/
Our repo is slightly more complicated since it has “project” at multiple-levels as well! We are planning to move to Git.
My concern is – I heard Git doesn’t allow you to work on partial repos (based on PATH)
So even if I need to work on say http://plugins.svn.wordpress.org/rtsocial/trunk, the entire repo will get downloaded. Is this true? Is there any workaroud for this?
We are planning to use GitHub so we cannot afford to have buy plans with 1000s of private repos for all our projects. We prefer keeping our most of projects in one big repo since projects are very small (wordpress theme, wordpress plugin, etc)
Apart from GitHub plans restriction, managing 1000s of repos will be a big administrative tasks I guess (we have more than 40 users in SVN and every month few more gets added)
Is there any way to go ahead with Git or should we stay with SVN only?
On sidenote, if Git prefers “one project = one repo”, any alternative to GitHub where “unlimited private” repos are allowed?
Thanks all for help in advance.
In git, you should look at setting up separate repos for each of your project. What you said about “cloning” the entire repo to get a sinle project is correct, and there are no workarounds for it. ( don’t get confused with terms like sparse checkout etc. – the term checkout is different in Git than from SVN. ). There is no concept of cloning only a particular folder in Git, like one can in SVN.
Since you mention projects are small, however, you can group some of them logically, like themes etc.
You can also look at
BitBucket, which allows you to have unlimited free private Git repositories. Or you can host the repos on your own server, it is pretty straightforward. With something likegitoliteyou can pretty easily administer and maintain many repos.