DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Building Scalable Real-Time Apps with AstraDB and Vaadin
Register Now

Trending

  • Unlocking the Power of AIOps: Enhancing DevOps With Intelligent Automation for Optimized IT Operations
  • Mastering Time Series Analysis: Techniques, Models, and Strategies
  • Exploratory Testing Tutorial: A Comprehensive Guide With Examples and Best Practices
  • Implementing a Serverless DevOps Pipeline With AWS Lambda and CodePipeline

Trending

  • Unlocking the Power of AIOps: Enhancing DevOps With Intelligent Automation for Optimized IT Operations
  • Mastering Time Series Analysis: Techniques, Models, and Strategies
  • Exploratory Testing Tutorial: A Comprehensive Guide With Examples and Best Practices
  • Implementing a Serverless DevOps Pipeline With AWS Lambda and CodePipeline
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. Source Code Management — More Than Just Git

Source Code Management — More Than Just Git

While it may seem that there's nothing more to add to the source code conversation in the wake of Git, there's a new generation emerging.

Michael Neale user avatar by
Michael Neale
·
Updated May. 15, 19 · Opinion
Like (3)
Save
Tweet
Share
9.91K Views

Join the DZone community and get the full member experience.

Join For Free

In 2019, it is easy to think we "solved" source code management (SCM), that we have it all worked out. Personally my journey started with Visual SourceSafe (terrible) followed by CVS (still terrible). I moved a few companies on to Subversion (great — had atomic commits; what a revelation). In the meantime, Linus famously called everyone stupid for using Subversion so I checked out this "Git" thing he "named after himself."

Git brought with it a few great things: distributed version control and this superpower to do things with branches and merging (in the past this was a bit terrifying).

Then GitHub happened, Bitbucket, and so on (interestingly Bitbucket started as mercurial, a similar version control system) and the rest is history. The world settled on Git, or seemed to. Its distributed nature still built in, but for the mainstream, ignored as people centralized around services like GitHub.

There have been other movements in the meantime, monorepos and so on (Google famously built its own system for their massive monorepo scale called Piper).

Largely it seems: Git Is It.

On one hand, it is interesting and powerful that as an industry we picked a tool which unlocked a bunch of productivity and patterns of usage, allowed skills to be portable across jobs and more. On the other hand, monocultures can be problematic if it means innovation stands still.

It is with interest I came across "Plastic SCM" a distributed (or centralized) "full stack" SCM tool (full stack in this sense means it isn't just a command line like git) alternative. You can consume it with the git command line if that makes you more comfortable, but it does have some powerful differentiators. The biggest differentiator for me was the ability to deal with large files: with Git we lost that capability and people had to find external places to park large assets, which is fine, but sometimes annoying).

There is, of course, a plugin that provides Plastic SCM integration.

From Jordi, product marketing manager at Plastic SCM:

"What happened to version control in the last 15 years? What has happened with version control in the last years? I won't go down memory lane, don't worry. At Plastic we already made the walk down that road fairly visual with a short history of version control that you can find, download and, hopefully, print and hang in your kids bedroom.It is often the case that commodities are overlooked. Git, for the good and the bad, made version control a commodity. Everyone, since then, took for granted that modern version control was Git. Git was pretty revolutionary, to be honest, by providing the structure to program distributed. Services built on top of them were equally successful, like GitHub or Gitlab. The reality of modern-day software development is not commoditized or normalized at all. As popular as distributed programming is, it is not the best solution in every case and it hides a myriad of different edge cases that should be addressed and even named differently than distributed software development."

You can read more about Plastic SCM (yes, it works with CloudBees!), learn about "mergebots" (I bet you can guess what they do!). I am also interested to see the next generation of SCM with things like semantic merging (i.e. where your SCM actually understands the meaning of your source code, not just as lines of text). Innovation is still happening here!

Git Version control source control

Published at DZone with permission of Michael Neale, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Trending

  • Unlocking the Power of AIOps: Enhancing DevOps With Intelligent Automation for Optimized IT Operations
  • Mastering Time Series Analysis: Techniques, Models, and Strategies
  • Exploratory Testing Tutorial: A Comprehensive Guide With Examples and Best Practices
  • Implementing a Serverless DevOps Pipeline With AWS Lambda and CodePipeline

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: