Presentation is loading. Please wait.

Presentation is loading. Please wait.

DIGITAL REPOSITORIES CGDD 4603. Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.

Similar presentations


Presentation on theme: "DIGITAL REPOSITORIES CGDD 4603. Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra."— Presentation transcript:

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


Download ppt "DIGITAL REPOSITORIES CGDD 4603. Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra."

Similar presentations


Ads by Google