Version Control Jan 14 2019 Why version control Scenario 1 Your program is working You change just one thing Your program breaks You change it back Your program is still broken why Has this ever happened to you 2 Why version control part 2 Your program worked well enough yesterday You made a lot of improvements last night but you haven t gotten them to work yet You need to turn in your program now Has this ever happened to you 3 Version control for teams Scenario You change one part of a program it works Your co worker changes another part it works You put them together it doesn t work Some change in one part must have broken something in the other part What were all the changes 4 Teams part 2 Scenario You make a number of improvements to a class Your co worker makes a number of different improvements to the same class How can you merge these changes 5 dif tools There are a number of tools that help you spot changes differences between two files Tools include dif rcsdif jDif etc Of course they won t help unless you kept a copy of the older version Differencing tools are useful for finding a small number of differences in a few files 6 jDif jDif is a plugin for the jEdit editor Advantages Everything is color coded Uses synchronized scrolling It s inside an editor you can make changes directly Disadvantages Not stand alone but must be used within jDif Just a diff tool not a complete solution 7 jDif 8 Version control systems A version control system often called a source code control system does these things Keeps multiple older and newer versions of everything not just source code Requests comments regarding every change Allows check in and check out of files so you know which files someone else is working on Displays differences between versions 9 sccs sccs is Source Code Control System UNIX sccs keeps multiple versions of a complete directory Storage requirements are small because sccs keeps the original documents keeps the changes needed to go from one version to the next generates any version when you ask for it 10 rcs rcs is Revision Control System also UNIX rcs is like sccs and does the same things but sccs keeps the originals and applies changes to get to newer versions rcs keeps the current versions and applies changes to get back to older versions Opinion You usually want to work with the newer versions so rcs is usually the better choice 11 rcs commands Create a directory for your rcs files co l file check out a file and lock it ci file check in a revision put file under rcs control rcs l file lock a file you already checked out Locking means you can check the file back in Needed when you checked it out and forgot the l rcsdif files report differences between files merge files merges two files into original file Not magic you have to check the results 12 Who cares about UNIX CVS Concurrent Versions System is the most popular version control system on Windows CVS is built on top of rcs CVS is built into JBuilder and Eclipse There are two ways to run CVS on Windows 95 NT The first is as a client talking to a CVS server on a Unix box This is the recommended setup and is commonly used http www cvshome org dev codewindow html 13 CVS commands cvs checkout file cvs commit file cvs dif file These are CVS commands under UNIXPopular GUIs on Windows tkCVS jCVS WinCVS 14 CVS home page http www cvshome org 15 The End 16
View Full Document