Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Configuration Management -Subversion- RTLAB YuJin Park.

Similar presentations


Presentation on theme: "Software Configuration Management -Subversion- RTLAB YuJin Park."— Presentation transcript:

1 Software Configuration Management -Subversion- RTLAB YuJin Park

2  Discipline of managing the evolution of complex software systems[IEEE STD 1987]  A Software engineering discipline Comprised of tools and techniques used to manage change to software assets.  A set of activities to control change by: identifying the products & establishing relationships defining mechanisms for management, control, auditing and reporting on changes made. Software Configuration Management

3  Configuration Control Controlling Product release and its updates  Status Accounting Recording and reporting components’ status(changes)  Review Ensuring completeness and consistency of all parts  Build Management Managing the build process and its tools Goals of SCM

4  Baseline IEEE Definition : A specification or product that been formally reviewed and agreed upon, and that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures Milestone in the development of software Baseline Management

5  Version Control Allows different projects to use the same source files at the same time Allows software engineers to continue development along a branch even when a line of development is frozen  Change Control The impact of proposed changes must be identified and understood. After changes are made all affected parties must be notified Version & Change control

6  The main branch is called the “main trunk”  A branch can be merged back to the main trunk, or other branch. Trunk and Branch UbinosCore v1.1v1.2v1.3v1.4 v1.2.1.1 v1.2.1.2 v1.2.1.2.1.1v1.2.1.2.1.2 v1.2.2.1 v1.2.2.2 Branch 1.2.1 Branch 1.2.1.2.1 Branch 1.2.2 Main Trunk Merge1.3

7  Tags are used to give a symbolic name to a certain collection of file revisions Tags UbinosCore Library Application v1.1v1.2v1.3v1.4 v1.1v1.2v1.3v1.4 v1.1v1.2v1.3v1.4 Tag_PAAR Watch v1.3

8  Goal : functional replacement for CVS(Concurrent Version System)  Started in early 2000 (by CollabNet)  Server – Client  More than just a replacement for CVS Directory versioning Atomic commits File and directory metadata Faster network access Requires less network access Subversion

9 Typical Work cycle Checkout (first time) Work & test Any changes since revision n? Synchronize Update Commit Send current revision n LocalServer Complete

10 SVN Repository (Server) Root Subversion Repository Local Repository (Client, User 1) Local Repository (Client, User 2) Local Repository (Client, User 3) Project 1 Core Common Data 1 Data 2 Documents Etc Project 1 (Revision #301) Project 2 (Revision #403) Project 2 (Revision #405) Project 2 (Revision #405) Project 3 (Revision #521) Project n (Revision #xxx) Trunk (Revision #134) Branch (Revision #301) Tag (Revision #219)

11  Trunk, Branch, Tag  Commit, Update, Synchronize  Import, Export  Check out, Merge  Compare, History Subversion

12  Trunk Primary path used for development  Branch Copy of trunk, a branch or tag for isolation Preparing for a release Merge changes back to trunk later  Tag Copy of trunk or a branch for information Each tag represents a specific release No further commits Trunk, Branch, Tag

13  Check Out Get a local copy of the files by SVN Repository SVN Location Information  Update Update working copy with the latest version in repository Merges the version in repository with working copy Check out, Update

14  Commit Set of related changes Modifies the version in the SVN repository Receives unique Revision number n  Merge Merging changes from another branch Merge conflict Commit, Merge Branch : revision 375 Commit : revision 376 Merge : revision 375 Merge Conflict Developer 1 Developer 2 SVN Repository

15  Import Importing files into an existing repository. receives first revision number(1).  Export Exporting files from an existing repository. No Location Information Import, Export

16  Compare With Latest from Repository With Revision : Revision Head, URL, Date With Branch With Tag  History Repository History Local History Compare, History

17 Subclipse  SubVersion Eclipse Plug-In  Eclipse : Help -> Install New Software…http://subclipse.tigris.org/update_1.6.xhttp://subclipse.tigris.org/update_1.6.x

18 http://www.csosp.org:8080/svn/Ubinos _public/tags/Ubinos_1.0.2 Subclipse – SVN Repositories

19  Check out Subclipse – Check out, Export  Export

20  Import Subclipse –Import, Commit  Share Project  Commit

21  History Subclipse – Compare, History  Compare

22  Synchronize Subclipse - Synchronize

23  Branch Subclipse – Branch, Merge Check Out  Merge Check Out Main Branch(Trunk)

24 END.


Download ppt "Software Configuration Management -Subversion- RTLAB YuJin Park."

Similar presentations


Ads by Google