SVN A Powerful Version Control Tool - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

SVN A Powerful Version Control Tool

Description:

SVN. A Powerful Version Control Tool. Project Development Process. I want to design... Tortoise SVN. Right click your mouse and access SVN. Checkout files ... – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 22
Provided by: TeY3
Category:

less

Transcript and Presenter's Notes

Title: SVN A Powerful Version Control Tool


1
SVNA Powerful Version Control Tool
2
Project Development Process
  • I want to design
  • Start working (very hard)
  • It seems to work!
  • Adding additional functionality
  • Adding debugging procedures
  • Adding functions for temporary usage
  • _at_!_at_
  • Where is my working version??? gt_lt

3
Self solution (?????)
  • Create multiple copies
  • v1, v2, v3,
  • v0401, v0403, v04031530,
  • vdebug, vtest, vtcp, vtcpv2,
  • What do these number mean??? gt_lt
  • WRITE A VERY CLEAR README FILE
  • SPEND A LOT OF DISK SPACE

4
It gets worse with multiple people
  • I will edit it tonight. Dont touch it!
  • Did you change anything?
  • Wheres the current working version?
  • Gosh! We edited it at the same time!
  • What have you done? It doesnt work now!
  • Who change this file?
  • _at__at_!
  • People getting angry on each other \_/

5
Whats the problem?
  • Lack of version control and management
  • Lack of a central repository
  • Lack of managing multi-user file access
  • SVN is for this sort of problems
  • And we have set it up for you!

6
Whats SVN?
  • It gives every change in the repository a version
    number
  • It records every version
  • Handles version conflict

Figure 1.1. A typical client/server system
From http//svnbook.red-bean.com/nightly/en/svn-bo
ok.pdf, pg 23
7
Using SVN
  • Create a repository
  • Import files
  • Checkout files / update files
  • Editing
  • Commit

8
Single user
  • It serves as a versioned backup system
  • I find out my new version has big problems and I
    dont want it anymore
  • You can revert to previous versions
  • I work across many computers and I always need to
    spend time copying files (and make sure theyre
    the same)
  • You can checkout the latest version from the
    repository
  • I always carefully backup my files
  • You dont need to because theyre all in SVN
  • Im developing a new function but I want my
    working version to be still there
  • OK. You need BRANCH AND TAG

9
Branches and Tags
  • Trunk main files
  • Branches developing functions/debugging
  • Tags release version

10
Merge
  • SVN lists the difference between two files
  • You can determine which one you want
  • If theres no conflict, SVN will automatically
    add the two files into one

11
Multi-user
http//openfoundry.org/
11
12
Update and Conflict
  • Update your files to make sure you are using the
    latest version
  • If theres a difference between you local file
    and the repository, a conflict will be sent.
  • You have to resolve the conflict before
    committing your version

13
Do all the problems still exist?
  • I will edit it tonight. Dont touch it!
  • No problem. Just edit it. You will see the
    changes.
  • Did you change anything?
  • Find it out yourself in the SVN log
  • Wheres the current working version?
  • Checkout by yourself from the SVN repository!

14
Do all the problems still exist?
  • Gosh! We edited it at the same time!
  • SVN will help you find out all the differences
    and help you merge them
  • What have you done? It doesnt work now!
  • See the log! And revert to the working version!
  • Who change this file?
  • Everything is in the log!

15
When will you need it
  • As long as you have some ongoing projects
  • For sensor net group
  • You HAVE to use it for the large code sharing in
    the group
  • For paper writing
  • Strongly suggest. Paper writing generates the
    most complicated versioning in very short time.

16
A good example
  • Te-Yuan, Ahey, and I were working on a paper
  • We created 70 versions one night
  • We edited 8 files simultaneously
  • I dont believe we can make the paper deadline
    without using SVN

17
Demo
  • If we still have time
  • You can access SVN locally in unix, via HTTP, and
    vis SSH.
  • On windows? Tortoise SVN
  • Right click your mouse and access SVN

18
Checkout files
  • svnssh//han_at_nslab.ee.ntu.edu.tw/home/svn/repos/s
    ensys08
  • Its ssh!
  • Need an account on the webserver
  • Need to type password
  • Password-free use pageant and puttygen
  • Ask google!

19
Editing
  • Change the file content
  • In the meantime someone else also edit
  • Create a new file
  • Dont forget to add it into the repos

20
Commit
  • Conflict?
  • Resolve it!

21
It takes time to learn a new software
  • We are all new to it and feel free to discuss!
Write a Comment
User Comments (0)
About PowerShow.com