source code management tools

23
Source Code Management Tools Cl´ ement Delafargue ´ Ecole Centrale de Nantes – EklaWeb March 4, 2010

Upload: divarvel

Post on 26-May-2015

366 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Source Code Management tools

Source Code ManagementTools

Clement Delafargue

Ecole Centrale de Nantes – EklaWeb

March 4, 2010

Page 2: Source Code Management tools

Your workflows

The MELOG TA - How did you manage to share your work ?

I Mail ?

I USB stick ?

Page 3: Source Code Management tools

Your workflows

How would have you done

I with a single file edited by everybody at the same time ?

I if you’d wanted to discard some changes ?

Page 4: Source Code Management tools

What a SCM system is

I A history of your files

I A way to share files within a team

Page 5: Source Code Management tools

What a SCM system is NOT

A replacement to communication

Page 6: Source Code Management tools

Source Code Management Tools

Basic notions

Centralized / Decentralized

How can SCM help you ?

Page 7: Source Code Management tools

Basic notions

Repository

I Contains the history

I Not directly usable

Page 8: Source Code Management tools

Basic notions

Working copy

I Files you can work on

I An image of the repository at a certain time

Page 9: Source Code Management tools

Basic notions

Commit

I The act of sending your local modifications to a repository

I Sould be atomic

Page 10: Source Code Management tools

Basic notions

Branch

I A Parallel version

Page 11: Source Code Management tools

Basic notions

Trunk

I The main branch

Page 12: Source Code Management tools

Basic notions

Conflict resolution

I When magic is not enough

Page 13: Source Code Management tools

Source Code Management Tools

Basic notions

Centralized / Decentralized

How can SCM help you ?

Page 14: Source Code Management tools

Centralized SCM

Centralized SCM is Centralized

I Only ONE (remote) repository

Page 15: Source Code Management tools

Introducing Subversion

Page 16: Source Code Management tools

Decentralized SCM

Everybody has his own repo

I Every one has his own branch

I Eventual consistency

I Network of trust

Page 17: Source Code Management tools

When centralized is not enough

Who wants to break the trunk ?

I Committing without sharing... yet

Page 18: Source Code Management tools

When centralized is not enough

Local repository is local

I Do almost anything... even if you’re offline

Page 19: Source Code Management tools

When centralized is not enough

Branching and merging is cheap

I If a task is to last for one day or more...

I make it a branch

Page 20: Source Code Management tools

Introducing Git

Page 21: Source Code Management tools

Source Code Management Tools

Basic notions

Centralized / Decentralized

How can SCM help you ?

Page 22: Source Code Management tools

How can SCM help you ?

Your workflows... evolved

Page 23: Source Code Management tools

Copyright notice – CC-By-SA 2.0

You are free

I to Share: to copy, distribute and transmit the work

I to Remix: to adapt the work

Under the following conditions

I Attribution: You must attribute the work in the mannerspecified by the author or licensor (but not in any way thatsuggests that they endorse you or your use of the work).

I Share Alike: If you alter, transform, or build upon this work,you may distribute the resulting work only under the same orsimilar license to this one.