DOC PREVIEW
UCF COT 4810 - Revision Control Systems

This preview shows page 1-2-3-4-5 out of 15 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Revision Control SystemsOutlineWhat is Revision Control?Simple ExamplesBenefitsDefinitionsSlide 7Setting UpBest PracticesDaily Best PracticesVersion Controls SystemsCVS vs. SubversionGUI ClientsReferencesHomework QuestionsRevision Control Revision Control SystemsSystemsCarmen SerranoCarmen Serrano4/8/084/8/08OutlineOutlineWhat is Revision Control?What is Revision Control?Simple ExamplesSimple ExamplesBenefitsBenefitsDefinitionsDefinitionsBest PracticesBest PracticesVersion Control SystemsVersion Control SystemsClientsClientsWhat is Revision Control?What is Revision Control?““A combination of technologies and A combination of technologies and practices for practices for tracking and controlling tracking and controlling changeschanges to a project’s files, in particular to a project’s files, in particular to source code, documentation, and web to source code, documentation, and web pages.” (Fogel)pages.” (Fogel)Simple ExamplesSimple ExamplesManual versioningManual versioningMyAwesomeGame1.java, MyAwesomeGame2.java, MyAwesomeGame1.java, MyAwesomeGame2.java, MyAwesomeGame3.java…MyAwesomeGame3.java…WikipediaWikipediaMultiple contributors per articleMultiple contributors per articleEdits to article become new versionEdits to article become new versionRetain previous versions of articleRetain previous versions of articleBenefitsBenefitsProductivityProductivityInterdeveloper communicationsInterdeveloper communicationsRelease managementRelease managementBug managementBug managementCode stabilityCode stabilityAttribution and authorization of changesAttribution and authorization of changesExperimental developmentExperimental developmentDefinitionsDefinitionsRepository – stores files under version control and Repository – stores files under version control and information on changes. May be centralized or information on changes. May be centralized or decentralized.decentralized.Checkout – obtaining a local copy from the repository.Checkout – obtaining a local copy from the repository.Commit/check-in – a change to a local file is stored in Commit/check-in – a change to a local file is stored in the repositorythe repositoryWorking copy – local copy of project (user’s private Working copy – local copy of project (user’s private copy)copy)Update – incorporates changes in the repository into Update – incorporates changes in the repository into your working copyyour working copyRevision – a particular version of a file or set of files; Revision – a particular version of a file or set of files; also changeset, a set of changes committed as onealso changeset, a set of changes committed as oneDefinitionsDefinitionsTag – label for a set of files; snapshot of projectTag – label for a set of files; snapshot of projectBranch – a copy of the project undergoing separate Branch – a copy of the project undergoing separate development from the main branch or “trunk”development from the main branch or “trunk”Merge – combining two changes in a file into a new Merge – combining two changes in a file into a new revision; also combining branchesrevision; also combining branchesConflict – when a change to the same part of a file is Conflict – when a change to the same part of a file is made by two users; must be resolved manuallymade by two users; must be resolved manuallyLock – prevents other users from changing a fileLock – prevents other users from changing a fileTwo models: lock-modify-unlock, copy-modify-mergeTwo models: lock-modify-unlock, copy-modify-mergeSetting Up Setting Up Install on server (repository location)Install on server (repository location)Install on user machinesInstall on user machinesOptionally install GUI clientOptionally install GUI clientSet up repository and accessSet up repository and accessBest PracticesBest PracticesVersion all editable informationVersion all editable informationSource code, documentation, texturesSource code, documentation, texturesDon’t include generated filesDon’t include generated filesEx: executablesEx: executablesSome exceptions:Some exceptions:Exported textures and modelsExported textures and modelsExecutable of releaseExecutable of releaseDependent on project and developer/manager Dependent on project and developer/manager preferencespreferencesDaily Best PracticesDaily Best PracticesUpdate before startingUpdate before startingCommit before leavingCommit before leavingInclude informative comments in commit Include informative comments in commit log messages (!)log messages (!)Inform other programmers of commits Inform other programmers of commits (when appropriate)(when appropriate)Version Controls SystemsVersion Controls SystemsCVS (Concurrent Versioning System)CVS (Concurrent Versioning System)Created by Dick Grune in 1986Created by Dick Grune in 1986Incredibly popular, especially in open-source worldIncredibly popular, especially in open-source worldSubversionSubversionStarted in 2000; released 1.0 in 2004Started in 2000; released 1.0 in 2004Created to fix shortcomings in CVS (and replace it)Created to fix shortcomings in CVS (and replace it)Visual SourceSafe & Team Foundation ServerVisual SourceSafe & Team Foundation ServerBy MicrosoftBy MicrosoftIntegrates with Visual StudioIntegrates with Visual StudioCVS vs. SubversionCVS vs. SubversionCVSCVSCommonly used, well knownCommonly used, well knownSubversionSubversionSimilar interface to CVSSimilar interface to CVSAtomic commitsAtomic commitsRepository flexibilityRepository flexibilityReduced costs of branching and taggingReduced costs of branching and taggingMore efficient commitsMore efficient commitsGUI ClientsGUI ClientsWinCVSWinCVSVery popularVery popularTortoiseCVSTortoiseCVSWindows shell integrationWindows shell integrationTortoiseSVNTortoiseSVNBased on TortoiseCVSBased on TortoiseCVSExamplesExamplesReferencesReferencesFogel, Karl. Fogel, Karl. Producing Open Source Software: Producing Open Source Software: How to run a successful free software projectHow to run a successful free software projectNagel, William. Nagel, William. Subversion Version Control.Subversion Version Control.Subversion Project Home. Subversion Project Home. http://http://subversion.tigris.orgsubversion.tigris.org//David,


View Full Document

UCF COT 4810 - Revision Control Systems

Documents in this Course
Spoofing

Spoofing

25 pages

CAPTCHA

CAPTCHA

18 pages

Load more
Download Revision Control Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Revision Control Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Revision Control Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?