1 / 15

Software Revision Control

Software Revision Control. CSE301 Harry Erwin, PhD. Sources. Mostly Wikipedia and various web articles. Revision Control. Software Configuration Management Management of changes to documents, programmes , and files. The following are available on my Mac OS X web server: CVS

uri
Télécharger la présentation

Software Revision Control

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Revision Control CSE301 Harry Erwin, PhD

  2. Sources • Mostly Wikipedia and various web articles

  3. Revision Control • Software Configuration Management • Management of changes to documents, programmes, and files. • The following are available on my Mac OS X web server: • CVS • SYN (Subversion) • Git

  4. Approaches • Centralised management • Decentralised management

  5. Terminology • Baseline—an approved revision • Branch or fork—splits a set of files under version control • Change, diff, or delta—a specific modification • Checkout—creates a local working copy • Commit or checkin—writing a set of changes back into a repository • Conflict—two incompatible changes • Export—checkout without the version-control metadata • Import—copying files into the repository for the first time • Merge—bringing two sets of changes into compatibility • Repository—the home of the files • Revision—also known as version of the repository • Working copy—local copy of files from the repository

  6. Centralised Source Management • Two Alternative Approaches • Atomic operations—use a gray code approach to ensure the repository is left in a consistent state • File locking—locks files at checkout so only one user may make changes • Version merging—delicate, requires some means of identifying inconsistencies • Baselines, labels, and tags—used to describe a version of the files in the repository.

  7. Distributed Source Management • Peer-to-peer approach. • Each developer has a bona-fide repository. • Changes coordinated by sharing patches. • Operations are fast, because there is no central server. • Each working copy is a remote backup.

  8. CVS • Maintained but not developed. • Centralised • Atomic merge • Free

  9. SVN • Apache Subversion • Actively developed • Centralised • Supports merge and lock • Free

  10. Git • Actively developed • Distributed • Provides various 3-way merge strategies (two or more documents and one or more parent documents) • Free

  11. CVS • Originally a collection of shell scripts (1986) • Client-server architecture • No atomic commit 8( • Only the latest version of a file can be changed. Developers have to manually update that version if it has changed since they started development on the file. • Maintaining the local copy is mostly automatic. User intervention for edit conflicts. • Final version May 2008.

  12. Anonymous CVS • Users who want to have the latest version but are not actively developing, can checkout with a standard password. • Checkin requires a user ID and password.

  13. SVN • Mostly compatible successor to CVS • Sponsored by CollabNet • Top-level Apache project on Feb 17, 2010 • Commits are atomic operations • More flexible than CVS • Access to repository: • file:///path • WebDAV/Delta-V (mod_dav_svn) • svn://host/path (port 3690) • svn+ssh://host/path

  14. Git • Fast! • Distributed • Non-linear development • Initially by Linus Torvalds • Every Git working directory is a repository • Invented as an alternative to BitKeeper. • Inverts CVS (like UNIX inverts Multics) • Safeguards against corruption. • Uses 3-way merge in various forms.

  15. Using Them • Go here: sshyouraccount@crowan-scat.sunderland.ac.uk • Use cvs, svn, or git by typing in the command. • Demo at this point…

More Related