Part 4 - Managing your svn repository using jas forge


Published on

Managing your SVN repository using JasForge collaborative Project

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Part 4 - Managing your svn repository using jas forge

  1. 1. Part 4 Managing your SVN repository using JasForge Project , March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
  2. 2. OBJECTIVES <ul><li> Managing your SVN repository using JasForge </li></ul>Automated testing Build Tool SCM
  3. 3. Presentation Plan 1 2 Introduction What is a SCM ? Page  3 SVN fundamentals 4 SVN and JasForge integration 5 Demo
  4. 4. Software projects with multiple developers need to coordinate and synchronize the source code Why use version control?
  5. 5. Version Control Repository <ul><li>Simply put, you must use a version control repository in order to perform CI </li></ul><ul><li>Even if you don’t use CI, a version control repository should be standard for your project </li></ul><ul><li>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 </li></ul><ul><li>There are different types of version control systems you can use too: </li></ul>
  6. 6. <ul><li>Manage file sharing (Specifically: Prevent people from erasing each other’s modifications) </li></ul><ul><li>Keep past versions of files/directories </li></ul><ul><li>A list of exact changes made can be generated quickly and easily </li></ul><ul><li>We use Subversion for most of the examples in this seminar </li></ul>Version Control Repository
  7. 7. <ul><li>Svn in details </li></ul>
  8. 8. <ul><li>Subversion is a leading Open Source version control system, </li></ul><ul><li>tracks the history of file and directory changes over time. </li></ul><ul><li>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. </li></ul>Subversion && SVNKit
  9. 9. <ul><li>SVNKit features </li></ul><ul><li>Repository access over http(s), svn, svn(+ssh) and file protocols </li></ul><ul><li>Repository administration </li></ul><ul><li>Does not require additional binaries </li></ul><ul><li>Turns contents of a repository to a portable dump format stream </li></ul>
  10. 10. Subversion Backing up data Configuration Management Documentation What can Subversion Do For You ? CR 12 Distributed Development
  11. 11. Subversion – Principe
  12. 12. 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
  13. 13. 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
  14. 14. Subversion – Branches, Tags <ul><li>Branching and tagging are cheap (constant time) operations </li></ul><ul><ul><li>Branches and tags are both implemented in terms of an underlying &quot;copy&quot; operation. A copy takes up a small, constant amount of space. </li></ul></ul>BRANCH 1 Extremely fast branching and Tagging „ before using Subversion we waited in some projects 15 min. until a branch was created.“
  15. 15. Branches Creating Branches branches trunk Calc Root Paint my-calc branch branches trunk Easy to Understand Branching is Cheap Can be deleted and reanimated
  16. 16. Subversion – Staging <ul><li>Staging can be managed via folder structures </li></ul>tags Project 1 Root trunk Development stage Releases for QA Final Releases Dev QA Rel
  17. 17. Subversion – Architecture The revision numbers 0 1 2 3 Each revision is a complete configuration Not just file management but management of changes
  18. 18. Subversion - Concepts <ul><li>Atomic Commits </li></ul><ul><ul><li>No part of a commit takes effect until the entire commit has succeeded. </li></ul></ul><ul><ul><li>Revision numbers are per-commit, not per-file; log messages are attached to the revision, not stored redundantly as in CVS. </li></ul></ul><ul><ul><li>No inconsistence in repository because large commits happened at the same time </li></ul></ul><ul><ul><li>Files within a commit are grouped automatically so it is effident what files have been part of a change set without extra labels </li></ul></ul>
  19. 19. Suberversion – Binary Files <ul><li>Efficient handling of binary files </li></ul><ul><ul><li>Subversion is equally efficient on binary as on text files, because it uses a binary diffing algorithm to transmit and store successive revisions. </li></ul></ul><ul><ul><li>After Migration to Subversion a repository is usually between 30% smaller </li></ul></ul><ul><ul><li>Update and commit operations on binaries are much faster with subversion. </li></ul></ul>
  20. 20. <ul><li>Git in details </li></ul>
  21. 21. What is Git? <ul><li>Git is an open source, </li></ul><ul><li>distributed version control </li></ul><ul><li>system designed for speed and efficiency </li></ul>
  22. 22. How it works ?
  23. 23. <ul><li>JasForge SVN in details </li></ul>
  24. 24. SVN synchronization Synchronization with SVN operations (checkin, ..) Page  Subversion SVN Connector
  25. 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 for your Attention Jasforge: A Jasmine Conseil concept Need More information ? [email_address]