Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

5. Canonicality > DRY Version Control

DRY Version Control

One obvious application of canonicality has become commonplace in most development shops: version control, which qualifies as canonicality because the “real” files live in version control. Using version control has the obvious benefits of handling the versioning of your files. But it is also a great backup mechanism, keeping your source code in a safe place, away from single instances on developer machines.

I tend to prefer version control systems that don’t lock files but rather merge the contents if more than one developer has made changes (called optimistic revisions). This is a good example of a tool that encourages good and punishes bad behavior. Checking your files into version control early and often encourages you to make small changes. Knowing that you’ll face a merge conflict if you make long-term changes to the file encourages you to check in more often. The tool creates a useful tension, modifying the way you work in subtle but beneficial ways. Good tools are ones that encourage good behavior. Thus, I love the open source Subversion version control system: it is very lightweight, it’s free, and it does just what it is supposed to do and nothing else.


  

You are currently reading a PREVIEW of this book.

                                                                                                                    

Get instant access to over $1 million worth of books and videos.

  

Start a Free Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint