Download presentation
Presentation is loading. Please wait.
Published byEzra Johnston Modified over 8 years ago
1
DIGITAL REPOSITORIES CGDD 4603
2
Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra
3
Job Description… Graphics Programmer
4
Job Description… Audio Lead
5
Digital Repositories Also called “Software Configuration Management” (SCMs) Version control Source control Revision control Tracks changes to projects Allows teams (or individuals) to have a centralized system of code (client/server) Game development/media has special considerations
6
But WHY? Allows developers to see a snapshot of the code at any phase Manages the headache of: Monster_4_01_11_v3.1.cpp_copy Think of the redundancy!! “Hey man – can you send me the latest version of…” “Hey man – remember that version we had a few months back?” Moving code from computer to computer (shared folder) Understanding changes through diff
7
But WHY? Risk management Someone leaves, and so does their code Computer crashes or is stolen Oops – it was compiling/working before…
8
How it generally works… 1. Install client (optional) 2. Developer/Sys Admin creates an initial repository 3. Everyone synchs with the repository (updating) 4. New files are immediately added to the repository 5. Files that are being edited 1. Are checked out (i.e. locked) 2. Are simultaneously editable (i.e. text files) and merged together later 3. Changed files are committed 6. Developers can usually browse the logs for changes
9
Conflicts When two people submit one file that cannot be successfully merged Imagine one person deleting a line, the other keeps it. http://betterexplained.com/articles/a-visual-guide-to-version-control/
10
Trunks and Branching The trunk is the primarily path of development Branches – independent paths One path might have no bugs One path might have new features One path might use an updated SDK
11
Common Repositories Commercial Perforce “Other” CVS SVN (or “Subversion” open-source) GIT and GITHub (which Mac is now recommending)
12
Interface Example (Perforce)
13
Checkout Example (Perforce) Trying to save without checking out first
14
Diff Example (Perforce, but looks similar to MacOS X “FileMerge”)
15
Reverting/Rolling Back
16
Distributed Version Control Many SCMs have a centralized server Distributed Version Control Is a peer-to-peer network Git “No canonical, reference copy” exists (Wikipedia) Better risk management?
17
Things to Remember Check your code back in! Don’t check out the entire project each time (for larger projects) Don’t check in broken code Don’t check in binaries that are generated .exes (in /bin and /obj in 2010) .ncb (Intellisense) In Perforce, the project must exist under the repository directory before adding it
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.