background preloader

Scm - source control mgmt

Facebook Twitter

Comparison of revision control software. The 10 Commandments of Good Source Control Management. Ah source control, if there’s a more essential tool which indiscriminately spans programming languages without favour, I’m yet to see it.

The 10 Commandments of Good Source Control Management

It’s an essential component of how so many of us work; the lifeblood of many development teams, if you like. So why do we often get it so wrong? Why are some of the really core, fundamentals of version control systems often so poorly understood? I boil it down to 10 practices – or “commandments” if you like – which often break down or are not properly understand to begin with. These are all relevant to version control products of all types and programming languages of all flavours. 1. It’s dead. In all fairness, VSS was a great tool. The point is that VSS is very broadly, extensively, almost unanimously despised due to a series of major shortcomings by today’s standards. 2. Repeat this mantra daily – “The only measure of progress is working code in source control”. 3. Every committed revision gives you a rollback position. 4. 5. Why? Some shit. 6. 7. Apache Subversion. Apache Subversion (often abbreviated SVN, after the command name svn) is a software versioning and revision control system distributed as free software under the Apache License.[1] Developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation.

Apache Subversion

Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). The corporate world has also started to adopt Subversion. A 2007 report by Forrester Research recognized Subversion as the sole leader in the Standalone Software Configuration Management (SCM) category and as a strong performer in the Software Configuration and Change Management (SCCM) category.[2] Subversion was created by CollabNet Inc. in 2000, and is now a top-level Apache project being built and used by a global community of contributors.

TortoiseSVN. Git (software) Git (/ɡɪt/[7]) is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.

Git (software)

It is primarily used for source code management in software development,[8] but it can be used to keep track of changes in any set of files. As a distributed revision control system, it is aimed at speed,[9] data integrity,[10] and support for distributed, non-linear workflows.[11] Git was created by Linus Torvalds in 2005 for development of the Linux kernel, with other kernel developers contributing to its initial development.[12] Its current maintainer since 2005 is Junio Hamano. Git is free and open source software distributed under the terms of the GNU General Public License version 2. History[edit] Linus Torvalds wanted a distributed system that he could use like BitKeeper, but none of the available free systems met his needs. Naming[edit] The name "git" was given by Linus Torvalds when he wrote the very first version.

GNU Bazaar. GNU Bazaar (formerly Bazaar-NG, command line tool bzr) is a distributed revision control system sponsored by Canonical.

GNU Bazaar

Bazaar can be used by a single developer working on multiple branches of local content, or by teams collaborating across a network. Bazaar is written in the Python programming language, with packages for major GNU/Linux distributions, Mac OS X and Microsoft Windows. Bazaar is free software and part of the GNU Project.[3][4] Features[edit] Bazaar supports files with names from the complete Unicode set. Bazaar (logiciel) Un article de Wikipédia, l'encyclopédie libre.

Bazaar (logiciel)

Pour les articles homonymes, voir Bazaar et Bzr. Les développements se focalisent sur la facilité d'utilisation et la flexibilité. Bazaar repose donc sur un jeu de commande très restreint. Il est aussi possible de l'utiliser avec différents schémas de développements (chaque développeur dispose de sa propre branche, les développeurs disposent d'un dépôt commun, …). Bazaar facilite également l'interopérabilité avec d'autres systèmes de gestion de version et dispose de librairies pour lire l'historique des différentes versions d'un projet depuis Subversion, git ou CVS par exemple. Bazaar peut être utilisé en association avec des sites hébergeant le code source tels que Launchpad, Sourceforge, GNU Savannah ou Fedora Hosted[5], afin de permettre la collaboration d'un grand nombre de personnes sur un même projet.

Revision control. Revision control, also known as version control and source control (and an aspect of software configuration management), is the management of changes to documents, computer programs, large web sites, and other collections of information.

Revision control

Changes are usually identified by a number or letter code, termed the "revision number", "revision level", or simply "revision". For example, an initial set of files is "revision 1". When the first change is made, the resulting set is "revision 2", and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged. Version control systems (VCS) most commonly run as stand-alone applications, but revision control is also embedded in various types of software such as word processors and spreadsheets, e.g., Google Docs and Sheets[1] and in various content management systems, e.g., Wikipedia's Page history. Trunk (software) Often main developer work takes place in the trunk and stable versions are branched, and occasional bug-fixes are merged from branches to the trunk.

Trunk (software)

Branching (revision control) Branching, in revision control and software configuration management, is the duplication of an object under revision control (such as a source code file or a directory tree) so that modifications can happen in parallel along both branches.

Branching (revision control)

A development branch or development tree of a piece of software is a version that is under development, and has not yet been officially released. In the open source community, the notion of release is typically metaphorical, since anyone can usually check out any desired version, whether it be in the development branch or not. Often, the version that will eventually become the next major version is called the development branch.

Revision tag.