Should we switch repositories?

sunsetsystems wrote on Monday, January 02, 2006:

What do the developers think of the idea of abandoning SourceForge’s CVS repository and switching to a Subversion repository on www.oemr.org?

Problems that I think this would resolve are:

(1) SourceForge’s anonymous CVS access seems to be unusable most of the time.  This is quite annoying for those who want the latest stuff but are not project developers.

(2) Subversion has many improvements over CVS which are listed at http://subversion.tigris.org/.  Especially compelling for me is the ability to version symbolic links, directories and renames.

The main gotcha that I see is making sure someone will always be available to do administration: i.e. backups and troubleshooting.  I would not want to be counting on just person with that responsibility.

Also some people may get confused by failing to read whatever notices we put up, and thinking that SourceForge has our latest code.  I’m not sure offhand what the best way is to address that.

I know SourceForge is working on Subversion support, but it appears to be at least 2-3 months away and we don’t know what new problems it might come with.  We could plan to switch back when and if they do get it all working.

Comments?

– Rod
www.sunsetsystems.com

drbowen wrote on Monday, January 02, 2006:

i have another server that could be used primarily for backups.

It seems that a cron job to run regular backups on a daily basis would be necessary.

Ultimately, all of the develpers would have independent emergemcy back-ups as well.

I could set up the second server at my office in a DMZ.  A cron job to run backup the svn server could be run at regular intervals. We could also mirror the web page on the same machine.

This would give convenient second location back-up of the svn tree.

I will need assitance from you or the other core developers in checking out the set-up and assistance with administration of the svn repository.

Once we release files we bundle them, post one copy to the oemr.org web page and one copy to sourceforge.net.  So sourceforge would still have the freshest stable package and their could be anonymous svn access for those who want or need bleeding edge.

Sam Bowen

sunsetsystems wrote on Monday, January 02, 2006:

I’m willing to be a backup administrator and help with the planning and setup.

By the way there’s a tool ‘cvs2svn’ that can convert the entire CVS repository to svn while retaining all the history of changes.

– Rod
www.sunsetsystems.com

andres_paglayan wrote on Tuesday, January 03, 2006:

I will say either way is ok to me,
I sort of like sourceforge, but the users realy need to get what’s the last.
a cron job can generate a tarball to download.
I can write the script if you want to start with that,

sunsetsystems wrote on Tuesday, January 03, 2006:

Well I just tested anonymous CVS and it’s working today.  Plus I wouldn’t want to switch without 100% support from everyone.  Let’s see how it goes.

– Rod
www.sunsetsystems.com

tekknogenius wrote on Saturday, January 07, 2006:

If we did switch to svn, then we should also change the link on the sourceforge site to point to whatever server was the code repository, change the default cvs page or remove it all together and just have the link on the openemr.sourceforge.net page so that others wouldn’t get confused.

drbowen wrote on Monday, January 09, 2006:

If SourceForge conversion to svn is imminent (ie 2-4 months) it seems reasonble to continue with cvs until then.

I am going to import the current cvs to svn at oemr.org to allow work on PHP5, MySQL5 etc.

sunsetsystems wrote on Saturday, February 25, 2006:

Hey, looks like subversion is finally available on SourceForge:

https://sourceforge.net/project/admin/svn.php?group_id=60081

Any votes for a cutover date?

BTW I’ll be away this weekend…

– Rod
www.sunsetsystems.com

drbowen wrote on Sunday, February 26, 2006:

I personally would like to give them a month or two to make sure the kinks are really worked out.

Sam Bowen

andres_paglayan wrote on Monday, February 27, 2006:

I think Sam’s idea’s good,
lets wait couple of weeks for them to debug and then switch to SVN.

coldblood wrote on Friday, May 14, 2010:

Hey guys - seeing how its been 4 years - I think Sourceforge has the kinks worked out with SVN. :slight_smile:

Are there plans to move to repository to SVN?  Being a developer, I’ve tried to pull thie source code back, but the CVS client and usability is horrible. I always get errors when connecting anonymously and the visibility of the changes is really hard to see.

I see there is some kind of sftip sandbox in SVN, but I haven’t seen any information on how to connect to it. I know this isn’t the latest code either.

I know this is a reply to an old thread, but I did a search for SVN and didn’t find much information out there as to why you guys are still running CVS.

tmccormi wrote on Friday, May 14, 2010:

We’ve talked about this and there are no objections to SVN.  The only thing is that we have automatically updated demo systems and a developers appliance that Brady handles and the work load to switch those to SVN is too high for him to handle right now.   As soon as Brady is ready or someone can help him with that we will  move forward.  I pretty much hate CVS, myself.
-Tony

stephen-smith wrote on Friday, May 14, 2010:

I would love SVN over CVS.  However, SourceForge now has support for Git, which I think is vastly superior to either, particularly modern (1.6+) versions, which support MS Windows quite well.

Before OpenEMR switches version control systems, please watch (youtube) or
read this Google TechTalk.  Basically Subversion’s “CVS done right” might not be good enough and we should consider our other option.  The speaker is no longer directly involved with the Git project, and the talk is from years ago (Git has only improved since then), but it is still fairly convincing.

I love being able to branching/merging without access to the server.  I also think that handling merges-even ones that can’t be done automagically-with Git is vastly supperior.  I use Git to manage my OpenEMR checkout, and will continue to do so if we move to Subversion, but there are advantages to having the whole project on Git as well.

stephen-smith wrote on Friday, May 14, 2010:

Score another point for Git.  The git binary has a ‘cvsserver’ mode where it acts like a (read-only?) CVS server.  I can write the scripts to automatically refresh a Git repository from the SourceForge master, start up a “git cvsserver”, and have the developer appliances pull from that.

sunsetsystems wrote on Saturday, May 15, 2010:

I’m open to switching to svn or git.  But not a big deal to me, I’ve used several different version control systems and cvs is not hard to use, especially now that SF has made things faster.  Let’s wait for Brady to get around to it, and in the meantime we can continue to discuss svn vs. git.

Rod
www.sunsetsystems.com

bradymiller wrote on Saturday, May 15, 2010:

hey,

In theory, I have no preferences (although, I’ve heard that git has improved functionality but has a steeper learning curve, which could be an issue in our project with beginner developers; although the easy support for Windows users would be very useful).

The issue is that all the cvs demos (3.1,3.2, and 4.0) are based on the Developer Appliance, which has a hard coded request for the cvs on the sourceforge server to collect the most recent cvs versions on appliance startup. To change this would require re-building and re-deploying them all. It would also require a rebuild/redeploy of a new Developer Appliance version, and then the current Developer Appliance would be break for current users (I’m not sure how many people are using it, but this isn’t ideal).

My time is very limited secondary to my day job, so I wouldn’t even be able to think about doing this for another several months, And to be I honest, I don’t want to do it, because it’s a tedious process (also need to do lots of testing) and there seems to be no benefit? I’d rather spend my limited time on stuff that is more enjoyable (the benefit to being a volunteer) and productive like reviewing/committing code and helping to work towards MU. Are there any notable disadvantages to CVS that are worth this change (coldblood’s issues don’t count, because the cvs does work on SF, is fast, and is reliable; coldblood’s issues are likely related to the cvs client software)

-brady

bradymiller wrote on Saturday, May 15, 2010:

If the developer appliance issues were dealt with, I’m leaning towards git…(also looks very easy to convert a cvs repos to a git repos)
-brady

bradymiller wrote on Saturday, May 15, 2010:

I’m beginning to persuade myself, maybe could fix the appliances near end of June. Here’s a good comparison of repositories:
http://versioncontrolblog.com/comparison/Bazaar/CVS/Git/Mercurial/Subversion/index.html

ytiddo wrote on Saturday, May 15, 2010:

As someone who has run projects based on cvs, svn, and git, I believe we should switch to using git without delay. While I’ve had some minor problems transitioning due to VERY bad practices by previous developers, using git ‘correctly’ has noticeably improved the quality of the patches I write, while allowing me to write more, easier.

acmoore wrote on Saturday, May 15, 2010:

I would also love to see the code base migrated to git, enough that I’d be willing to help move it and fix some of the dependencies. When considering using openemr, I considered the use of cvs as a bit of a downside, since making contributions back and keeping up with changes would mean using cvs. It is one of the things that has prevented me from contributing more back to the community.

I actually maintain a private repository with some private changes. I periodically bring over commits from cvs. Having the main repository in git would make it really easy for me to incorporate the public changes under my private ones by rebasing against the public repository. I happen to use mercurial privately, but I would immediately ditch that for git if that’s what were to run the main repository.

It would also make it easier for me to contribute some changes back, since I can keep them grouped by feature, and separated from the other changes that are useless to others. Then, I can rebase them back down to being against the public repository and ship off a changeset to the group.

I haven’t noticed any real dissent from the group, just a collection of hurdles that must be passed. Would starting a wiki page be a good way to keep track of the necessary steps to do before cutting over?

-Andy