Article 6M7EP Beyond Git: How Version Control Systems Are Evolving For Devops

Beyond Git: How Version Control Systems Are Evolving For Devops

by
janrinok
from SoylentNews on (#6M7EP)

Arthur T Knackerbracket has processed the following story:

Tools that manage changes to source code, programs, documents, or other collections of information are known by a variety of names: version control,revision control,source control, orsource code management are all common descriptors. Regardless of what we call them, these systems have become increasingly vital in a world where software and data are essential commodities.

[...] Version control systems are evolving to meet the changing technical landscape and market demand. At abasic level, a version control system lets developers manage different versions of source code, configurations, and any other artifact that will change over time, says Condo. Teams also look for a variety of additional key features depending on the size and priorities of the organizations.

One such feature is scalability. These systems should be able to manage code across domains and platforms, enabling developers and others within an organization to use the same version control system, notes Mercer. Scalability is especially important for a growing company with expanding development initiatives.

Performance is another important benchmark. Version control software should be able to perform well wherever it is used within an organization, Mercer says.

A version control system should also have branching capabilities. Branching allows an object under version control to be duplicated so that each object thereafter can be modified separately and in parallel.

As work is performed it's a common practice to create [a] temporary branch for new work, to avoid disrupting work on the main branch," Condo says.Likewise, when new work is ready to be merged back into a main branch, the ability to merge a branch into a trunk is a critical capability."

Collaboration is also essential for modern version control systems. Development teams oftentimes are working in different regions, and need to effectively collaborate on projects. Collaboration ensures that everyone is working from the same source, whether it's with a single codebase or multiple branches.

Extensibility via secure APIs is another feature to look for. Increasingly, version control systems are the system-of-record for orchestrating automations for triggering testing, deployment, and release automation into production," Condo says. Therefore, having secure APIs that can integrate version control with deployment and release management tools is necessary to achieve continuous delivery."

Finally, these systems should provide data integrity and history, Mercer says. Users should be able to rely on the code version history to roll backward and forward as needed.

Many version control systems have been developed over the past 20+ years, Mercer says, including Subversion, ClearCase, Mercurial, and others.

However, most teams favor a Git-based solution based on the Git open source project, so the primary options are GitHub, GitLab, and Bitbucket," Mercer says. Most other version control systems have created bridges or integrations into Git, given its dominance."

Most of the version control systems, including GitLab and GitHub, have added features to evolve into full-featured devops platforms, Mercer says. Other developments tend to be around scalability, performance, security, and the ability to create policies to ensure source code is protected from things such as code leakage, enforcement of digital provenance, etc.," he says.

Read more of this story at SoylentNews.

External Content
Source RSS or Atom Feed
Feed Location https://soylentnews.org/index.rss
Feed Title SoylentNews
Feed Link https://soylentnews.org/
Feed Copyright Copyright 2014, SoylentNews
Reply 0 comments