1 / 17

Digital Repositories

Digital Repositories. CGDD 4603. Job Description… Senior Tools Programmer – pulled August 4 th , 2011 from Gamasutra. Job Description… Graphics Programmer. Job Description… Audio Lead. Digital Repositories. Also called “Software Configuration Management” (SCMs) Version control

janina
Download Presentation

Digital Repositories

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Digital Repositories CGDD 4603

  2. Job Description…Senior Tools Programmer – pulled August 4th, 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… • Install client (optional) • Developer/Sys Admin creates an initial repository • Everyone synchs with the repository (updating) • New files are immediately added to the repository • Files that are being edited • Are checked out (i.e. locked) • Are simultaneously editable (i.e. text files) and merged together later • Changed files are committed • 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 ofdevelopment • 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

More Related