1 / 27

Subversion vs Git

Subversion vs Git. April 2012. Agenda. Business Context and High Level Goals Evaluation Criteria and Methodology Benefit summary of Git followed by its Evaluation Benefit summary of Subversion followed by its Evaluation Summary and Recommendation Questions. Business Context & Goals.

fhumphrey
Download Presentation

Subversion vs Git

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Subversion vs Git April 2012

  2. Agenda • Business Context and High Level Goals • Evaluation Criteria and Methodology • Benefit summary of Git followed by its Evaluation • Benefit summary of Subversion followed by its Evaluation • Summary and Recommendation • Questions Comparison: Subversion vs Git

  3. Business Context & Goals • Client: Recently acquired Enterprise Applications division within Great Accounting Corp. LLP (top 4 accounting firm) of Ottawa. • Top Goal/Objective: Acquire a SCM tool that will integrate with a variety of heterogeneous development platforms (i.e. .NET’s Visual Studio and Java’s Eclipse, amongst others). • Softgoals: • Tool must function in a Windows environment • Easy installation • Easy to learn • Supported Client constraint: • An open source tool from among Git and SVN Client Rationale: These are really the two biggest contemporary open-source players in the market. Already used by huge software entities like Google, Linux, SourceForge, Ruby on Rails, etc Comparison: Subversion vs Git

  4. Criteria and Methodology

  5. Criteria • Required Criteria • File Type Support • 66 file types both binary and ASCII. • Integration to Visual Studio 2010 • Main development environment used by the EA group. • Core Versioning Features • Tag, merge, lock, branch, commit, search, history and checkout Comparison: Subversion vs Git

  6. Criteria • High-Impact Criteria • Comprehensive Documentation • Installation and Configuration • How many steps are needed to install and configure? • Application Support • Memory Usage • Idle memory usage of running processes • Dealing with File Conflicts • User Interface Comparison: Subversion vs Git

  7. Criteria • Low-Impact Criteria • Cost • Hard Disk Space Required • Customizability • Execution Time of Operations • For branching, committing and checking out code. Comparison: Subversion vs Git

  8. Methodology • Each High/Low-Impact Criteria: • Is weighted based on importance • High-Impact = 10 • Low-Impact = 5 • Given a percentage score value. • Given a final score by multiplying the score by the weight. Comparison: Subversion vs Git

  9. Methodology • Qualitative Criteria • Percentage value based on satisfaction: • Unsatisfied = 0% • Weakly Satisfied = 25% • Moderately Satisfied = 50% • Strongly Satisfied = 75% • Fully Satisfied = 100% Comparison: Subversion vs Git

  10. Methodology • Quantitative Criteria • Percentage is determined by dividing the value of the criterion divided by the maximum value obtainable. • If there is no maximum value, it will be derived from the better scoring tool: • SF is the final score which is obtained by dividing the minimum score by the measured score Sx multiplied by 100. • This formula assumes that lower is better, which is the case for all quantitative criteria without a maximum value. Comparison: Subversion vs Git

  11. Methodology • Final Score • The score of each criteria is multiplied by the criterion weight. • The calculated values are summed to a final value. • This value is out of a maximum of 80 points. • The tool with the highest score, which at least “Strongly Satisfies” all the required criteria, will be recommended. Comparison: Subversion vs Git

  12. Git Evaluation (Git and Git Extensions)

  13. Some well known benefits of Git • Branching model: • Not limited to a clone in a new directory • Allows multiple local branches • Extremely fast and easy to create, delete and merge branches compared to other SCM tools • Note: Other SCMs can duplicate Git’s branching functionality but the process is often more complex and a lot slower • Speed: • Quicker in almost all operations than client-server tools because the repository is local • Built using low level C on a Unix kernel • Staging Area: • Added buffer zone called the staging area • Preview and commit even partial page changes versus all or nothing with other tools • Management Workflow: • Variety of repository management workflows: 1) Subversion-Style, 2) Integration Manager and 3) Integrator Sub-Integrator amongst others Comparison: Subversion vs Git

  14. Git Evaluation – Mandatory Criteria Comparison: Subversion vs Git

  15. Git Evaluation – High Impact Criteria Comparison: Subversion vs Git

  16. Git Conflict Diff Tool • Free-form versioned metadata ("properties"). • Subversion allows arbitrary metadata to be attached to any file or directory and are also versioned. • Allows for bug tracking, custom logs, keywords, ignore lists etc. • Branching and tagging are constant time operations. • Executable flag is preserved. • Costs are proportional to change size, not data size. • Atomic commits • No part of a commit takes effect until the entire commit has succeeded. • Can checkout sub-directories only Comparison: Subversion vs Git

  17. Git Extensions plug-in Comparison: Subversion vs Git

  18. Git Evaluation – Low Impact Criteria Comparison: Subversion vs Git

  19. Great Accounting Corporation Subversion Evaluation (VisualSVN and TortoiseSVN)

  20. Some well known benefits of Subversion • Free-form versioned metadata ("properties"). • Subversion allows arbitrary metadata to be attached to any file or directory and are also versioned. • Allows for bug tracking, custom logs, keywords, ignore lists etc. • Versions directories as well as files • Can checkout partial repositories • Locking is supported. • Easier to learn than Git Comparison: Subversion vs Git

  21. Subversion Evaluation – Mandatory Criteria Comparison: Subversion vs Git

  22. Subversion Evaluation – High Impact Criteria Comparison: Subversion vs Git

  23. TortoiseSVN Conflict Diff Tool • Free-form versioned metadata ("properties"). • Subversion allows arbitrary metadata to be attached to any file or directory and are also versioned. • Allows for bug tracking, custom logs, keywords, ignore lists etc. • Branching and tagging are constant time operations. • Executable flag is preserved. • Costs are proportional to change size, not data size. • Atomic commits • No part of a commit takes effect until the entire commit has succeeded. • Can checkout sub-directories only Comparison: Subversion vs Git

  24. VisualSVN plug-in Comparison: Subversion vs Git

  25. Subversion Evaluation – Low Impact Criteria Comparison: Subversion vs Git

  26. Evaluation Summary Comparison: Subversion vs Git

  27. Summary and Recommendation • Both tools met the mandatory criteria • However SVN scored 11.25 points higher than Git (14%). • Therefore we recommend Subversion using: • VisualSVN server • TortoiseSVN integrated client Comparison: Subversion vs Git

More Related