Why You Should Switch from Subversion to Git

September 15th, 2009

You may have heard some hubbub over distributed version control systems recently. You may dismiss it as the next hot thing, the newest flavor of kool-aid currently quenching the collective thirst of the bandwagon jumpers. You, however, have been using Subversion quite happily for some time now. It has treated you pretty well, you know it just fine and you are comfortable with it – I mean, it’s just version control, right?

You may want to give it a second look. Not just at distributed version control systems, but at the real role of version control in your creative toolkit. In this article, I’m going to introduce you to Git, my favorite DVCS, and hopefully show you why it is not only a better version control system than Subversion, but also a revolutionary way to think about how you get your work done.

Scott Chacon

http://carsonified.com/blog/web-apps/why-you-should-switch-from-subversion-to-git/

Git changes the game of distributed development

August 28th, 2009

Version control systems are a core component of most development projects, regardless of whether you’re developing an application, a Web site, or an operating system. Most projects involve multiple developers, often working at widely separated physical locations. Distributed version control systems are nothing new, but the Git version control system provides unique support for collaboration and interaction among developers.

William von Hagen

http://www.ibm.com/developerworks/web/library/wa-git

Speed Up Project Delivery with Repeatability

January 20th, 2009

Every environment has them: The dreaded manual tasks that drain productivity from the team and add instability to the processes. We usually dedicate only half our brain power—and never enough time—to deal with them, which only compounds the problem. But what if you could automate the most painful tasks and gain a huge boost in productivity and speed of delivery?

Anyone who has worked on a large project, especially one with multiple developers, knows the pain of dealing with code change conflicts, the “works on my machine!” syndrome, “magic” builds, and other process and procedure anti-patterns. Developers hate having to deal with these things, nonetheless, we always get stuck having to do them. In this article, I’ll walk you step-by-step through some simple changes you can make to your environment to eliminate many of the non-code related headaches. By producing reliable, quality builds every time and easing the pain of deployment to multiple environments you’ll be able to get back to doing what you really love: Coding!

Chad Myers

http://www.devx.com/codemag/Article/40557

Subversion 1.5 Released

June 24th, 2008

The Subversion open source community has announced the general availability of version 1.5 of the Subversion software configuration management (SCM) tool. Among other key features, Subversion 1.5 includes:

  • Merge tracking for more automated and efficient branch management.
  • Sparse checkouts to enable users to check out only a portion of a source tree to reduce the total footprint on their individual workstations.
  • Repository sharding and partitioning, to more efficiently distribute repository storage across filesystem resources and to improve server performance.
  • A proxying system for spreading read-load across multiple repository servers for improved performance.

http://www.ddj.com/architect/208700728
http://subversion.tigris.org/

Distributed Version Control Systems: A Not-So-Quick Guide Through

May 7th, 2008

Since Linus Torvalds presentation at Google about git in May 2007, the adoption and interest for Distributed Version Control Systems has been constantly rising. We will introduce the concept of Distributed Version Control, see when to use it, why it may be better than what you’re currently using, and have a look at three actors in the area: git, Mercurial and Bazaar.

Sebastien Auvray

http://www.infoq.com/articles/dvcs-guide

Version Control for Multiple Agile Teams

April 22nd, 2008

If we have several agile development teams working on the same codebase, how do we minimize the risk of stumbling over each other? How do we ensure that there always is a clean, releasable version at the end of each iteration? This paper describes an example of how to handle version control in an agile environment with multiple teams - it is the scheme that we migrated to at the company described in “Scrum and XP from the Trenches”.

This paper is not primarily targeted for version control experts, in fact such experts probably won’t find anything new here. This paper is aimed at the rest of us, those of us that just want to learn simple and useful ways to collaborate. It may be of interest to anyone directly involved in agile software development, regardless of role - branching and merging is everybody’s business, not just the configuration manager.

Henrik Kniberg

http://www.infoq.com/articles/agile-version-control

Beanstalk

January 28th, 2008

Beanstalk is a hosted Subversion system, making it easy to setup, browse, and track Subversion. Beanstalk has built-in integration with your favorite tools such as Basecamp, FogBugz, Campfire and more. Beanstalk is used by software teams, developers, and web designers who don’t want the hassle of setting up and managing their own Subversion server. It helps them collaborate, provides confidence when making changes, and offers peace of mind.

http://beanstalkapp.com/

Jazz and the Eclipse Way of Collaboration

December 21st, 2007

Twenty-five years ago, computer programmers often wrote code in environments reminiscent of the cells of cloistered monks. But now that software development has become highly collaborative, developers tend to spend more time interacting with their colleagues than stringing together lines of code.

In the past, software collaborative efforts were more ad hoc than formal. So, collaboration strategies sometimes created more problems than they solved. In a typical workday, the need to respond to emails, attend meetings, participate in group discussions, and manage source control could take up so much time that little time was left to do any coding.

To improve collaboration in software development teams, IBM Research and IBM Rational software engineers have been working on the Jazz project.

Randall Frost

http://www.computer.org/portal/cms_docs_software/software/homepage/2007/s607/Jazz-Eclipse.pdf

Bazaar goes 1.0!

December 14th, 2007

We’ve just released our 1.0 — a big milestone for any project, though by no means the end. Thousands of commits, dozens of code contributors, hundreds of bugs opened and closed. A system that’s flexible, powerfully simple, and friendly to use.

Bazaar is a distributed version control system available under the GPL that reduces barriers to participation in your project. Our priorities are:

  • Good performance: Bazaar status in a tree of 5,000 files takes just 0.5 seconds, so almost every open source project can get the advanced features of Bazaar without slowing down its developers. Bazaar is robust in the face of radical tree restructuring, saving you time when it comes to merging from your community.
  • Safe with your data: There have not been any data loss bugs in a Bazaar release in the past two years. Bazaar has a huge test suite that ensures that new file formats can be tested automatically. The development process follows best practice with code review of all core and community code landings.
  • Friendly: Bazaar “Just Works” (which is why the Ubuntu team chose it for their project). Bazaar has a natural feel, you can publish your code on any web server or use a custom server for performance. Bazaar has perfect support for renaming files AND directories, which means you can unleash your community and merge efficiently even from contributors who are radically restructuring the tree.
  • Free: Bazaar is available under the GPL v2 or later.
  • Easy to integrate: Bazaar is designed as a Python API with a plugin system, so it is easy to embed in your tools and projects and easy to extend or integrate with existing infrastructure. Whether you are managing your development, or keeping track of configuration files, or building a new content management system, Bazaar is a great choice if you like to work in Python.

Canonical Ltd.

http://bazaar-vcs.org/

Version Control and “the 80%”

October 17th, 2007

In 2007, Distributed Version Control Systems (DVCS) are all the range among the alpha-geeks. They’re thrilled with tools like git, mercurial, bazaar-ng, darcs, monotone… and they view Subversion as a dinosaur. Bleeding-edge open source projects are switching to DVCS. Many of these early adopters come off as either incredibly pretentious and self-righteous (like Linus Torvalds!), or are just obnoxious fanboys who love DVCS because it’s new and shiny.

And what’s not to love about DVCS? It is really cool. It liberates users, empowers them to work in disconnected situations, makes branching and merging into trivial operations. […] No matter how cool DVCS is, anyone who tells you that DVCS is perfect for everyone is completely out of touch with reality. Why? Because (1) DVCS has tradeoffs that are not appropriate for all teams, and (2) DVCS completely blows over the head of the 80%.

Ben Collins-Sussman

http://blog.red-bean.com/sussman/?p=79