Revision Control (short version) Andrew Haydn Grant Technical - - PowerPoint PPT Presentation

revision control
SMART_READER_LITE
LIVE PREVIEW

Revision Control (short version) Andrew Haydn Grant Technical - - PowerPoint PPT Presentation

Revision Control (short version) Andrew Haydn Grant Technical Director MIT Game Lab September 10, 2014 Fall 2014 CMS.611J/6.073 1 TLAs RCS - Revision Control System o aka Source Control Management (SCM) o aka Source Control o aka


slide-1
SLIDE 1

Revision Control

(short version)

Andrew Haydn Grant Technical Director MIT Game Lab September 10, 2014

1

Fall 2014 CMS.611J/6.073

slide-2
SLIDE 2

TLAs

  • RCS - Revision Control System
  • aka Source Control Management (SCM)
  • aka Source Control
  • aka Version Control
  • cvs - Concurrent Versions System
  • svn - Subversion
  • p4v - Perforce
  • git - Git
  • hg - Mercurial

2

Fall 2014 CMS.611J/6.073

slide-3
SLIDE 3

What is Revision Control?

  • You copy files from a central server
  • You make changes to your local files
  • You copy files to the central server

Server (repository) You (workspace)

3

Fall 2014 CMS.611J/6.073

slide-4
SLIDE 4

What is Revision Control?

  • You copy files from a central server
  • You make changes to your local files
  • You copy files to the central server

Server You Teammate

4

Fall 2014 CMS.611J/6.073

slide-5
SLIDE 5

What is Revision Control?

  • You copy files from a central server
  • You make changes to your local files
  • You copy files to the central server

Server You Teammate Teammate Teammate

5

Fall 2014 CMS.611J/6.073

slide-6
SLIDE 6

What is Revision Control?

Authoritative Server You Teammate Teammate Teammate Teammate Teammate Teammate

6

Fall 2014 CMS.611J/6.073

slide-7
SLIDE 7

What is Revision Control?

  • A backup system
  • A way to share code
  • A history of your project
  • An undo button
  • A way to simultaneously edit the same files

7

Fall 2014 CMS.611J/6.073

slide-8
SLIDE 8

Operations

  • Copy from server
  • Submit changes to server
  • Check status of local files
  • Lock files so no one else can change them
  • Compare different versions of the same file
  • Merge changes by two different people

8

Fall 2014 CMS.611J/6.073

slide-9
SLIDE 9

Operations

  • Copy from server
  • aka get update pull checkout revert (down)
  • Copy changes to server
  • Check status of local files
  • Lock files so no one else can change them
  • Compare different versions of the same file
  • Merge changes by two different people

9

Fall 2014 CMS.611J/6.073

slide-10
SLIDE 10

Operations

  • Copy from server
  • Copy changes to server
  • aka submit commit put push checkin (up)
  • Check status of local files
  • Lock files so no one else can change them
  • Compare different versions of the same file
  • Merge changes by two different people

10

Fall 2014 CMS.611J/6.073

slide-11
SLIDE 11

Operations

  • Copy from server
  • Copy changes to server
  • Check status of local files
  • aka status
  • Lock files so no one else can change them
  • Compare different versions of the same file
  • Merge changes by two different people

11

Fall 2014 CMS.611J/6.073

slide-12
SLIDE 12

Operations

  • Copy from server
  • Copy changes to server
  • Check status of local files
  • Lock files so no one else can change them
  • aka lock
  • Compare different versions of the same file
  • Merge changes by two different people

12

Fall 2014 CMS.611J/6.073

slide-13
SLIDE 13

Operations

  • Copy from server
  • Copy changes to server
  • Check status of local files
  • Lock files so no one else can change them
  • Compare different versions of the same file
  • aka diff
  • Merge changes by two different people

13

Fall 2014 CMS.611J/6.073

slide-14
SLIDE 14

Operations

  • Copy from server
  • Copy changes to server
  • Check status of local files
  • Lock files so no one else can change them
  • Compare different versions of the same file
  • Merge changes by two different people
  • merge and then resolve

14

Fall 2014 CMS.611J/6.073

slide-15
SLIDE 15

Remember this?

p4v, svn

Authoritative Server You Teammate Teammate Teammate Teammate Teammate Teammate

15

Fall 2014 CMS.611J/6.073

slide-16
SLIDE 16

Distributed Source Control

git, hg

Not Really Authoritative Server You Teammate Teammate Teammate Teammate Teammate Teammate

16

Fall 2014 CMS.611J/6.073

slide-17
SLIDE 17

Don’t Break The Build!!!

  • The version of the project in your

authoritative server should always build and run.

  • With 0 errors.
  • And 0 warnings.
  • Use a check build

17

Fall 2014 CMS.611J/6.073

slide-18
SLIDE 18

Tips

  • ignore unneeded files
  • don’t submit object files!
  • lock binary files

18

Fall 2014 CMS.611J/6.073

slide-19
SLIDE 19

Revision Control

Andrew Haydn Grant Technical Director MIT Game Lab September 10, 2014

19

Fall 2014 CMS.611J/6.073

slide-20
SLIDE 20

MIT OpenCourseWare http://ocw.mit.edu

CMS.611J / 6.073 Creating Video Games

Fall 2014 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.