I'm currently trying to come up with a version control strategy for moving our company’s code and document files from a centralized SCM (Perforce) to Git. The content in Perforce is just one large Depot where all the projects are stored, I want to break this up into multiple smaller Git repositories for a number of reasons.
The issue I have now is how can I index all of these repositories so they can be easily found. As far as I can tell, Git doesn't have any built in tools for managing multiple repositories.
I did find the git-submodule, but it sounds like that's for making a repository with content of other repositories, and I don't want to manage the content of various repositories but the repositories themselves.
Originally I was thinking about a flat file system on our sever:
/repos
-repo1.git
-repo2.git
-...
-repoN.git
and then just a git command to query this directory for all the repository names and a comment about the content (sort of like logging into the server, going to the /repos
directory and running a git log
). I was thinking I could make /repo
itself a git
repository (a repository of repositories) and then do exactly what I just said, but that seems so... un-git-y.
So my questions are:
- Am I missing any built
git
tools/features that are made to manage multiple repositories like this? - Am I correct in my thinking that
git-submodule
is not what I'm looking for to help manage this? - Are there any good strategies that you've seen for this type of set up?