Reply to topic  [ 10 posts ] 
transition from CVS to SVN (or github) 
Author Message
Yorick Master

Joined: Mon Nov 22, 2004 9:43 am
Posts: 354
Location: Livermore, CA, USA
Post transition from CVS to SVN (or github)
As you can see by going to the home page of sourceforge.net and selecting the blog tab, sourceforge has suffered a malicious hacker attack. The worst hit service was CVS, which has been temporarily shut down, making it impossible to upload patches or browse the yorick CVS repository. They expect service to resume early this week.

However, this is apparently the end of the line for CVS at sourceforge. We will need to transition the yorick source code from CVS to its successor SVN over the next few months. On the whole, this will be a good thing -- SVN really is a better product, and by now it is relatively mature. However, there is bound to be some pain for all of you (not to mention for me), fixing scripts and documentation you may have used for years.

If you have any special concerns about transitioning source control yorick from CVS to SVN, or about the time frame of the transition, please post a reply here.

If you have a strong preference for GIT instead of SVN, please make your argument as a reply here, as well. I am very familiar with SVN, but I know very little about GIT (or the other distributed source management systems). The general philosophy behind GIT is intriguing, but I can't wrap my head around the idea that there is no "official" or "standard" or "reference" version of the source - I don't understand how that can work. I'm also very unsure about compatibility with Windows. So if any of you is a GIT enthusiast and think it would be a much better choice for yorick than SVN, here is the chance to make your case.


Sun Jan 30, 2011 8:59 pm
Profile
Yorick Master

Joined: Mon Nov 22, 2004 9:43 am
Posts: 354
Location: Livermore, CA, USA
Post 
The change to a new source control system is a serious one. All of you who are yorick developers should take the time to think about this, or at least review my musings hear and post a reply if you see any serious problems.

After reading
http://www.infoq.com/articles/dvcs-guide
and some of the links I found there, I am seriously tempted to make a much more radical switch to git instead of svn. The git website also makes a very convincing (to me) case for their product at
https://git.wiki.kernel.org/index.php/GitSvnComparison
which I think you'll find worth reading.

As I read about this, it occurs to me that as long as we are going to have some pain, we may as well try to push toward the most modern system we can. I think the distributed systems are here to stay, and it sounds like subversion is evolving in that direction. Why not just jump ship immediately?

One telling advantage of git is that each of us will have what amounts to a complete backup of the yorick repository, rather than merely a single checked out version. In case of an outage like the one we are suffering now, the pain will (they advertise) be much less. A system like git will also make it much easier to maintain private branches, and still be able to merge bug fixes from the public code, which has been a significant issue for some of you, and occasionally for me.

As you can tell, I am very nearly sold on switching to git instead of svn. (And I see that there is also a git-svn hybrid -- but why not just go all the way?) If any of you objects to this more radical change, please reply here soon!

I'm not sure how this will happen mechanically. I will probably temporarily turn off everyone's write access to the repository, then translate the final CVS version to git, then reopen the yorick source code and turn back on everyone's write access. That should take only an hour or so, which is not an issue in itself. The only serious problem would be for anyone who has uncommitted changes in their checked out CVS copies. Your will not be able to check in such changes -- instead, you will need to clone yourself a git repository, and manually patch it to match your uncommitted CVS changes. If any of you has any significant uncommitted changes, PLEASE post a reply here, or contact me by email, so we can coordinate and not make anyone's life unnecessarily harder. (This problem would happen for CVS to SVN as well -- so don't think this is a reason to prefer SVN to git...)


Sat Feb 05, 2011 10:48 pm
Profile
Yorick Master

Joined: Wed Jun 01, 2005 11:34 am
Posts: 112
Post 
I don't really develop the Yorick source code so ultimately it won't impact me too strongly. However, I think you're making the right choice to go with a distributed system. We migrated from CVS to Mercurial for our internal projects and have found it very advantageous.

Unfortunately, a lot of people struggle in transitioning from a system like CVS or SVN to a system like git or Mercurial because they continue to think in terms of the old way of doing things. The two kinds of platforms are really quite different paradigms and to get the most out of them, you need to shift your thinking a bit. I found this tutorial (geared towards SVN->Mercurial but the ideas are applicable to CVS->Git as well) helpful in explaining those paradigm differences: http://hginit.com/00.html

If you haven't looked into Mercurial yet, I'd highly recommend giving it a look. Ultimately either of git or Mercurial would serve you well. But when I tried each, I found git had a steeper learning curve and was unnecessarily complex when compared to Mercurial.

With respect to the concerns you voiced in your first post:

GIT/Mercurial do not have a built-in technical mechanism for enforcing an "official" source. However, it's easy to designate one by convention. Whatever you have in the main repo on SF is the "official" source.

There are Windows interfaces for SVN, git, and Mercurial through various Tortoise programs: TortoiseSVN, TortoiseGit, and TortoiseHg. The interfaces among the three are fairly similar and all seem to work well, though I admittedly haven't used them much (I primarily develop under Linux). You can also work with all three on the command line under Cygwin just as you would on *nix, which I've used more than the Tortoises and have never had problems with.


Tue Feb 08, 2011 9:08 am
Profile
Yorick Master

Joined: Mon Nov 22, 2004 9:43 am
Posts: 354
Location: Livermore, CA, USA
Post 
Okay, I'll have a closer look at Hg.

One immediate question: Is there a Mercurial equivalent to the "social networking" site github? It is clear that we will need a way for our far-flung community to share their private repositories, to enable the few of us with commit authority at sf.net to pick up their patches. (I'm trying to get my head around how we can get the most out of a distributed SCM here...) It seems like github would be a better option than email for most of us.

Ultimately, I think my decision will be based on which SCM seems most popular -- that is, most vigorous and likely to remain so -- not necessarily stylistically or theoretically superior. I'm leaning toward Linus's baby primarily on those grounds, but I am not really that connected with the programming world. If I'm misjudging the relative popularity of git versus hg, please straighten me out.


Thu Feb 10, 2011 9:20 am
Profile
Yorick Master

Joined: Wed Jun 01, 2005 11:34 am
Posts: 112
Post Re: transition from CVS to SVN
I believe the Mercurial equivalent to github is bitbucket: https://bitbucket.org/ However, I haven't really used either of github or bitbucket so I can't comment on what the differences between them are.

When I was looking into which SCM to use for our project, I tried to figure out which of git and hg were more popular and didn't really come to any firm conclusions. They both seem to be pretty popular and pretty actively developed, though.


Mon Feb 14, 2011 11:10 am
Profile
Yorick Master

Joined: Mon Nov 22, 2004 9:43 am
Posts: 354
Location: Livermore, CA, USA
Post Re: transition from CVS to SVN
Francois and I have decided to move yorick to the git DSCM. If you prefer Mercurial, please try the hg-git plugin (http://hg-git.github.com/), which claims to make it possible for you to push and pull from a git repository, while keeping your local repo and development work with Mercurial. I would be interested to hear how well hg-git works for a yorick user. There is a test git repo at http://github.com/dhmunro/yorick if you want to try out the new SCM. Please do not do any serious development using that repo yet; I may need to destroy it and recreate it. The place to begin reading about git and github is help.github.com. We do not yet know what will remain at yorick.sf.net -- this forum seems likely to remain here, and possibly the release files.


Mon Feb 14, 2011 8:04 pm
Profile
Yorick Master

Joined: Tue Mar 07, 2006 10:31 pm
Posts: 125
Location: Meudon, France
Post Re: transition from CVS to SVN
Dear Dave,

I think it would be good to keep most of the homepage at sourceforge: moving your primary address is always troublesome, we should avoid doing that.

Actually, why not host the git repository on sourceforge?

Best regards, Thibaut.


Wed Feb 16, 2011 4:51 am
Profile WWW
Yorick Master

Joined: Sun Sep 26, 2004 10:33 am
Posts: 150
Location: Australia
Post Re: transition from CVS to SVN
Thibaut,
thanks. I think no decision were taken concerning the web pages, and indeed the simplest would be to leave them on sf. However the primary web pages address is not really a good argument as we can leave a redirect for years. But I'm not sure github support php yet so for now these pages are staying where they are.
On top of it, github doesn't appear to support any kind of forum, so this will stay at sf for the foreseeable future.
We have opted to go with gibhub as the sf.net implementation does not compare with the github one. Github is way superior is many aspects (speed, repo sync, pull request, repo information, etc etc, it's countless). No, we won't have as nice an integration with sf, but the drawbacks are completely outweighted by the nice features of github.
Try it, it's magical. David and I are having a lot of fun learning git and seeing how much it will facilitate code development (and version control).


Wed Feb 16, 2011 7:04 pm
Profile WWW
Yorick Master

Joined: Mon Nov 22, 2004 9:43 am
Posts: 354
Location: Livermore, CA, USA
Post Re: transition from CVS to SVN
As Francois said, github is better for managing source. I think you'll all agree after a very short period of time.

These forums will remain here at sourceforge indefinitely, as github does not provide any similar feature. However, I've just started a yorick Wiki at github.com. In fact, I've made it the destination you reach with http://yorick.github.com. Anyone with a github.com account (free) may contribute. I'd like to see how that grows; maybe it can replace these static yorick.sf.net web pages, but maybe not. We'll see.

So the forums will be here at yorick.sf.net indefinitely. These Web pages may be superseded by the Wiki at yorick.sf.net. The CVS repositories here at sf.net are closed forever. Please do not either read or write to them any more. Start at yorick.github.com if you want to build yorick from source, or to work on yorick source code. The same applies for all yorick plugins and packages. I'm sorry for the abruptness, but Francois and I are done with CVS.


Sat Feb 19, 2011 12:09 pm
Profile
Yorick Master

Joined: Wed Jun 01, 2005 11:34 am
Posts: 112
Post Re: transition from CVS to SVN
munro wrote:
If you prefer Mercurial, please try the hg-git plugin (http://hg-git.github.com/), which claims to make it possible for you to push and pull from a git repository, while keeping your local repo and development work with Mercurial. I would be interested to hear how well hg-git works for a yorick user.


I had tried this a while back and didn't have much luck. I decided to try again today and to my delight was able to make a clone of the yorick-yutils repo, make some changes, and push them to my fork on github.

I did run into one temporary issue. I wasn't able to push my changes at first. It didn't give me any errors, but nothing was showing up on my fork. I was able to solve this by issuing this command:
Code:
hg bookmark -fr tip master

After that, the push succeeded.


Thu Aug 16, 2012 9:22 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 10 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.