ITEC 370 Lecture 16 Implementation
Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles –Code reviews / Pair programming
Implementation Objectives Look at version control
Implementation Scenario You spend 4 hours working on a feature Another teammate also spends 4 hours working on a feature Both work Both include changes to the same system Which code should be accepted?
Implementation Issues What files are part of the repository Who can modify each file How are conflicts (merges) handled Who can add files to the repository Who can remove files from the repository Are all changes logged so reversion is possible
Implementation Updating When you change the repository you can leave a message Extremely useful in maintenance Also useful for keeping track of developers
Implementation Bad version control Fruit can / USB key Issues –Backup? –Source hog
Implementation Types Simple –Only one person can write at a time Centralized –One server to rule them all Distributed –Spread out all over the place
Implementation Access GUI –Integrated into IDE Non-GUI –Command line app –Type in commands to handle it (preferred method)
Implementation Git Free for open source, low cost for private repositories Distributed system –Local / remote repository Supports branching and merging –Good for experiments –Takes extra effort
Implementation Visually InitialPrototype 1 Prototype 2 Alpha 1
Implementation Starting a repository in Git First off create content Second, store content in a directory Commands –git init –git add. –git commit –m “Initial commit”
Implementation Updating Use git diff to see what is different between working copy and repository Use git commit –a to add local changes to repository Warning: Have to add new files manually –git –A. Fun –git blame filename
Implementation Remote repository Want to get code from someone? –git remote add origin –Switch to a different directory –git clone --bare. path/gitbook.git Want to send code to someone? –git push –u name master
Implementation Guide Excellent tutorial Branching / merging Specifics / examples
Implementation Review Version control –Why –What is typically used –Example of Git