Forum OpenACS Q&A: Why are we still using a version control system that...

...has the following (partial) development status. according to wikipedia:

- Dick Grune developed CVS as a series of shell scripts in July 1986. [1]
- The latest version was released 8 May 2008 (6 years, 8 months and 28 days ago) [2]
- The last message in the Cvs-Announce mailing list was posted on 8 May 2008 (6 years, 8 months and 28 days ago). [3]
- The last code checkin to the CVS code repository occurred on 30 March 2011 (3 years, 10 months and 6 days ago). [4]

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?]

[1] http://en.wikipedia.org/wiki/Concurrent_Versions_System#Development_status
[2] http://en.wikipedia.org/wiki/Concurrent_Versions_System#cite_note-latestversion-4
[3] http://en.wikipedia.org/wiki/Concurrent_Versions_System#cite_note-14
[4] http://en.wikipedia.org/wiki/Concurrent_Versions_System#cite_note-15

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?

Comments?

-Jim

The largest stopper for the migration of the main openacs code repository from CVS to git(hub) is the lack of volunteers (a) who update the documentation and the cvs-guidelines and (b) update the OpenACS code of the apm-builder.

If you want to clone openacs via git, go ahead and use [1]. 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:oct@openacs.org, 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.

[1] https://github.com/openacs/

Collapse
Posted by Jim Lynch on
Sounds great, thanks Gustaf, that's been the first response that even began to achnowledge git, and you've went all of the rest of the way.

I'll put up an instance coming from a git-cloned repo in a bit.

Have you taken over project leader duties?

=Jim

Collapse
Posted by Jim Lynch on
OK, I have an instance up, of whatever was on master branch on 2/9. I'll report my findings on openacs development.

-Jim

not all changes/fixes from oacs-5-8 have been yet backported to the HEAD branch. if you want to test the installation, i would recommend to use the branch oacs-5-8; if you want to develop new stuff, use HEAD.
Collapse
Posted by Jim Lynch on
yes I do want to start by running all the automated tests... I'm already looking at the UI for adding an application group, in the instance I'm running it fails to redirect after creating the group, and I think it's how return_url is set in the list of groups. I'm looking at it to see whether it's just my instance or it's in openacs_core (if latter, I'll submit bug report)

Also, how, just having checked out openacs-core, would I run the automated tests?

-Jim

Collapse
Posted by Jim Lynch on
nevermind last q, I found testing package already mounted, I ran the tests

-Jim