We’ve switched the version control system for Stan (my project at Columbia Uni) from Subversion to Git. I was skeptical when everyone told me how great Git was; the move from CVS to Subversion didn’t buy us much.
Git, on the other hand, is worth it. What I’ve liked about Git so far is:
- Local Repository Copies: Every user gets a full copy of the repository. So you can work on a local version of the entire repository before “pushing” any changes to the main repository. (So what was a commit in Subversion is now a commit followed by a push.) This makes it easy to work on the subway, but it also means you can keep things under version control without polluting the public server.
- Speed: Uploading the 40MB Boost C++ sources to Subversion took, roughly speaking, forever (tens of minutes). In Git, it’s super fast. (Both hosted by Google, so I don’t think it’s the network or servers.)
- Branching: What makes local repositories work really well is branching; it’s way easier to branch and merge in Git than in Subversion.
- Reports: All the commands like “git diff” and “git status” give you more information than Subversion, which is actually very helpful.
If you want to read about Git, I can recommend
- Chacon, Scott. 2009. Git Pro. Apress.
It’s free online in every format imaginable from the author.
Ryan tells me that GitHub is the bomb, too, and when Ryan recommends something, I listen (he told me the move to Subversion was minor, by the way). It apparently has a great community and a great way to suggest pushes to other projects. We may move the Columbia project to there from Google Code. (We can’t do the same for LingPipe, at least in their free open source area, because of our quirky license.)
May 25, 2012 at 6:28 pm |
+1 on Git (and github).
May 26, 2012 at 10:24 am |
Please do move Stan to GitHub!
May 27, 2012 at 2:42 pm |
Hi, your blog is amazing. I am really interested on the Processing Tweets with LingPipe chapters but unfortunately there is no chapter 4 talking about language identification… Are you planning on talking about that again soon?
Congrats again!
May 30, 2012 at 4:00 pm |
There’s an extensive tutorial and evaluation online for using character language model classifiers for language ID:
http://alias-i.com/lingpipe/demos/tutorial/langid/read-me.html
May 28, 2012 at 11:34 pm |
move to GitHub, you will never look back
May 29, 2012 at 8:51 am |
Glad to see you’ve made the leap.
If you haven’t experimented with ‘git add -i’ yet, give it a whirl. It’s my standard workflow now, extremely convenient to preview & individually select hunks before committing. ‘git rebase -i’ is also really nice when I need to massage things before pushing, but that’s probably only about once a week.