Part 4  Managing your SVN repository using JasForge Project  ,  March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
OBJECTIVES  Managing your SVN repository using JasForge Automated testing  Build Tool SCM
Presentation Plan 1 2 Introduction What is a SCM ? Page     3 SVN fundamentals 4 SVN and JasForge integration 5 Demo
Software projects with multiple developers need to coordinate and synchronize the source code Why use version control?
Version Control Repository Simply put, you must use a version control repository in order to perform  CI Even if you don’t use CI, a version control repository should be standard for your project The purpose of a version control repository is to manage changes to source code and other software assets (such as documentation) using a controlled access repository There are  different types of version control systems you can use too:
Manage file sharing (Specifically:  Prevent people from erasing each other’s modifications) Keep past versions of files/directories A   list of exact changes made can be generated quickly and easily We use  Subversion for most of the examples in this seminar Version Control Repository
Svn  in details
Subversion is a leading Open Source version control system,  tracks the history of file and directory changes over time. SVNKit  is a pure Java Subversion toolkit that implements all Subversion features and provides APIs to work with Subversion working copies, access and manipulate Subversion repositories. Subversion &&  SVNKit
SVNKit features Repository access over http(s), svn, svn(+ssh) and file protocols  Repository administration  Does not require additional binaries  Turns contents of a repository to a portable dump format stream
Subversion Backing   up data Configuration Management Documentation What can Subversion Do For You ? CR 12 Distributed  Development
Subversion –  Principe
Subversion – Architecture Overview Berkley DB FSFS Subversion Repository Client Interface Repository  Interface GUI   client  apps Commandline client apps Client Library Working Copy Management Library Repository access DAV SVN Local Apache mod _ dav mod_dav_svn svnserve Internet (Any TCP/IP Network) Single Sign On  LDAP   High Secure  SSL Office Integration  WebDAV UNIX, LINUX WINDOWS Offline Support
The Working Cycle svn  checkout svn  update   get content svn add svn move svn delete Make changes svn  status  -u  See what was changed  in the repository in the meantime svn  update Update your local copy svn diff svn resolved Merge your changes Resolve conflicts svn commit Submit your changes 105 100 106 Subversion Repository
Subversion – Branches, Tags Branching and tagging are cheap (constant time) operations Branches and tags are both implemented in terms of an underlying "copy" operation. A copy takes up a small, constant amount of space.  BRANCH 1 Extremely fast branching and Tagging  „ before using Subversion we waited in some projects 15 min. until a branch was created.“
Branches Creating Branches branches   trunk Calc Root Paint my-calc   branch branches   trunk Easy to  Understand  Branching  is Cheap Can be deleted and reanimated
Subversion – Staging Staging can be managed via folder structures tags Project  1 Root trunk Development stage Releases for QA Final Releases Dev QA Rel
Subversion – Architecture The revision numbers 0  1  2  3 Each revision is a complete  configuration Not just file management  but management of changes
Subversion - Concepts Atomic Commits No part of a commit takes effect until the entire commit has succeeded. Revision numbers are per-commit, not per-file; log messages are attached to the revision, not stored redundantly as in CVS. No inconsistence in repository because large commits happened at the same time Files within a commit are grouped automatically so it is effident what files have been part of a change set without extra labels
Suberversion – Binary Files Efficient handling of binary files Subversion is equally efficient on binary as on text files, because it uses a binary diffing algorithm to transmit and store successive revisions. After Migration to Subversion a repository is usually between 30% smaller Update and commit operations on binaries are much faster with subversion.
Git  in details
What is Git? Git is an open source, distributed version control system designed for speed and efficiency
How it  works ?
JasForge  SVN  in details
SVN synchronization  Synchronization with SVN operations (checkin, ..) Page     Subversion SVN Connector
Full SCM support  with  Subversion SVN Managment using Access Right Page     Subversion Agent JNDI Manager Svnserve Svnserve.conf Stratégie d’auth passwd Users & pwd Authz Groupes & Accès
 
Thank you for your Attention Jasforge: A Jasmine Conseil concept http://www.jasmineconseil.com Need More information ? [email_address]

Part 4 - Managing your svn repository using jas forge

  • 1.
    Part 4 Managing your SVN repository using JasForge Project , March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
  • 2.
    OBJECTIVES  Managingyour SVN repository using JasForge Automated testing Build Tool SCM
  • 3.
    Presentation Plan 12 Introduction What is a SCM ? Page  3 SVN fundamentals 4 SVN and JasForge integration 5 Demo
  • 4.
    Software projects withmultiple developers need to coordinate and synchronize the source code Why use version control?
  • 5.
    Version Control RepositorySimply put, you must use a version control repository in order to perform CI Even if you don’t use CI, a version control repository should be standard for your project The purpose of a version control repository is to manage changes to source code and other software assets (such as documentation) using a controlled access repository There are different types of version control systems you can use too:
  • 6.
    Manage file sharing(Specifically: Prevent people from erasing each other’s modifications) Keep past versions of files/directories A list of exact changes made can be generated quickly and easily We use Subversion for most of the examples in this seminar Version Control Repository
  • 7.
    Svn indetails
  • 8.
    Subversion is aleading Open Source version control system, tracks the history of file and directory changes over time. SVNKit is a pure Java Subversion toolkit that implements all Subversion features and provides APIs to work with Subversion working copies, access and manipulate Subversion repositories. Subversion && SVNKit
  • 9.
    SVNKit features Repositoryaccess over http(s), svn, svn(+ssh) and file protocols Repository administration Does not require additional binaries Turns contents of a repository to a portable dump format stream
  • 10.
    Subversion Backing up data Configuration Management Documentation What can Subversion Do For You ? CR 12 Distributed Development
  • 11.
  • 12.
    Subversion – ArchitectureOverview Berkley DB FSFS Subversion Repository Client Interface Repository Interface GUI client apps Commandline client apps Client Library Working Copy Management Library Repository access DAV SVN Local Apache mod _ dav mod_dav_svn svnserve Internet (Any TCP/IP Network) Single Sign On LDAP High Secure SSL Office Integration WebDAV UNIX, LINUX WINDOWS Offline Support
  • 13.
    The Working Cyclesvn checkout svn update get content svn add svn move svn delete Make changes svn status -u See what was changed in the repository in the meantime svn update Update your local copy svn diff svn resolved Merge your changes Resolve conflicts svn commit Submit your changes 105 100 106 Subversion Repository
  • 14.
    Subversion – Branches,Tags Branching and tagging are cheap (constant time) operations Branches and tags are both implemented in terms of an underlying "copy" operation. A copy takes up a small, constant amount of space. BRANCH 1 Extremely fast branching and Tagging „ before using Subversion we waited in some projects 15 min. until a branch was created.“
  • 15.
    Branches Creating Branchesbranches trunk Calc Root Paint my-calc branch branches trunk Easy to Understand Branching is Cheap Can be deleted and reanimated
  • 16.
    Subversion – StagingStaging can be managed via folder structures tags Project 1 Root trunk Development stage Releases for QA Final Releases Dev QA Rel
  • 17.
    Subversion – ArchitectureThe revision numbers 0 1 2 3 Each revision is a complete configuration Not just file management but management of changes
  • 18.
    Subversion - ConceptsAtomic Commits No part of a commit takes effect until the entire commit has succeeded. Revision numbers are per-commit, not per-file; log messages are attached to the revision, not stored redundantly as in CVS. No inconsistence in repository because large commits happened at the same time Files within a commit are grouped automatically so it is effident what files have been part of a change set without extra labels
  • 19.
    Suberversion – BinaryFiles Efficient handling of binary files Subversion is equally efficient on binary as on text files, because it uses a binary diffing algorithm to transmit and store successive revisions. After Migration to Subversion a repository is usually between 30% smaller Update and commit operations on binaries are much faster with subversion.
  • 20.
    Git indetails
  • 21.
    What is Git?Git is an open source, distributed version control system designed for speed and efficiency
  • 22.
    How it works ?
  • 23.
    JasForge SVN in details
  • 24.
    SVN synchronization Synchronization with SVN operations (checkin, ..) Page  Subversion SVN Connector
  • 25.
    Full SCM support with Subversion SVN Managment using Access Right Page  Subversion Agent JNDI Manager Svnserve Svnserve.conf Stratégie d’auth passwd Users & pwd Authz Groupes & Accès
  • 26.
  • 27.
    Thank you foryour Attention Jasforge: A Jasmine Conseil concept http://www.jasmineconseil.com Need More information ? [email_address]