Version Control & File Management Danielle Skaggs INF 385E October 26, 2006 Overview What is File Management? IA and File Management File Management Tips What is Version Control? Why use it? Pros and Cons Version Control Tips What is File Management? Term comes from computer science Used to describe: – File organization – Creation and manipulation of files (Claybrook, 1983; Wikipedia) File Management - Then I/O processors “Space and Timing Calculations for Magnetic Tape” “Cellular Multilist File Organization” TB = TSEEK + TL + THS + TDT (Claybrook, 1983) File Management for IA Managing large collections of data and page files – Poor file maintenance results in broken links Content Management Systems – Document management – Hypermedia management systems File Management for Your Project Determine a logical system of file organization Treat folder, file names as labels Example from Rosenfeld & Morville (2002, p. 54) Personally meaningful labels User friendly labels What is Version Control? The management of multiple revisions of the same unit of information Any practice that tracks and provides control over changes - Wikipedia Why is Version Control Needed? Typical website infrastructure (Gsoedl, 2001) Version Control Software Assignment of version numbers Filelocking Description of changes for each commit or check-in Content centrally stored on shared server Branching Example Interface Gsoedl’s web-based version control application Branching (Louridas, 2006) Trunk: main line of development, the main starting point of most branches. Branch: A set of evolving source file versions. Merge: To combine different changes to the same file. -from Version Control Talk Demystified: http://www.spinellis.gr/tot/vcs-glossary.html Version Control Programs Open Source CVS Proprietary Benefits of Version Control Ability to return to an earlier version – In case of error or failure in working copy – To view snapshot in time Track who made changes Maintain current pages while developing their replacements Record of development process Drawbacks of Version Control Time investment to train personnel to use system Temptation to change system to take advantage of latest technology (Dennis, 1998) No access if central server is unavailable Possibility of commit wars Version Control for Your Project Decide how often to commit files Pick your method: – Version control software – Zip archives – Folders -based on Luhn’s file backup tips (2002) So, You Want to Try Version Control Software. . . Subversion: http://subversion.tigris.org/ – O’Reilly guide to using Subversion: http://svnbook.red-bean.com/ CVS: http://www.nongnu.org/cvs/ – How to guide: http://durak.org/cvswebsites/howto-cvs/ Bibliography Atzeni, P., Mecca, G., & Merialdo, P. (1997). Design and Maintenance of DataIntensive Web Sites (RT-DIA-25-1997). Rome: Department of Information Automation. Claybrook, B. G. (1983). File management techniques. New York: John Wiley & Sons. Computer file management. (2006, June 27). Wikipedia. http://en.wikipedia.org/wiki/Computer_file_management Dennis, A. R. (1998, July). Lessons from three years of web development. Communications of the ACM, 41(7), 112-113. Gsoedl, J. (2001, July 22). Managing team-based web development. Dr. Dobb’s Journal. http://www.ddj.com/184404448 Louridas, P. (2006, January/February). Version control. IEEE Software, 104-107. Luhn, R. (2002, August). Strategies for foolproof backup. PC World, 20(8), 89. Moss, D. (1997, July). Managing change. DBMS, 10(8), S14. Revision control. (2006, October 10). Wikipedia. http://en.wikipedia.org/wiki/Revision_control Rosenfeld, L., & Morville, P. (2002). Information architecture for the world wide web (2nd ed.). Beijing: O’Reilly.