SlideShare a Scribd company logo
1 of 78
Subversion
                   Document Version Control with Subversion




tags: Version Control System, SVN, Introduction   Sitdhibong Laokok : goto.champ@gmail.com
License



Sitdhibong Laokok : goto.champ@gmail.com
Agenda

• Advantage
• Commons Vocabulary
• Version Control System (VCS)
• Subversion in Actions
Agenda

• Advantage
• Commons Vocabulary
• Version Control System (VCS)
• Subversion in Actions
Advantage
• Backup and Restore
• Synchronization
• Short-term and Long-term undo
• Track Change and Ownership
• Sandboxing
• Branching and Merging
Agenda

• Advantage
• Commons Vocabulary
• Version Control System (VCS)
• Subversion in Actions
Commons Vocabulary
• Basic Setup
  “Repository(repo), Server, Client,Working Copy/Working Set,Trunk/
  Main,Baseline”

• Basic Actions
  “Add, Revision, Head, Check out, Check in/Commit, Changelog/
  History, Update/Sync, Revert”

• Advanced Actions
  “Branch, Diff/Change/Delta, Merge(patch), Conflict, Resolve, Locking,
  Breaking the lock”
Basic Setup
Repository (repo)
  “The database stroring the files”
Server
  “The computer storing the repository”
Client
  “The computer connecting to the repo”
Basic Setup

Working Set / Working Copy
  “Your local directory of files, where you make
  change”
Trunk / Main
  “The “Primary” location for code in the repo.”
Basic Setup

Baseline
  “An Approved revision (or version number) of
  a document or source file from which
  subsequent changes can be made”
Basic Actions
Add
 “Put a file into the repo ‘for the first time’ ”
Revision
 “What version a file is on”
Head
 “The latest revision in repo”
Basic Actions
Check out
 “Download a file from the repo”
Check in / Commit
 “Upload a file into the repo.The file gets a
 new revision number”
Checkin Message
 “A short message to describe what was
 changed”
Basic Actions
Changelog / History
 “A list of change made to a file since it was
 created.”
Update / Sync
 “Synchronize your file with the latest from the
 repository”
Basic Actions


Revert
 “Throw away your local changed and reload
 the latest version from repository”
Advanced Actions
Branch
  “Create a separate copy of a file/folder for
  private use (bug fixing, testing, etc.)”
Diff / Change / Delta
  “Finding the differences between two files”
Merge (or patch)
  “Apply the changes from one file (or branch)
  to another file or trunk”
Advanced Actions
Conflict
 “When pending changes to a file contradict
 each other (both cannot be applied)”
Resolve
 “Fixing the changes that contradict each
 other and checking the correct version”
Advanced Actions

Locking
  “ ‘Taking Control’ of a file so nobody else can
  edit until you unlock it.”
Breaking the lock
  “Forcibly unlocking file that was locked”
Agenda

• Advantage
• Commons Vocabulary
• Version Control System (VCS)
• Subversion in Actions
Version Control System

• Git - Linux Kernel, X.org
• Subversion - Apache Software Foundation,
  PHP, Google Code
• Mercurial - Mozilla projects, NetBeans,
  OpenJDK
Repository

    Project_name
      !   branches
      !   tags
      !   trunk


Recommend repository structure
Repository
         Repository



           X
 Write                  Read
               Read



X          X          X
Client     Client     Client
Versioning Model

• File Sharing
• Lock-Modify-Unlock
• Copy-Modify-Merge
File Sharing

                  X
               Repository




    X                        X
     Pat                      Daniel



Pat & Daniel read code from repository
File Sharing

                  X
               Repository




    X'                       X''
     Pat                      Daniel



Pat & Daniel make change with there file
File Sharing

                        X'
                     Repository




      X'                             X''
        Pat                           Daniel



           Pat write his file to repository.
So, current version in the repository come from Pat
File Sharing

                      X''
                    Repository




      X'                             X''
       Pat                            Daniel



           Daniel do the same like Pat.
But everything from Pat is overwrite by Daniel file
Lock-Modify-Unlock

                         X
        Read                       Could not Read
                      Repository
               Lock


       X                             X
        Pat                          Daniel




 Pat start with read file from repository and lock it
Lock-Modify-Unlock

                            X'
        Write                            Read
                         Repository
                Unlock


      X'                              X'
       Pat                             Daniel



 Pat write his changes to repository and unlock it
Copy-Modify-Merge

                     X
   Read                              Read
                  Repository




     X                              X
      Pat                            Daniel


 Pat and Daniel boat copy file from repository
   to his private directory (Working Copy)
Copy-Modify-Merge

                       X
                    Repository




      X'                            X''
       Pat                           Daniel



Pat and Daniel make changes in there working copy
Copy-Modify-Merge

                 X''
                                  Write
               Repository




  X'                            X''
   Pat                           Daniel



   Daniel write his file to repository
Copy-Modify-Merge

                    X''
 Could not write
                  Repository




    X'                             X''
     Pat                           Daniel


    Pat could not write file to repository
      because his version is out-of-date
Copy-Modify-Merge

   Read
                  X''
                Repository




  X' X''                         X''
   Pat                            Daniel



  Solution: Pat read file from repository
Copy-Modify-Merge

                      Write
                                      X*
                                   Repository




                     X*                             X''
                      Pat                           Daniel


Solution: Pat merge his file in working copy and new version from Repository then
                                write it to repository
Agenda

• Advantage
• Commons Vocabulary
• Version Control System (VCS)
• Subversion in Actions
Subversion in Action

Require
• TortoiseSVN - Subversion Client
Optional
• VisualSVN Server - Subversion Server
Lab I: Check out


Objective
• To understand how to check out file from
  repository
Lab I: Check out




Before start you need to install TortoiseSVN
Lab I: Check out




Right-Click menu will show you like this if you already
                        install
Lab I: Check out




    Create a working copy directory
(empty directory in the location you want)
Lab I: Check out




Right-click then select “SVN Checkout...”
Lab I: Check out




Change “URL of repository” to your repository destination
Lab I: Check out




   Certificate Warning
Lab I: Check out




Authentication Required if the repository is not public
Lab I: Check out




   Check out success
Lab II: Add


Objective
• To understand how to ‘add’ new file or folder
  to repository
Lab II: Add




 Create new file or directory in your working copy, the
Symbol ‘?’ in front of folder show you this file is unknown
Lab II: Add




Press Right-Click at file you want to add to repository, and
                     choose ‘SVN Add”
Lab II: Add




  Add dialog
Lab II: Add




                Add complete
REMEMBER YOUR FILE DOES NOT PUBLISH TO REPO
Lab II: Add




Commit complete: last line show you repository HEAD
Lab III: Update
Objective
• To understand how to ‘update’ file in SVN
• To solve problem when ‘conflict’ found
Note
• This is the best practice before you commit
  file to repository for avoid conflict
Lab III: Update




Right-Click in working copy, then choose “SVN Update”
Lab III: Update




This dialog shown you there are update available from repo
Lab III: Update




New file from repository
Lab III: Update




New file from repository [check out again]
Lab III: Update




 Make some changes to ‘note.odt’
you’ll see this in your working copy
Lab III: Update




Update before commit your file
Lab III: Update




   Conflict found!!!
Lab III: Update




 Use ‘Resolved’ to solved this problem
[Right-Click: TortoiseSVN > Resolved...]
Lab III: Update




Resolve dialog shown you the list of conflict file
Lab III: Update




Conflict list: you can ‘Accept’ or ‘Reject’ changes here
Lab III: Update




     Resolved
Lab III: Update




Content in file after conflict is resolved
Lab IV: Commit


Objective
• To understand how to commit file to
  repository
Lab IV: Commit




Press Right-Click in working copy
  then choose ‘SVN Commit...’
Lab IV: Commit




Commit dialog: the short description might helpful to you
                      co-worker
Lab IV: Commit




Commit complete: last line show repository HEAD
Lab V: Diff

Objective
• To understand and specify what difference
  between 2 revision
Note
• Diff stand for ‘Difference’
Lab V: Diff




Press Right-Click at file you want to see diff,
     then choose ‘TortoiseSVN > Diff’
Lab V: Diff




  Different list
Lab V: Diff




   diff with previous version list
‘TortoiseSVN > Diff with previous’
Lessen VI: Retrieve Log


Objective
 • To understand how to get change log in
   project
Lessen VI: Retrieve Log




Press Right-Click in working directory, then choose
            ‘TortoiseSVN > Show Log’
Lessen VI: Retrieve Log




      Log Message Dialog
References
Subversion
  http://subversion.tigris.org/
tortoiseSVN
  http://tortoisesvn.tigris.org/
Version Control with Subversion
  http://svnbook.red-bean.com
References

OOoSVN
 http://extensions.services.openoffice.org/
 project/OOoSVN
VisualSVN Server
 http://www.visualsvn.com/
Document Version Control with Subversion

More Related Content

What's hot

Nguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practicesNguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practicesVu Hung Nguyen
 
Introduction to Subversion
Introduction to SubversionIntroduction to Subversion
Introduction to SubversionAtul Jha
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVNPHPBelgium
 
Subversion on-the-fly replication
Subversion on-the-fly replicationSubversion on-the-fly replication
Subversion on-the-fly replicationnormanmaurer
 
SVN Best Practices
SVN Best PracticesSVN Best Practices
SVN Best Practicesabackstrom
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul Islam
 
Getting Started With Subversion
Getting Started With SubversionGetting Started With Subversion
Getting Started With SubversionJordan Hatch
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With SubversionSamnang Chhun
 
Digital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationDigital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationMassimo Menichinelli
 
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryDigital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryMassimo Menichinelli
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on JenkinsKnoldus Inc.
 
Digital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: InformationDigital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: InformationMassimo Menichinelli
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN TutorialenggHeads
 
Version Control & Git
Version Control & GitVersion Control & Git
Version Control & GitCraig Smith
 
DCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best PracticesDCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best PracticesDocker, Inc.
 
CI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins PipelineCI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins PipelineVeaceslav Gaidarji
 
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...Eric Smalling
 

What's hot (20)

Nguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practicesNguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practices
 
Introduction to Subversion
Introduction to SubversionIntroduction to Subversion
Introduction to Subversion
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVN
 
Subversion on-the-fly replication
Subversion on-the-fly replicationSubversion on-the-fly replication
Subversion on-the-fly replication
 
SVN Best Practices
SVN Best PracticesSVN Best Practices
SVN Best Practices
 
SVN Best Practices
SVN Best PracticesSVN Best Practices
SVN Best Practices
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
Getting Started With Subversion
Getting Started With SubversionGetting Started With Subversion
Getting Started With Subversion
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With Subversion
 
Digital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationDigital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 Information
 
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryDigital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 
Digital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: InformationDigital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: Information
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN Tutorial
 
Docker & ci
Docker & ciDocker & ci
Docker & ci
 
Version Control & Git
Version Control & GitVersion Control & Git
Version Control & Git
 
DCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best PracticesDCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best Practices
 
CI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins PipelineCI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins Pipeline
 
An introduction to SVN
An introduction to SVNAn introduction to SVN
An introduction to SVN
 
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
 

Viewers also liked

Viewers also liked (7)

Subversion Best Practices
Subversion Best PracticesSubversion Best Practices
Subversion Best Practices
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
 
Subversion Overview
Subversion OverviewSubversion Overview
Subversion Overview
 
SVN Basics
SVN BasicsSVN Basics
SVN Basics
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Git vs. SVN
Git vs. SVNGit vs. SVN
Git vs. SVN
 
Introduction to Bootstrap
Introduction to BootstrapIntroduction to Bootstrap
Introduction to Bootstrap
 

Similar to Document Version Control with Subversion

Difference between team foundation server and subversion
Difference between team foundation server and subversionDifference between team foundation server and subversion
Difference between team foundation server and subversionUmar Ali
 
Git your life for fun & profit
Git your life for fun & profitGit your life for fun & profit
Git your life for fun & profitGeeks Anonymes
 
Presentacio.pptx
Presentacio.pptxPresentacio.pptx
Presentacio.pptxgdscudg
 
Burlington, VT PHP Users Group Subversion Presentation
Burlington, VT PHP Users Group Subversion PresentationBurlington, VT PHP Users Group Subversion Presentation
Burlington, VT PHP Users Group Subversion PresentationBradley Holt
 
DevTalk: Introducing Helix- A New And Better DVCS
DevTalk: Introducing Helix- A New And Better DVCSDevTalk: Introducing Helix- A New And Better DVCS
DevTalk: Introducing Helix- A New And Better DVCSPerforce
 
Jenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJulien Pivotto
 
Subversion
SubversionSubversion
Subversionthebdot1
 
Make an Instant Website with Webhooks
Make an Instant Website with WebhooksMake an Instant Website with Webhooks
Make an Instant Website with WebhooksAnne Gentle
 
Subversion Admin
Subversion AdminSubversion Admin
Subversion Adminrchakra
 
Source Code Management Slides
Source Code Management SlidesSource Code Management Slides
Source Code Management Slidesdaschuck
 
version controlling in software development
version controlling in software developmentversion controlling in software development
version controlling in software developmentAnushka Perera
 
Mining Component Repositories for Installability Issues
Mining Component Repositories for Installability IssuesMining Component Repositories for Installability Issues
Mining Component Repositories for Installability IssuesRoberto Di Cosmo
 

Similar to Document Version Control with Subversion (20)

Random House
Random HouseRandom House
Random House
 
Subversion Saves The Day
Subversion Saves The DaySubversion Saves The Day
Subversion Saves The Day
 
Difference between team foundation server and subversion
Difference between team foundation server and subversionDifference between team foundation server and subversion
Difference between team foundation server and subversion
 
Subversion
SubversionSubversion
Subversion
 
Git your life for fun & profit
Git your life for fun & profitGit your life for fun & profit
Git your life for fun & profit
 
Git your life for fun & profit
Git your life for fun & profitGit your life for fun & profit
Git your life for fun & profit
 
Subversion last minute survival crash course
Subversion  last minute survival crash courseSubversion  last minute survival crash course
Subversion last minute survival crash course
 
Presentacio.pptx
Presentacio.pptxPresentacio.pptx
Presentacio.pptx
 
SVN Information
SVN Information  SVN Information
SVN Information
 
Burlington, VT PHP Users Group Subversion Presentation
Burlington, VT PHP Users Group Subversion PresentationBurlington, VT PHP Users Group Subversion Presentation
Burlington, VT PHP Users Group Subversion Presentation
 
DevTalk: Introducing Helix- A New And Better DVCS
DevTalk: Introducing Helix- A New And Better DVCSDevTalk: Introducing Helix- A New And Better DVCS
DevTalk: Introducing Helix- A New And Better DVCS
 
Jenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJenkins Shared Libraries Workshop
Jenkins Shared Libraries Workshop
 
Subversion
SubversionSubversion
Subversion
 
Make an Instant Website with Webhooks
Make an Instant Website with WebhooksMake an Instant Website with Webhooks
Make an Instant Website with Webhooks
 
Subversion Admin
Subversion AdminSubversion Admin
Subversion Admin
 
Source Code Management Slides
Source Code Management SlidesSource Code Management Slides
Source Code Management Slides
 
Source Control 101
Source Control 101Source Control 101
Source Control 101
 
version controlling in software development
version controlling in software developmentversion controlling in software development
version controlling in software development
 
Mining Component Repositories for Installability Issues
Mining Component Repositories for Installability IssuesMining Component Repositories for Installability Issues
Mining Component Repositories for Installability Issues
 
subversion.ppt
subversion.pptsubversion.ppt
subversion.ppt
 

More from Sitdhibong Laokok

แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์Sitdhibong Laokok
 
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์Sitdhibong Laokok
 
กระบวนการออกแบบรายละเอียดซอฟต์แวร์
กระบวนการออกแบบรายละเอียดซอฟต์แวร์กระบวนการออกแบบรายละเอียดซอฟต์แวร์
กระบวนการออกแบบรายละเอียดซอฟต์แวร์Sitdhibong Laokok
 
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์Sitdhibong Laokok
 
Software Metrics: Paper Presentation
Software Metrics: Paper PresentationSoftware Metrics: Paper Presentation
Software Metrics: Paper PresentationSitdhibong Laokok
 
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะSitdhibong Laokok
 
SNA: Information Sharing Behavior
SNA: Information Sharing BehaviorSNA: Information Sharing Behavior
SNA: Information Sharing BehaviorSitdhibong Laokok
 
Seminar Slide: Investigating dependencies in software requirements for change...
Seminar Slide: Investigating dependencies in software requirements for change...Seminar Slide: Investigating dependencies in software requirements for change...
Seminar Slide: Investigating dependencies in software requirements for change...Sitdhibong Laokok
 
New M-Culture + Elementary WordPress
New M-Culture + Elementary WordPressNew M-Culture + Elementary WordPress
New M-Culture + Elementary WordPressSitdhibong Laokok
 
WordPress Theme Development Short Manual
WordPress Theme Development Short ManualWordPress Theme Development Short Manual
WordPress Theme Development Short ManualSitdhibong Laokok
 
Introduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentIntroduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentSitdhibong Laokok
 
JAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaJAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaSitdhibong Laokok
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case WritingSitdhibong Laokok
 
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550Sitdhibong Laokok
 

More from Sitdhibong Laokok (15)

แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
แม่แบบและแบบบันทึกสำหรับกระบวนการออกแบบรายละเอียดซอฟต์แวร์
 
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
คู่มือประกอบกระบวนการออกแบบรายละเอียดซอฟต์แวร์
 
กระบวนการออกแบบรายละเอียดซอฟต์แวร์
กระบวนการออกแบบรายละเอียดซอฟต์แวร์กระบวนการออกแบบรายละเอียดซอฟต์แวร์
กระบวนการออกแบบรายละเอียดซอฟต์แวร์
 
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
การนิยามและการปรับปรุงกระบวนการออกแบบรายละเอียดซอฟต์แวร์
 
Software Metrics: Paper Presentation
Software Metrics: Paper PresentationSoftware Metrics: Paper Presentation
Software Metrics: Paper Presentation
 
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
ข้อเสนอโครงการ.ระบบจัดการส่งดอกไม้ของฮานะ
 
SNA: Information Sharing Behavior
SNA: Information Sharing BehaviorSNA: Information Sharing Behavior
SNA: Information Sharing Behavior
 
Seminar Slide: Investigating dependencies in software requirements for change...
Seminar Slide: Investigating dependencies in software requirements for change...Seminar Slide: Investigating dependencies in software requirements for change...
Seminar Slide: Investigating dependencies in software requirements for change...
 
Git installation
Git installationGit installation
Git installation
 
New M-Culture + Elementary WordPress
New M-Culture + Elementary WordPressNew M-Culture + Elementary WordPress
New M-Culture + Elementary WordPress
 
WordPress Theme Development Short Manual
WordPress Theme Development Short ManualWordPress Theme Development Short Manual
WordPress Theme Development Short Manual
 
Introduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentIntroduction to WordPress Theme Development
Introduction to WordPress Theme Development
 
JAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaJAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML Schema
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case Writing
 
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
พระราชบัญญัติ ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Document Version Control with Subversion

Editor's Notes

  1. - Backup and Restore: VCS จะทำงานโดยเก็บเอาแต่ล่ะ version ทำเป็น history ไว้ จึงช่วยเรื่องการจัดการเรืื่องการ backup และ restore งานตรง version ที่เราต้องการได้ - Synchronization: ช่วยให้คนที่อยู่ใน Project ที่ทำงานร่วมกัน ได้ข้อมูลที่สอดคล้องกันทั้งหมด - Short-term and Long-term undo - short-term undo: หากไม่ต้องการเวอร์ชั่นที่ทำอยู่ หรือเกิดข้อผิดพลาดบางอย่างก็กลับไปเวอร์ชั่นที่ต้องการได้ทันที - long-term undo: ยกตัวอย่างเช่นถ้าปรับแก้ไปนานแล้วแต่พบว่ามันเป็นบั๊ก ก็สามารถกลับไปเวอร์ชั่นที่เริ่มเกิดนั้นและดูได้ว่าส่วนไหนที่เปลี่ยนแปลงแล้วส่งผลกระทบทำให้เกิดข้อผิดพลาดดังกล่าว - Track Change and Ownership: สามารถติดตามการเปลี่ยนแปลงในแต่ละเวอร์ชั่น และคนที่แก้ไขได้ - Sandboxing: การใช้งาน vcs ก็คือจะให้คนที่ร่วมโปรเจ็คมาดึงเอาข้อมูลจากตรงกลางไปใช้ เมื่อเสร็จแล้วจึงค่อยส่งกลับคืนไปยังต้นฉบับ ดังนั้นเมื่อมีแก้ไขจะส่งผลกระทบเพียงแค่ที่ผู้ใช้คนดังกล่าวเท่านั้น - Branching and Merging: จาก sandboxing หากผู้ใช้ต้องการ ส่งโค้ดกลับมาที่ต้นฉบับ แต่ยังไม่ไดต้องการให้ไปรวมกับโค้ดหลัก ก็สามารถสร้างพื้นที่ส่วนหนึ่งแยกออกมาต่างหากจากที่อยู่ของโค้ดหลัก (branch) และเมื่อแก้ไขจนเป็นที่พอใจแล้ว ก็สามารถนำเอาโค้ดดังกล่าวกลับไปรวมกับโค้ดหลักได้ (merge)