Browse the Ruby on Rails Community.

You are here: Forums General Discussion Git, SVN, or SVK? or ?...

Replytotopic

Git, SVN, or SVK? or ?

Posted in Forums : General Discussion

 
Martinsadler

Authority 62
Posting Rating 26
Sign in to rate this post

The Rails trunk is on SVN however Koz has a separate git repository and Jeremy Kemper uses SVK. Also there has been talk of Mephisto using git exclusively for future
development.


What kind of version control system are you using at the moment? Which is your favourite and why? How do you use it to aid your development process / contribute to the core?

 
Headshot

Authority 25
Posting Rating 32
Sign in to rate this post

Git. and I like to see rails development move to git.
Easy( and Quick ) branching is important feature for project like Rails.

 
Profile

Authority 0
Posting Rating 0
Sign in to rate this post

Git x2, The distributed nature of Git allows me to keep my full workflow whether I’m on a train, at home, or in a park. I heavily rely on branching for making (larger) changes to my code (any code, Ruby, Objc-C, etc.). Another plus is git’s ability to bridge to other SCM systems like SVN and CVS.

 
Jay

Authority 12
Posting Rating 0
Sign in to rate this post

RSpec is moving from SVN (though they’ll keep an SVN read-only repository), but they haven’t decided on Git or Mercurial yet. I suspect Git’s tricky Windows support is one reason. I’ve asked David Chelimsky to chime in with more details on the RSpec list.

 
Rj-blogshot

Authority 75
Posting Rating 98
Sign in to rate this post

Git FTW! Seriously, I have never met a source control system I liked, from VSS to CVS, to SVN, then I found Git and fell in love!

 
Avatar

Authority 37
Posting Rating 92
Sign in to rate this post

Definitely Git! Especially now you can get a quick start with gitorious.org or github.com

 
Img_4570

Authority 37
Posting Rating 93
Sign in to rate this post

Git is gaining a lot of popularity fast, however, I should say that if you don’t know SVN you’ll be in a bad way. As you begin to work with RoR and work in teams, not every team leader is going to be offering you the possibility of using git, and while there are ways to still use git in light of that, you really should understand how svn works as well. However, git it still a lot easier to work, and branching is a dream compared to svn.

 
Gchatzi_photo

Authority 12
Posting Rating 0
Sign in to rate this post

I used to work with SVN. We are a team of two developer but even in that case Git is a lot better compared to subversion.
We have about 20 projects on SVN and we’re slowly moving them to git, but we had to deal with a number of issues

  • Plugin support

First after using externals for a long time, I think externals for plugins are a bad idea. Not in all cases, but generally I avoid them.
I mention this because there is no alternative for externals in Git. You can use submodules, but they require a lot of developer discipline to not mess things up.
Wherever externals are absolutely necessary, we use rake tasks and either submodules or break up the repository to pieces and pull, push accordingly.

  • Windows support

We don’t use windows. :)
This can be a problem for many people. We have a project or two that work designers with windows machines. For that cases we keep the SVN repo and use git-svn for ourselfs.

  • Empty repositories.

Rails needs repositories to exist (like tmp/cache) even though you don’t track any files in it. It’s easy to add .gitignore files in them and keep track of them.

The issue in my opinion is not switching from SVN to Git, but switching from centralized to distributed and to an SCM that handles branches the way it should.
In that manner Mercurial, Bazaar etc would do just fine.

 
836891

Authority 12
Posting Rating 80
Sign in to rate this post

I’m using Subversion. I’d like to try Git, but I have yet to see a solution for Rails plugins that doesn’t involve a lot of kludges to replicate what SVN does easily with externals. When I see such a solution – - and when Mingle integrates with Git – - I will happily try it.

 
Profile

Authority 12
Posting Rating 27
Sign in to rate this post

Mercurial. Netbeans, which I use for jruby development, has good support for it, thus it should also work good in windows if you need it.

 
Profile

Authority 0
Posting Rating 0
Sign in to rate this post

I currently use bzr (= Bazaar-NG, http://bazaar-vcs.org/), and I’ve been experimenting a lot with Git lately.
About a year ago, I used Subversion, but I wanted to switch to a distributed VCS. At that moment, it seemed bzr was the most stable amongst all DVCSes. Now, however, Git has become very popular, because it’s used for Linux, because it’s very good, and in the Ruby/Rails world because of GitHub (which is excellent BTW). bzr on the other hand has Canonical behind it, and is used for anything relating to Ubuntu. If I’d have to choose again, today, I’d probably choose for Git, and I’d use GitHub to make my code public to the world, especially for Rails-related code. But, that would mainly be because of the ecosystem surrounding it (GitHub, large, important projects using it, Rails adopting it, etc.), and not because it’s technically superior to bzr (at least not that I know of, both are progressing very fast though, and all DVCSes are copying features from each other).

 
Profile

Authority 25
Posting Rating 11
Sign in to rate this post

Martin,

Just in case you haven’t made your decision yet, let me bring you an alternative perspective.

These days it seems that people are willing to “jump ship” to new technologies without really letting them bake. And, sometimes this can be good! But, with a development project that might have several developers, don’t make a rash decision. The reason is, with version control, you have a lot of choices and not everyone is familiar with all of these technologies. From a technical standpoint, git offers some compelling functionality that svn doesn’t. And really, svn offers compelling functionality that cvs doesn’t. But, you can find developers who are IMMEDIATELY familiar with svn today, but you’re likely going to have to train people on git (or at least reserve some time for them to learn it on their own).

Write down your needs to a list. Then, visit the websites for each of the tools, and compare whether or not they provide the functionality you need against that list. Use that to make your decision. If you have ties, then look toward the community to give you compelling reasons for which you should pick!

Good luck!

-Kevin

Kevin Elliott
WeLikeFood Beta
Great restaurants. Great reviews.

Replytotopic

Other Recent Topics

General Discussion : May 13th - Toronto Ruby on Rails Project Night Returns

General Discussion : Agile Web Development with Rails, 3rd Edition released!!

General Discussion : www.rubyonrails.org was Hijacked /Hacked ???

General Discussion : Data tracking and site statistics

General Discussion : Heroku Invite

General Discussion : mod_rails

General Discussion : Orphan start-up - suggestions?

General Discussion : Where to find RoR contractors in Chicago?

General Discussion : Promote a website / project

General Discussion : very basic question about what is possible with ROR

Formatting Help
  • *bold*       _italics_      
    bq. (quotes)
  • "DSC":http://www.dsc.net
  • * or # (lists)
or cancel