OKNGTSCI SVN User Level Training v1.1

download OKNGTSCI SVN User Level Training v1.1

of 33

Transcript of OKNGTSCI SVN User Level Training v1.1

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    1/33

    Consulting Technology

    SCM using Subversion(SVN)

    User level Awareness

    www.oakton.com.au

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    2/33

    Consulting Technology

    Agenda & Schedule

    www.oakton.com.au2

    Agenda

    SVN Overview

    SVN Getting Started

    SVN - References

    QA Session

    Time/Duration

    hh:mmAM / xxmins

    hh:mmAM / xxmins

    hh:mmAM / xxmins

    hh:mmAM / xxmins

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    3/33

    Consulting Technology

    Life without Version Control User A gets a copy of file X from the data store

    User B gets a copy of file X from the data store

    User A changes X writes the new X back into the data store

    User B changes his older version of X and writes this into thedata store, overwriting As Changes

    www.oakton.com.au3

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    4/33

    Consulting Technology

    What is Version Control?

    www.oakton.com.au4

    A method for centrally storing files.

    Keeping a record of changes.

    Who did what, when in the system Historical Record.

    Covering yourself when things inevitably go wrong.

    Synchronization between Developers.

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    5/33

    Consulting Technology

    Why Version Control? To allow multiple Developers(in remote locations) to work

    on the same codebase.

    To answer who did what.

    To merge changes across same files after collision.

    Backup Methodology.

    www.oakton.com.au5

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    6/33

    Consulting Technology

    Version Control - Example

    www.oakton.com.au6

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    7/33

    Consulting Technology

    Version Control tools CVS (Concurrent Version System)

    SVN (Subversion)

    VSS (Visual Source Safe)

    TFS (Team Foundation Server)

    ClearCase

    StarTeamwww.oakton.com.au7

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    8/33

    Consulting Technology

    What is Subversion (SVN)? Subversion (or SVN) is a Version Control System.

    Allows users to manage files, directories, and the changesmade to them.

    Can manage changes to all file types (not only source code).

    www.oakton.com.au8

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    9/33

    Consulting Technology

    Why SVN? Open Source (freeware) tool

    Atomic Commits Checkin All or Nothing

    True Client-Server Model

    Directory Versioning with Rename & Move

    Faster Network-access

    Maintains File & Directory metadatawww.oakton.com.au9

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    10/33

    Consulting Technology

    SVN Architecture

    www.oakton.com.au10

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    11/33

    Consulting Technology

    SVN Getting Started

    www.oakton.com.au

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    12/33

    Consulting Technology

    Repository VS Working-copy

    Project codebase, along with the metadata, stored in server

    is referred to as Repository.

    Developers Checkout desired version of project codebase

    into their local workspace. This local copy of the codebase is

    referred as Working Copy.

    www.oakton.com.au12

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    13/33

    Consulting Technology

    SVN Installation pre-requisites Install SVN Client tool TortoiseSVN on your desktop.

    SVN Installation Shares:\\10.4.30.202\share\TortoiseSVN

    http://tortoisesvn.sourceforge.net/

    Note: TortoiseSVN requires admin rights for installation

    www.oakton.com.au13

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    14/33

    Consulting Technology

    SVN repository details Server Name: speosdevsvmvm2 (IP address 10.4.30.202)

    Repository Name: oknsvnpoc

    URL for Developer access:http://10.4.30.202:9881/oknsvnpoc

    www.oakton.com.au14

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    15/33

    Consulting Technology

    Available via a simple right-click from

    Windows Explorers context menu

    Type the SVN repository URL and click

    OK

    www.oakton.com.au15

    How to connect to SVN server?

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    16/33

    Consulting Technology

    SVN repository organization

    www.oakton.com.au16

    Therere 03 sub-directories per project, namely Trunk,

    Tags and Branches.

    Trunk: Main branch with cumulative codebase

    Tags: Read-only Release/Milestone snapshots

    Branches: Development stream for various releases

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    17/33

    Consulting Technology

    DEV-cycle using SVN

    1. Checkout Working-copy

    2. Update your Working-copy

    3. Make necessary changes

    4. Examine your changes

    5. Commit your changes

    www.oakton.com.au17

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    18/33

    Consulting Technology

    1. Checkout Working-copy

    www.oakton.com.au18

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    19/33

    Consulting Technology

    2. Update Working-copy

    www.oakton.com.au19

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    20/33

    Consulting Technology

    3. Make necessary changes

    Add new files and directories

    www.oakton.com.au20

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    21/33

    Consulting Technology

    Make necessary changes (contd.) Rename files

    www.oakton.com.au21

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    22/33

    Consulting Technology

    Make necessary changes (contd.) Delete Files

    www.oakton.com.au22

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    23/33

    Consulting Technology

    4. Examine your changes Show your modifications

    www.oakton.com.au23

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    24/33

    Consulting Technology

    5. Commit your changes

    www.oakton.com.au24

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    25/33

    Consulting Technology

    Merging

    Merging takes places on the Working-copy.

    Merging enables applying codebase from one branch to another.

    Invoke Merge Wizard

    www.oakton.com.au25

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    26/33

    Consulting Technology

    Merge types

    www.oakton.com.au26

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    27/33

    Consulting Technology

    Merge types (contd.) Merge a range of revisions

    In other words, youre asking SVN Calculate the changes necessary

    to get [FROM] Revision 1 of Branch A [TO] Revision 7 of Branch A,

    and apply those changes to my working-copy.

    www.oakton.com.au27

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    28/33

    Consulting Technology

    Re-Integrate a branch

    www.oakton.com.au28

    Merge types (contd.)

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    29/33

    Consulting Technology

    Merge types (contd.)

    Merge two different trees

    www.oakton.com.au29

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    30/33

    Consulting Technology

    Merge - Conflict Resolution

    Merge conflict is not resolved automatically for binary/text

    files and youve to carry out copy-merge.

    Select Prefer local to select your working-copy as merge-

    target else Prefer repository to select repository-repository-copy (or source-copy) as a merge-target version.

    www.oakton.com.au30

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    31/33

    Consulting Technology

    References

    SVN Home

    http://svn.subversion.com/

    SVN handbook

    http://subversion.tigris.org/files/documents/15/576/svn-handbook.html

    SVN quick reference guide

    http://subversion.tigris.org/files/documents/15/177/foo.ps

    SVN document folder

    http://subversion.tigris.org/servlets/ProjectDocumentList

    SVN project statushttp://subversion.tigris.org/project_status.html

    SVN source code and binary downloads

    http://subversion.tigris.org/servlets/ProjectDocumentList

    www.oakton.com.au31

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    32/33

    Consulting Technology

    QA Session

    www.oakton.com.au32

  • 8/3/2019 OKNGTSCI SVN User Level Training v1.1

    33/33

    Consulting Technology

    Thank you and Q&A

    Strategic partnersMicrosoftOracleSAPIBM

    MelbourneSydneyCanberraBrisbaneHyderabad

    23 years9 key industry sectors800 plus clients10,000 plus projects

    Whatproblemdoyouwantdefined?

    Thank you and Q&A

    Strategic partnersMicrosoftOracleSAPIBM

    MelbourneSydneyCanberraBrisbaneHyderabad

    23 years9 key industry sectors800 plus clients10,000 plus projects

    Whatproblemdoyouwantdefined?

    www.oakton.com.au