|
In computing, GNU arch is a software revision control system that is part of the GNU Project and licensed under the GNU General Public License. It is used to keep track of the changes made to a source tree and to help programmers combine and otherwise manipulate changes made by multiple people or at different times. In software engineering, software maintenance is the process of enhancing and optimizing deployed software (software release), as well as remedying defects. ...
A software release refers to the creation and availability of a new version of a computer software product. ...
July 20 is the 201st day (202nd in leap years) of the year in the Gregorian Calendar, with 164 days remaining. ...
2006 (MMVI) is a common year starting on Sunday of the Gregorian calendar. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
Linux (also known as GNU/Linux) is a Unix-like computer operating system. ...
Microsoft Windows is a family of operating systems by Microsoft for use on personal computers, although versions of Windows designed for servers, embedded devices, and other platforms also exist. ...
Mac OS X (officially pronounced Mac Oh-Ess Ten) is a line of proprietary, graphical operating systems developed, sold, and marketed by Apple Computer, the latest of which is included with all currently shipping Macintosh computers. ...
Revision control (also known as Version control) is the management of multiple revisions of the same unit of information. ...
A software license is a legal agreement which may take the form of a proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software. ...
The GNU logo Wikisource has original text related to this article: GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license, originally written by Richard Stallman for the GNU project. ...
Website - Wikipedia, the free encyclopedia /**/ @import /skins-1. ...
Originally, the word computing was synonymous with counting and calculating, and a science that deals with the original sense of computing mathematical calculations. ...
Revision control (also known as Version control) is the management of multiple revisions of the same unit of information. ...
The GNU logo, drawn by Etienne Suvasa The GNU Project was announced in 1983 by Richard Stallman. ...
The GNU logo Wikisource has original text related to this article: GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license, originally written by Richard Stallman for the GNU project. ...
As of May 2006, GNU arch is being maintained, but it is not under active development.
Features
GNU arch uses a slightly different paradigm from most versioning systems, in that each revision is uniquely globally identifiable. This results in a very scalable system that allows easy merging and applying of changes from completely disparate sources. In telecommunications and software engineering, scalability indicates the capability of a system to increase total througput under an increased load when resources (typically hardware) are added. ...
GNU arch is decentralized, removing the need for a central server for which developers have to be authorized in order to contribute. Instead, GNU arch is designed so that a full read-only copy of a project is made accessible by a head developer via HTTP, FTP, or SFTP, and each contributor is encouraged to retrieve a copy of the project, make modifications, then publish their changeset to allow the head developer to manually merge said changeset into the official project that's later refreshed on the read-only copy. HTTP (for HyperText Transfer Protocol) is the primary method used to convey information on the World Wide Web. ...
FTP or file transfer protocol is a commonly used protocol for exchanging files over any network that supports the TCP/IP protocol (such as the Internet or an intranet). ...
SFTP may refer to: SSH file transfer protocol, a network protocol designed by the IETF to provide secure file transfer and manipulation facilities over the secure shell (SSH) protocol. ...
To simulate the behavior of centralized revision control systems, the head developer could allow shell access (SSH) or write access (FTP, WebDAV) to a server, allowing authorized users to commit to a central server. In computing, Secure shell, or SSH, is both a computer program and an associated network protocol designed for logging into and executing commands on a remote computer. ...
WebDAV is an IETF working group. ...
GNU arch has several other features: - Atomic commits: Commits are all-or-nothing. The tree must be in proper condition before the commit begins, and commits are not visible to the world until complete. If the commit is interrupted before this, it remains invisible and must be rolled back before the next commit. This avoids corruption of the archive and other users' checked-out copies.
- Changeset oriented: Instead of tracking individual files (as in CVS), GNU arch tracks changesets, which are akin to patches. Each changeset is a description of the difference between one source tree and another, and so a changeset can be used to produce one revision from another revision. Authors are encouraged to use one commit per feature or bugfix.
- Easy branching: Branching is efficient and can span archives. A branch (or 'tag') simply declares the ancestor revision, and development continues from there.
- Advanced merging: Due to the permanent record of all ancestors and merged revisions, merging can take into account which branch contains which patch, and can do three-way merging based on a shared ancestor revision.
- Cryptographic signatures: Every changeset is stored with a hash to prevent accidental corruption. Using an external file signing program (such as GnuPG or another PGP client), these hashes can also optionally be signed, preventing unauthorized modification if the archive is compromised.
- Renaming: All files and directories can be easily renamed. These are tracked by a unique ID rather than by name, so history is preserved, and patches to files are properly merged even if filenames differ across branches.
- Metadata tracking: The permissions of all files are tracked. Symbolic links are supported and are tracked the same way as files and directories.
An atomic commit is a concept supported by modern revision control systems that allows committing—uploading to the source—changes in multiple files (called a changeset) while guaranteeing that all files get fully uploaded and merged. ...
The Concurrent Versions System (CVS), also known as the Concurrent Versioning System, implements a version control system: it keeps track of all work and all changes in a set of files, typically the implementation of a software project, and allows several (potentially widely separated) developers to collaborate. ...
In cryptography, digital signatures are a method of authenticating digital information often treated, sometimes too closely, as analogous to a physical signature on paper. ...
In cryptography, a cryptographic hash function is a hash function with certain additional security properties to make it suitable for use as a primitive in various information security applications, such as authentication and message integrity. ...
The GNU Privacy Guard (GnuPG or GPG) is a free software replacement for the PGP suite of cryptographic software, released under the GNU General Public License. ...
PGP is a computer program which provides cryptographic privacy and authentication. ...
Most modern file systems have methods of administering permissions or access rights to specific users and groups of users. ...
In computing, a symbolic link (often shortened to symlink) is a special type of file that serves as a reference to another file. ...
History and maintainership The original author and maintainer of arch was Tom Lord. The command used to manipulate Arch repositories is tla, an acronym for Tom Lord's Arch. Lord started arch as a collection of shell scripts to provide an alternative to CVS. In 2003, arch became part of the GNU project. On August 15, 2005 (shortly after announcing a new release of his Arch 2.0 project revc [1]), Tom Lord announced to Richard Stallman and the GNU Arch users that he was resigning as the maintainer of Arch and recommended that Canonical Ltd's Bazaar project (version 1) become the main Arch project. [2]. On October 27, 2005, Andy Tai announced that Lord and the Free Software Foundation had accepted his offer to be the maintainer of GNU arch. [3] Tom Lord is a free software developer, best known as the author of GNU arch. ...
A shell script is a script written for the shell, or command interpreter, of an operating system. ...
GNU (pronounced ) is a free operating system consisting of a kernel, libraries, system utilities, compilers, and end-user applications. ...
August 15 is the 227th day of the year in the Gregorian Calendar (228th in leap years), with 138 days remaining. ...
2005 (MMV) was a common year starting on Saturday of the Gregorian calendar. ...
Richard Matthew Stallman (frequently abbreviated to RMS) (born March 16, 1953) is the founder of the free software movement, the GNU Project, the Free Software Foundation, and the League for Programming Freedom. ...
Canonical Ltd is a private company founded (and funded) by South African entrepreneur Mark Shuttleworth for the promotion of Free Software projects. ...
Bazaar is a revision control system which implements the GNU arch protocol. ...
October 27 is the 300th day of the year (301st in leap years) in the Gregorian Calendar, with 65 days remaining. ...
2005 (MMV) was a common year starting on Saturday of the Gregorian calendar. ...
The Free Software Foundation logo The Free Software Foundation (FSF) is a non-profit organization founded in October 1985 by Richard Stallman to support the free software movement (free as in freedom), and in particular the GNU project. ...
The Arch project has forked several times, resulting in the ArX and Baz revision control systems. In software, a project fork or branch happens when a developer (or a group of them) takes code from a project and starts to develop independently of the rest. ...
ArX is a distributed revision control system. ...
Baz is a revision control system, an arch-based fork of tla (GNU arch). ...
Criticism Perhaps the most common criticism of arch is that it is difficult to learn, even for users who have experience with other SCM systems. In particular, arch has a large number of commands, which can be intimidating for new users. Software Configuration Management (SCM) is part of configuration management (CM). ...
Some also criticize arch for using very unusual file naming conventions ("FunkyFileNames"), which can create difficulties for using arch in scripts, some shells, and in porting arch to non-Unix operating systems. In addition to a perceived lack of portability, at present arch has a reputation of not scaling well to large trees. It has been suggested that this article or section be merged into Shell_(computing). ...
Proponents of arch point out that the project is still maturing, and that any serious problems will likely be addressed as work continues. The not yet released version 2.0 proposed to get rid of the strange filenames and reduce the command set to 10 commands. [4] The 2.0 release is currently stalled given Tom Lord's resignation as maintainer.
See also Revision control (also known as Version control) is the management of multiple revisions of the same unit of information. ...
This is a list of revision control software. ...
The following tables compare general and technical information for notable revision control and software configuration management (SCM) software. ...
External links - The GNU Arch homepage
- The arch wiki
- LWN.net article on arch
- Arch Distributed Revision Control by Mark Shuttleworth
|