Friday, September 9, 2011

Version Control Explained

Read a very good article that explains the nuances of version control, mostly basics but good concepts.

Link to the article - Source Control HOWTO by Erik Sink

Key Concepts

Chapter 2 - Checkins
  • Two radically different  approaches  at version control "Checkout-Edit-Checkin"  and "Edit-Merge-Commit" and the comparison between the two.
Chapter 4 - Repositories
  • Storing Information as Deltas to optimize on disk space requirements
  • Forward Delta and Reverse Deltas and reason reverse deltas are better. Some compromise with disk space to achieve performance by introducing checkpoints in between.
  • Deltas vs Diff - Essentially the same concept, but Deltas are byte oriented and can support binary files whereas Diffs are text oriented and used mainly for source code files.
  • Deleting something from version control permanently (I prefer to checkin the fix as new version rather than rollback or obliterate). But there can be times when you need to obliterate things in the version control system.
Chapter 5 - Working Folders
  • Working file states - good to know....
Chapter 6 - History
  • Labels, Label Promotion (why it should be used sparingly)
  • Blame :-) this one is an awesome feature (and a matching name too....)
Chapter 7- Branches and Chapter 8 - Merging Branches
  • Branching and Merging are important and also the most complicated concepts to understand when it comes to version control.
  • I would suggest reading these in entirety.
Some more interesting reads on the topic

No comments:

Post a Comment