Monday, December 7, 2015

Episode 48: Source Control

Download

We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

We are on Patreon! https://www.patreon.com/programmingthrowdown

Public Service Announcement: Backing Up

  • Source Control: See Below :-)
  • Small files: Use free cloud services
    • Dropbox, Google Drive, iCloud drive
  • Photos: Use Facebook/Google Photos
  • Other Large Files: Use a private service and link friends/familys' computers
    • Syncthing, Bittorrent Sync

Book of the Show

Tool of the Show

  • Jason: Qt
  • Patrick: Wayward Souls (iOS & Android)

Source Control / Version Control

  • Overview
    • History of each file in the code base
    • Keep backup of work (ability to roll back changes) 
    • Lock vs Merge
      • Work on several files in parallel
  • Pros
    • Don’t have to manually merge
    • Don’t have to use ftp/email to keep resources in sync
    • Can easily rewind time and keep track of branches
    • Ability to apply bug fixes without adding new features (branches)
    • Uses file differences to reduce space
  • Cons
    • Needs to keep entire history (sometimes even on every client)
    • Not designed for large files
      • Github Large File Storage
    • Not designed for archiving
      • Use syncthing / bittorrent sync / dropbox / rsync
  • History
    • 90’s
      • Concurrent Versions System (CVS)
      • Rational Clearcase
      • Microsoft SourceSafe
      • Razor
    • 2000’s
      • Microsoft SharePoint
      • Subversion
    • 2005 - present
      • Git
      • Mercurial