Need advice about which tool to choose?Ask the StackShare community!
Git vs Plastic SCM vs SVN (Subversion): What are the differences?
# Introduction
1. **Version Control Systems Comparison**:
2. **Ability to Handle Large Repositories**: Git has better performance in handling large repositories compared to Plastic SCM and SVN due to its distributed nature and lightweight branching and merging. Plastic SCM also offers good performance for large repositories through its distributed architecture. However, SVN can struggle with larger repositories as it is centralized and prone to performance issues.
3. **User Interface and User Experience**: Git and Plastic SCM offer better user interfaces and user experiences compared to SVN. Git's command-line interface is popular among developers, while Plastic SCM provides a user-friendly GUI. SVN, on the other hand, has a less intuitive user interface compared to the other two.
4. **Branching and Merging Capabilities**: Git is known for its powerful branching and merging capabilities, making it easier for developers to work on different features concurrently. Plastic SCM also offers robust branching and merging capabilities, but not as seamlessly integrated as Git. SVN lags behind in branching and merging functionality compared to both Git and Plastic SCM.
5. **Support for Large Files**: Git and Plastic SCM excel in handling large files efficiently, making them suitable for multimedia and large binary files. SVN, on the other hand, can struggle with large files due to its centralized architecture, which can lead to performance issues when dealing with such files.
6. **Community and Support**: Git has a vast and active community with extensive documentation and resources available for users. Plastic SCM also has a supportive community, but not as large as Git's. SVN, while being a popular choice in the past, has a smaller community compared to both Git and Plastic SCM, resulting in limited support and resources for users.
# Summary
In Summary, Git, Plastic SCM, and SVN differ in their performance with large repositories, user interfaces, branching and merging capabilities, handling of large files, and community support.
SVN is much simpler than git for the simple stuff (checking in files and updating them when everyone's online), and much more complex than git for the complicated stuff (branching and merging). Or put another way, git's learning curve is steep up front, and then increases moderately as you do weird things; SVN's learning curve is very shallow up front and then increases rapidly.
If you're storing large files, if you're not branching, if you're not storing source code, and if your team is happy with SVN and the workflow you have, I'd say you should stay on SVN.
If you're writing source code with a relatively modern development practice (developers doing local builds and tests, pre-commit code reviews, preferably automated testing, preferably some amount of open-source code), you should move to git for two reasons: first, this style of working inherently requires frequent branching and merging, and second, your ability to interact with outside projects is easier if you're all comfortable with git instead of snapshotting the outside project into SVN.
Pros of Git
- Distributed version control system1.4K
- Efficient branching and merging1.1K
- Fast959
- Open source845
- Better than svn726
- Great command-line application368
- Simple306
- Free291
- Easy to use232
- Does not require server222
- Distributed27
- Small & Fast22
- Feature based workflow18
- Staging Area15
- Most wide-spread VSC13
- Role-based codelines11
- Disposable Experimentation11
- Frictionless Context Switching7
- Data Assurance6
- Efficient5
- Just awesome4
- Github integration3
- Easy branching and merging3
- Compatible2
- Flexible2
- Possible to lose history and commits2
- Rebase supported natively; reflog; access to plumbing1
- Light1
- Team Integration1
- Fast, scalable, distributed revision control system1
- Easy1
- Flexible, easy, Safe, and fast1
- CLI is great, but the GUI tools are awesome1
- It's what you do1
- Phinx0
Pros of Plastic SCM
- Wanna do Branch per Task Dev? Plastic rocks it8
- No Size limite4
- File Locking2
- Simple, easy to use interfaces. Resilient and solid2
- Very fast1
Pros of SVN (Subversion)
- Easy to use20
- Simple code versioning13
- User/Access Management5
- Complicated code versionioning by Subversion3
- Free2
Sign up to add or upvote prosMake informed product decisions
Cons of Git
- Hard to learn16
- Inconsistent command line interface11
- Easy to lose uncommitted work9
- Worst documentation ever possibly made8
- Awful merge handling5
- Unexistent preventive security flows3
- Rebase hell3
- Ironically even die-hard supporters screw up badly2
- When --force is disabled, cannot rebase2
- Doesn't scale for big data1
Cons of Plastic SCM
- Always uses automatic conflict resolution first1
- Adds files with only changed timestamp to pending1
- Keyboard shortcuts are lacking1
- Can't place windows next to each other to save space1
- No dark theme1
- Doesn't have file staging1
Cons of SVN (Subversion)
- Branching and tagging use tons of disk space7