Subversion and Trac - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

Subversion and Trac

Description:

Subversion and Trac. OOSE, Fall 2006. Matthew Bolitho. bolitho_at_cs.jhu.edu. Source Control ... 'The management of multiple revisions of the same unit of ... – PowerPoint PPT presentation

Number of Views:778
Avg rating:3.0/5.0
Slides: 38
Provided by: matthewg4
Category:

less

Transcript and Presenter's Notes

Title: Subversion and Trac


1
Subversion and Trac
  • OOSE, Fall 2006
  • Matthew Bolitho
  • bolitho_at_cs.jhu.edu

2
Source Control
  • Also known as
  • Version Control
  • Revision Control
  • The management of multiple revisions of the
    same unit of information Wikipedia

3
Key Ideas
  • Versioning
  • Concurrency

4
Versioning
  • Store all revisions of a unit of information

5
Versioning
  • Store all revisions of a unit of information
  • Time-shifting
  • Can revert to an older version
  • Can compare different versions

6
Concurrency
  • User A takes a copy of file X ? XA
  • User B takes a copy of file X ? XB
  • User A modifies XA ? XA
  • User B modifies XB ? XB
  • User A updates XA ? X
  • User B updates XB ? X

7
Concurrency
  • User A takes a copy of file X ? XA
  • User B takes a copy of file X ? XB
  • User A modifies XA ? XA
  • User B modifies XB ? XB
  • User A updates XA ? X
  • User B updates XB ? X

Update XA is lost!
8
Concurrency
  • How do we prevent lost updates?
  • Locking
  • Copy / Merge

9
Locking
  • User A obtains a lock for X
  • User A takes a copy of X ? XA
  • User A modifies XA ? XA
  • User B tries to obtain a lock for X and fails
  • User A updates XA ? X
  • User A releases lock on X
  • User B may now obtain a lock for X

10
Copy / Merge
  • User A takes a copy of X ? XA
  • User A modifies XA ? XA
  • User B takes a copy of X ? XB
  • User A updates XA ? X
  • User B modifies XB ? XB
  • User B must merge X XB ? X

11
Locking vs. Copy / Merge
  • Locking
  • Serializes all operations
  • No need to merge
  • Copy / Merge
  • Merge operation is hard
  • Maximum concurrency

12
Subversion SVN
  • Repository on server
  • Working Copies on clients
  • All groups will use SVN
  • Server utrac.cs.jhu.edu

13
Defining Terms
  • Checkout The process of creating a new working
    copy
  • Commit Sending changes made in a working copy,
    back into the repository
  • Update Getting changes from the repository
    committed since you last updated the working copy

14
Subversion Workflow
15
Working Copy States
  • A file in a working copy can be
  • Unchanged and current
  • Locally modified and current
  • Unchanged and out-of-date
  • Locally modified and out-of-date

16
Branching
  • Like to maintain concurrent branches of the
    same item
  • Take a copy of X ? Y
  • Now develop on both X and Y

Y
Y
Y
X
X
X
X
17
Merging
  • Have two branches with common ancestor
  • Want to merge them back together

18
Merging
  • Each update is defined as a mutation

19
Merging
  • Each update is defined as a mutation
  • Merging Y into X is applying all MY since Y was
    the same as X

20
Tagging
  • Tag a specific revision with a name

X
X
X
X
X
X
21
Tagging
  • Tag a specific revision with a name
  • Example Tag a milestone

Iteration Two
Iteration One
X
X
X
X
X
X
22
Trac
  • Wiki
  • Timeline
  • Roadmap
  • Source Browser
  • Tickets

23
Wiki
  • Collaborative Documentation Tool
  • Create a set of Topics
  • Formatting expressed as plain text markup
  • Can attach other files, and then like, eg images

24
Wiki
  • Collaborative Documentation Tool
  • Create a set of Topics
  • Formatting expressed as plain text markup
  • Can attach other files, and then like, eg images

25
Timeline
  • Provides a historical summary of all edits,
    tickets, source changes

26
Roadmap
  • Allows a set of Milestones to be defined
  • Milestones have a due date

27
Roadmap
  • Allows a set of Milestones to be defined
  • Milestones have a due date

28
Source Browser
  • Provides a web-based, read-only interface into
    your source code
  • Can view any version of source code
  • Can compare between versions

29
Source Browser
  • Provides a web-based, read-only interface into
    your source code
  • Can view any version of source code
  • Can compare between versions

30
Tickets
  • Defines a task that needs to be completed
  • Example Usage Use Case, Bug, etc.
  • Can provide Description, Attach files (Wiki)
  • Due Date, Milestone, Owner,

31
Expectations
  • ALL groups must use Trac and SVN
  • Your grade will depend on how well you use Trac
    and SVN throughout the project
  • We will use Trac exclusively to grade your
    projects

32
Expectations
  • Use Wiki for all project writeups, etc.
  • We would like it if you would import your
    Iteration One and Two documents into Wiki format
  • Use Milestones
  • Should show Iteration Plan
  • Use Tickets
  • All Use Cases should be tickets
  • All Bugs, Enhancements should be tickets

33
Expectations
  • We expect traceability Link information from one
    part of the SDLC to another
  • Eg A bug fix ticket should refer to SVN
    changeset. http//trac.edgewall.org/wiki/TracLink
    s

34
Expectations
  • We expect traceability Link information from one
    part of the SDLC to another
  • Eg A ticket should record the entire lifetime of
    a task. Record what was done to complete it,
    etc.

35
Trac Installation
  • Trac and SVN are already setup for you
  • Trac http//utrac.cs.jhu.edu/groupN/trac
  • SVN http//utrac.cs.jhu.edu/groupN/svn
  • Need Login and Password will be emailed to you

36
Subclipse
  • Subversion plug-in for Eclipse
  • http//subclipse.tigris.org/install.html

37
Reading List
  • http//svnbook.red-bean.com/en/1.1/index.html
  • http//svn.collab.net/subclipse/help/index.jsp
  • http//trac.edgewall.org/wiki/TracGuide
Write a Comment
User Comments (0)
About PowerShow.com