Top Banner
Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0 Managing your SVN repository using JasForge Project | K. DJAAFAR 2011 EclipseConf2011 Part 4 Managing your SVN repository using JasForge Project , March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
24

Part 4 - Managing your svn repository using jas forge

May 13, 2015

Download

Technology

JASMINE CONSEIL

Managing your SVN repository using JasForge collaborative Project
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0Managing your SVN repository using JasForge Project | K. DJAAFAR 2011 EclipseConf2011

Part 4 Managing your SVN repository using JasForge Project

,

March 2011Santa Clara

Karim DJAAFAR

CO of Jasmine Conseil

Page 2: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

OBJECTIVESManaging your SVN repository using JasForge

Automated testing

Build Tool

SCM

Page 3: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

1

2

Introduction

What is a SCM ?

Presentation Plan

Page 3

3 SVN fundamentals

4 SVN and JasForge integration

5 Demo

Page 4: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

Software projects with multiple developers need to coordinate and synchronize the source code

Why use version control?

Page 5: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

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:

Page 6: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

• 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

Page 7: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

Svn in details

Page 8: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

• 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

Page 9: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

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

Page 10: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

SubversionSubversion

CR 12

Distributed

Development

Backing up data

Configuration

Management

Documentation

What can Subversion Do For You ?

Page 11: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

Subversion – Principe

Page 12: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.012

Subversion – Architecture Overview

Berkley DB

FSFS

SubversionRepository

Client

Interface

Repository

Interface

GUI client apps

Commandline

client apps

ClientLibrary

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, LINUXWINDOWS

Offline Support

Page 13: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.013

The Working Cycle

svn checkoutsvn update

get content

svn addsvn movesvn delete

Make changes

svn status -u

See what was changed in the repository in the meantime

svn update

Update your local copy

svn diffsvn resolved

Merge your changesResolve conflicts

svn commit

Submit your changes

10

5

10

0

10

6

Subversion

Repository

Page 14: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.014

Subversion – Branches, Tags

• Branching and tagging are cheap (constant time) operationsBranches 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 fastbranching and

Tagging

„before using Subversion we waited in some projects 15 min. until a branch was created.“

Page 15: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.015

branches

trunk

Calc

Root

Paint

my-calc branch

branches

trunk

Easy to Understand

Branching is Cheap

Can be deletedand reanimated

Branches Creating Branches

Page 16: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.016

Subversion – Staging

• Staging can be managed via folder structures

tags

Project 1

Root

trunk

Dev

QA

Rel

Development stage

Releases for QA

Final Releases

Page 17: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.017

Subversion – Architecture The revision numbers

0 1 2 3

Each revision isa complete

configuration

Not just file management but

management of changes

Page 18: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.018

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

Page 19: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.019

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.

Page 20: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

JasForge SVN in details

Page 21: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

SVN synchronization

SubversionSubversionSynchronization with SVN operations (checkin, ..)Synchronization with SVN operations (checkin, ..)

SVN ConnectorSVN Connector

Page 24

Page 22: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

Full SCM support with Subversion

SubversionSubversion

SVN Managment using Access RightSVN Managment using Access Right

AgentAgent

JNDIManager

JNDIManager

Svnserve

Svnserve.conf

Stratégie d’auth

passwd

Users & pwd

Authz

Groupes & Accès

Page 25

Page 23: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.0

Page 24: Part 4  - Managing your svn repository using jas forge

Managing your SVN repository using JasForge | © 2011 by K. DJAAFAR ; made available under the EPL v1.027

Jasforge: A Jasmine Conseil concept

http://www.jasmineconseil.com

Need More information ?

[email protected]

Thank you for your Attention