Forum OpenACS Q&A: Why are we still using a version control system that...
- Dick Grune developed CVS as a series of shell scripts in July 1986. 
- The latest version was released 8 May 2008 (6 years, 8 months and 28 days ago) 
- The last message in the Cvs-Announce mailing list was posted on 8 May 2008 (6 years, 8 months and 28 days ago). 
- The last code checkin to the CVS code repository occurred on 30 March 2011 (3 years, 10 months and 6 days ago). 
No activity for 3 years. Branching is expensive. Merging is painful [OCT members who have performed merges: Is this true? Do you think the work involved in one merging of (say) openacs-core cvsHEAD to a version tag is more work, or less work, than a complete switch to git with the package delivery system and everything?]
I'd like to be able to clone a git repo and submit pull requests and have them get back into the main body of openacs, or at least have a chance to have my changes accepted. BTW, who makes those decisions these days? I don't want to be denied because I want to use something that works much better.
CVS is designed to be centralized, with all the features and problems and lack of freedoms associated with that.
Is part of the reason we're not moving to git because right now the project is delivering package using cvs and its tags? I'm given to understand that there is work in that direction; what is its status? We're using cvs as part of our delivery system; can't we just replace with git? or, can we replace the package delivery system with a cvs server that reads from a git repo hosted on either github or openacs.org in order to keep it working?
A handful of you want to move to git as well, maybe daveb, maybe vguerra (who is maintaining the experimental git repos having the openacs code). Who else?
If you want to clone openacs via git, go ahead and use . If you fix bugs in openacs, use the issue tracker and point in the text to the changeset in git. If you want to contribute new features in the core, make a tip. If you want to include other features, make a pull request and contact mailto:email@example.com, it will find a way to integrate the changes. If you want to have new packages included in the repository, build a local package and upload it as instructed in the apm-builder.
I'll put up an instance coming from a git-cloned repo in a bit.
Have you taken over project leader duties?
Also, how, just having checked out openacs-core, would I run the automated tests?