Forum OpenACS Development: Re: What version control system (SCM) does OpenACS use now, still CVS, or Git?

Hi, we use git for our main repository and I can say that it is a great tool to have in our belt, and while it might be a Swiss army knife, as long as you start with the main and regular approach I can say go for it.

One of our approaches is using GitFlow, which provides shortcuts to the main commands you want to use in your project and allows a more consistent structure. Some people might not like it but it works in our case (http://datasift.github.io/gitflow/IntroducingGitFlow.html).

The other approach we use is using submodules for our custom packages, and while that is a little more involved in the process of maintaining different repositories for each package, it helps with handling the different versions for each project, that way you can have let's say custom-package 1.0 for project A, but if you need to reuse that package for project B and you might need to make some changes you can either create a branch on that submodule and never merge it to the main branch and keep using it for project B, or do a merge to main/master and use it in the other projects as well.

One thing for sure is that some merges are going to be easy to do, but if there is a merge conflict that's where the fun begins. While there are some UI tools (https://tortoisegit.org/) I only use the command line and a lot of coffee.