Chapter2: Version Control Student List: Nguyễn Lê Quốc Sơn Huỳnh Hữu Tài Lê Anh Tân Trần Thanh Thiện Trần Hoàng Thịnh.

Slides:



Advertisements
Similar presentations
TortoiseSVN By Group 1 Team B. Installing TortoiseSVN.
Advertisements

Intro to Version Control Have you ever …? Had an application crash and lose ALL of your work Made changes to a file for the worse and wished you could.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Version Control System (Sub)Version Control (SVN).
Version Control 1.  Version control (or revision control) is the term for the management of source files, and all of the intermediate stages as development.
Version Control System Sui Huang, McMaster University Version Control SystemSui Huang, McMaster University Version Control System -- base on Subversion.
Source Control in MATLAB A tool for tracking changes in software development projects. Stuart Nelis & Rachel Sheldon.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 9: Implementing and Using Group Policy.
Microsoft Visual Source Safe 6.01 Microsoft Visual Source Safe (MVSS) Presented By: Rachel Espinoza.
Browser and Basics Tutorial 1. Learn about Web browser software and Web pages The Web is a collection of files that reside on computers, called.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
1 Chapter Overview Creating User and Computer Objects Maintaining User Accounts Creating User Profiles.
SubVersioN – the new Central Service at DESY by Marian Gawron.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
9.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
Version control Using Git 1Version control, using Git.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Source Control Repositories for Team Collaboration: SVN, TFS, Git Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training.
Chapter 7 Working with Files.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
Source Control Repositories for Team Collaboration: SVN, TFS, Git.
The Design Workshop Introduction to Version Control 1.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Version Control with Subversion Quick Reference of Subversion.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 8-Oct-15.
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
Version control Using Git Version control, using Git1.
Subversion (SVN) Tutorial Source:
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control Systems with Subversion (SVN) and Tortoise.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
DireXions – Your Tool Box just got Bigger PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond.
1 Brief Introduction to Revision Control Ric Holt.
XP New Perspectives on Microsoft Office FrontPage 2003 Tutorial 7 1 Microsoft Office FrontPage 2003 Tutorial 7 – Creating and Using Templates in a Web.
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
1 Chapter Overview Managing Object and Container Permissions Locating and Moving Active Directory Objects Delegating Control Troubleshooting Active Directory.
TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,
1 MSTE Visual SourceSafe For more information, see:
L.T.E :: Learning Through Experimenting Using google-svn for MtM Docs Development Denis Thibault Version 3.2 Mar 12 th, 2009.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
WinCVS Training è Basic Concepts è Download & Setup è Importing a new module into CVS Repository è Getting new module from CVS è Getting Latest version.
22 Copyright © 2008, Oracle. All rights reserved. Multi-User Development.
Visual Source Safe –A Quick Tour. CONTENTS What is VSS ? How to install VSS ? How does VSS track versions? VSS Concepts & Features Utilities available.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
1 Subversion Kate Hedstrom April Version Control Software System for managing source files –For groups of people working on the same code –When.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 28-Jun-16.
Version Control CS These slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
SVN intro (review).
Version Control CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Version control, using Git
Concurrent Version Control
Source Code Management
Revision Control Daniel Daugherty
Presentation transcript:

Chapter2: Version Control Student List: Nguyễn Lê Quốc Sơn Huỳnh Hữu Tài Lê Anh Tân Trần Thanh Thiện Trần Hoàng Thịnh

Reference  TortoiseSVN A Subversion client for Windows Version 1.7 by Stefan Küng, Lübbe Onken, and Simon Large  Version Control with Subversion: For Subversion 1.4 by Ben Collins-Sussman, Brian W. Fitzpatrick, C.Michael Pilato   02._Version_Control.pdf by Lecturer Ngô Huy Biên

Table of Contents  Introduction to Version Control  Why is Version Control important?  The Basic Concepts  Version Control Tools  Install and Demo

What is Version Control? Version control is the management of changes to documents, programs, large web sites and other information stored as computer files. It is most commonly used in software development, where a team of people may change the same files. Changes are usually identified by a number or letter code, termed the "revision number“ or simply "revision". Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.

Why is Version Control important? Any stored revision of a file can be retrieved to be viewed or changed. The differences between any two revisions can be displayed. Patches can be created automatically. Multiple developers can work simultaneously on the same project or file without loss of data. The project can be branched to allow simultaneous development along varied tracks. These branches can be merged back into the main line of development. Distributed development is supported across large or small networks.

The Basic Concepts Branch Checkout/Update Comment Commit Conflict Deltas Head Import Label Lock Merge Repository Resolve Revision Tag Trunk Working folder Workspace …

The Basic Concepts Branch A set of files under version control may be branched or forked at a point in time so that, from that time forward, two copies of those files may be developed at different speeds or in different ways independently of the other.

The Basic Concepts Checkout/Update Creates a local working copy/dowload from the repository. Comment Comments are the key to understanding your project’s history. Commit To save your working copy of the file into the repository. Referred to as Check-in in some version control systems.

The Basic Concepts Conflict The situation when two people try to commit changes that affect the same region of the same file. These must be resolved, either using a Merge tool, or manually. Deltas Is the difference between the two revisions. Head The most recent commit.

The Basic Concepts Import An import is the action of copying a local directory tree (that is not currently a working copy) into the repository for the first time. Label See tag. Label A "label" is a human-meaningful name that can be used to select a specific version from a version history. A label can be assigned to a specific version of a resource. The same label can be used in different version histories. Lock A lock prevents anybody from editing a file but you.

The Basic Concepts Merge A merge is the process of combining multiple changes and resolving any conflicts. If two programmers change a file separately and both check it in, the second programmer will need to merge in the first person's changes. Repository The repository is the master storage for all of your files and and their history. It's typically stored on the version control server. Each stand-alone project should have its own repository. Resolve The act of user intervention to address a conflict between different changes to the same document.

The Basic Concepts Revision Also version: A version is any change in form. In SVK, a Revision is the state at a point in time of the entire tree in the repository. Tag A tag or label refers to an important snapshot in time, consistent across many files. These files at that point may all be tagged with a user-friendly, meaningful name or revision number. See the discussion of baselines, labels, and tags. Trunk The unique line of development that is not a branch (sometimes also called Baseline or Mainline).

The Basic Concepts Working copy Your copy of the file that you actually make your changes in. Working folder Folder where you check files out to work on them, also referred to. Workspace An area where can work separated from the reposity and to isolate each user from the others.

Version Control Tools

Install and Demo Install VisualSVN Server2.5.2, TortoiseSVN Create Repository by VisualSVN Server Create users in VisualSVN Server Add, commit, update, delete information in TortoiseSVN Check log in TortoiseSVN Check for modifications in TortoiseSVN Conflict in TortoiseSVN Branching – Merging in TortoiseSVN

Install VisualSVN Server & TortoiséVN VisualSVN Server download link: TortoiseSVN download link:

Create Repository Type the name of the repository and select check box if you want to use default structure for the repository

Create User in VisualSVN

User Authorization  Folder or repository  On defaulf, everyone can access the information  Right-click on folder or Repository -> Properties

User Authorization  Permission level: - Inherit from parent - No access - Read only - Read/Write  Add/Remove: user or group.

TortoiseSVN – Add, Commit, Update, Delete  Add: add file to working copy, it can be transfer to repository the next time commit.  Commit: Commit changes of working copy to repository. Update before.  Update: Update the working copy from the repository.  Delete: Delete file from working copy, the file in repository will be delete the next time commit.

TortoiseSVN – Check Log Log of changes of data with revision number, author, date...

TortoiseSVN – Revision compares File:  Compare with another revision: TortoiseSVN->Diff  Compare with another branch or tag: TortoiseSVN ->Diff with URL  Compare between 2 file : Chọn 2 file muốn so sánh sau đó chọn TortoiseSVN->Diff Revision:  Compare with another revision : TortoiseSVN->Diff with previous version  Compare between 2 revision: use Revision Log, select 2 revision, select Compare revisions in context menu.  Compare working copy with a URL(Branch,...): hold Shift and right click on file or folder, selectTortoiseSVN->Diff with URL

File conflicts  Mark: <<<<<<< filename Your changes ======= Code merged from repository >>>>>>>> revision  File: Filename.ext.mine, Filename.ext.rOLDREV, Filename.ext.rNEWREV

Properties - Tree conflict  Properties conflicts xảy ra khi 2 hay nhiều developer thay đổi cùng 1 thuộc tính. Như với file content, conflict được giải quyết bởi chính các developer  Tree conflicts xảy ra khi developer moved/ renamed/ deleted 1 file hay 1 folder mà 1 developer lại chỉnh sửa (move/rename/deleted) nó. Ccos rất nhiều trạng thái khác nhau mà nó sẽ có kết quả là 1 tree Conflict. Và tất cả những điều đó yêu cầu những bước khác nhau để giải quyết đụng độ.

Tạo nhánh  When create a new branch, a new folder will be create on server.  Right-click to Working folder: TortoiseSVN -> Branch/Tag…

Kết hợp nhánh  Merge a range of revision  Reintergrate a branch  Merge two different trees