0

The company I work at has a git software repository consisting of many common and top-level software projects, where the top level projects will include various different common projects to generate the final binary-executable file. The build system runs on linux.

The problem we have is that our top level projects are a bit of a mess and have started to branch off. We are using a manual "make" system where we are editing files (make.config) to include correct version of the common projects.

Our release procedure is very manual. For example to do a local build (copy all projects to the local PC and build them) we have to modify export values (export VAR=value) and if we want to build from the latest built (stored on a server) we delete the export values.

The main issues we are seeing is that we struggle to keep all the projects pointing to the right common file versions, especially if a common project is up-versioned.

So, we are looking into what we can do to improve our situation. All ideas / answers welcome.

code_fodder
  • 15,263
  • 17
  • 90
  • 167

1 Answers1

1

You can try git-repo. I think its official description completely fits your problem:

Repo is a tool that we built on top of Git. Repo helps us manage the many Git repositories, does the uploads to our revision control system, and automates parts of the Android development workflow. Repo is not meant to replace Git, only to make it easier to work with Git in the context of Android. The repo command is an executable Python script that you can put anywhere in your path.

Moreover, it's created by Google. Git-repo is used to manage a lot of very large scale projects, such as Android, Chrome...etc. It's proven to be capable to handle large scale project with very many repositories.

miaout17
  • 4,715
  • 2
  • 26
  • 32