Get Rid of Visual SourceSafe Codemash 2010

25
Get Rid Of Visual SourceSafe??! By: Joe Kuemerle / @jkuemerle www.preemptive.com / @PreEmptive

description

Are you still using Visual Source Safe? Have you heard about all the other version control systems that are out there but have not had the time or patience to evaluate them? Come and learn about the ins and outs, ups and downs of Team Foundation System, Subversion, and Git : what they offer and how to integrate them into your current environment.

Transcript of Get Rid of Visual SourceSafe Codemash 2010

Page 1: Get Rid of Visual SourceSafe Codemash 2010

Get Rid Of Visual SourceSafe??!

By: Joe Kuemerle / @jkuemerle

www.preemptive.com / @PreEmptive

Page 2: Get Rid of Visual SourceSafe Codemash 2010

Background of Joe KuemerleLead Developer at PreEmptive Solutions

Over 15 years of development experience with a broad range of technologies

Focused on application and data security, coding best practices and regulatory compliance

Presenter at community events, CodeMash, devLink and MSDN Developer Conference 2009

Page 3: Get Rid of Visual SourceSafe Codemash 2010

High Level OverviewVisual Source Safe (VSS) :

Microsoft’s file based version control system (VCS)

Team Foundation Server (TFS) : Microsoft’s client/server application lifecycle management (ALM)suite, includes VCS component

Subversion (SVN) : Open source client/server VCS

Git (GIT) : Open source distributed VCS

Page 4: Get Rid of Visual SourceSafe Codemash 2010

TFS Cheatsheet

Page 5: Get Rid of Visual SourceSafe Codemash 2010

SVN Cheatsheet

Page 6: Get Rid of Visual SourceSafe Codemash 2010

GIT Cheatsheet

Page 7: Get Rid of Visual SourceSafe Codemash 2010

VSS Cheatsheet

Page 8: Get Rid of Visual SourceSafe Codemash 2010

Say Goodbye To

Page 9: Get Rid of Visual SourceSafe Codemash 2010

New Concepts

Page 10: Get Rid of Visual SourceSafe Codemash 2010

Edit & Merge

Page 11: Get Rid of Visual SourceSafe Codemash 2010

Repository Structure

Page 12: Get Rid of Visual SourceSafe Codemash 2010

Branch & Merge

T

TFSAdequate repository branchingCan only merge with direct ascendant/descendant.

SVN Robust repository branchingVery good merge support

GITSupport for local and repository branchingVery good merge supportEasy to branch per feature

Page 13: Get Rid of Visual SourceSafe Codemash 2010

Connectivity

T

TFSRequires near constant server connectionPoor offline supportSupports HTTP, HTTPS

SVNOccasional server connectionVery good offline supportSupports HTTP, HTTPS, SSH, file, SVN

GITRequires server connection only when necessary to syncExcellent offline supportSupports HTTP, HTTPS, SSH, file, GIT

Page 14: Get Rid of Visual SourceSafe Codemash 2010

Integration Options

T

TFSWindows, Mac/Linux via 3rd partyCommand Line, Visual Studio, Eclipse (3rd party)Few other toolsSome CI tools

SVNWindows, Mac, LinuxCommand line, Explorer, Visual Studio, EclipseMany text editors and merge toolsMost CI tools

GITWindows, Mac, LinuxCommand line, Explorer, Visual Studio, EclipseText editors and merge toolsMany CI tools

Page 15: Get Rid of Visual SourceSafe Codemash 2010

Licensing And Support

T

TFSProduct support from Microsoft, active community supportServer requires either a license ($) or up to 5 users (Workgroup, free)Clients require either a CAL or VST* SKU (except Workgroup)

SVNProduct support from various 3rd parties, very active community supportNo server licenseMost clients are free/open source.

GITProduct support from 3rd parties, very active community supportNo server licenseClients are free/open source

Page 16: Get Rid of Visual SourceSafe Codemash 2010

Authentication & Authorization

T

TFS Active Directory used for AuthenticationRich set of authorization options based on Active Directory

SVN Rich set of Authentication options including Active Directory via LDAPR/W authorization based on repository paths

GIT Authentication available via HTTP Basic AuthAuthorization based on repository access

Page 17: Get Rid of Visual SourceSafe Codemash 2010

Server Requirements

T

TFSWindows onlyIIS and SharePointSQL Server storage

SVNLinux, Mac, WindowsDaemon , Apache module, IIS or file systemFile system or Berkley DB storage

GITLinux, Max, WindowsDaemon, Apache module or file systemFile system storage

Page 18: Get Rid of Visual SourceSafe Codemash 2010

ALM Options

T

TFSOut of box (OOB) integration with Team System Work Item Tacking OOB integration with SharePointOOB integration with Team Build, easy to add to other CI

SVNEasy integration with Trac and most other WIT systemsIntegration possible with document managementEasy integration with most any CI

GITIntegration with Trac, FogBugz and other WIT systemsIntegration possible with document managementIntegration with most any CI

Page 19: Get Rid of Visual SourceSafe Codemash 2010

How to try it out

T

TFSVirtual Machine available from Microsofthttp://www.microsoft.com/downloads/details.aspx?FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812&displaylang=en

SVN VisualSVN Serverhttp://www.visualsvn.com/server/

GIT msysget : http://code.google.com/p/msysgit

Page 20: Get Rid of Visual SourceSafe Codemash 2010

Migration

T

TFS VSS Converter : http://msdn.microsoft.com/en-us/library/ms253090(VS.80).aspxSVN Vss2svn : http://www.pumacode.org/projects/vss2svn

GIT vss2Git : http://code.google.com/p/vss2git/

Page 21: Get Rid of Visual SourceSafe Codemash 2010

Overcoming Resistance

T

TFSWho ever got fired for buying Microsoft?

SVN

GIT Fast, powerful, cutting edge

Mature, widely used, well documented

Page 22: Get Rid of Visual SourceSafe Codemash 2010

Other options

CVS

Page 23: Get Rid of Visual SourceSafe Codemash 2010

References

Page 24: Get Rid of Visual SourceSafe Codemash 2010

Resources Version Control

◦ Eric Sink http://www.ericsink.com Team Foundation Server

◦ Radio TFS Podcast: http://www.radiotfs.com/◦ Brian Harry’s blog: http://blogs.msdn.com/bharry◦ Aaron Halberg’s blog: http://blogs.msdn.com/aaronhallberg

Subversion◦ http://subversion.tigris.org/◦ Version Control With Subversion: http://svnbook.red-bean.com/◦ VisualSVN: http://www.visualsvn.com / AnkhSVN:

http://ankhsvn.open.collab.net/ Git

◦ Git Community Book: http://book.git-scm.com/◦ Git for Windows Developers:

http://www.lostechies.com/blogs/jason_meridth/archive/2009/06/01/git-for-windows-developers-git-series-part-1.aspx

◦ Why Git is Better than X : http://whygitisbetterthanx.com/◦ Git – SVN Crash Course: http://git.or.cz/course/svn.html

Page 25: Get Rid of Visual SourceSafe Codemash 2010

Photo Creditshttp://www.flickr.com/photos/rcsj/2501021636http://www.flickr.com/photos/emeryway/3126676119http://www.flickr.com/photos/gfreeman23/3373802436http://www.flickr.com/photos/brostad/3246033875http://farm1.static.flickr.com/119/254390052_f8c55dbeb2.jpghttp://www.flickr.com/photos/woodysworld1778/2120107695http://www.flickr.com/photos/hadi_fooladi/409096822http://www.flickr.com/photos/believekevin/130936470/http://www.flickr.com/photos/obd-design/2374030181http://farm2.static.flickr.com/1044/796971032_ef40405ac6.jpghttp://www.flickr.com/photos/andreiz/1164608259http://www.flickr.com/photos/clappstar/178050837http://www.flickr.com/photos/samgrover/20343010http://www.flickr.com/photos/acbo/2187616739http://www.flickr.com/photos/brewbooks/259423573http://www.flickr.com/photos/edgeplot/1529475806