dvcs mercurial - pyxis - eric de carufel

Post on 14-Apr-2017

665 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

La magie derrière les

Système de Contrôle de

Sources Distrubuées

(DVCS)

Une expérience avec Mercurial

• L’évolution des contrôleurs de source

• Contrôleurs de source actuels

• Contrôleurs de sources distribuées

• Les essentiels à savoir

– Avec demo

• Atelier pratique

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

3

Aucun

Contrôle Gestion des source par

backup

File base Batch file

Visual Source Safe

Centralisés Team Foundation Server

Subversion

CVS

Distribués GIT

Mercurial

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

4

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

5

Get

Check-out

Check-in

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

6

Pull

Push

Update

Commit

• Download TortoiseHg

– Environnement graphique intégré

– Facile d’utilisation

– Contient le mode ligne de commande

• Download VisualHg

– Intégration avec Visual Studio

– Donne le statut des fichiers

– Permet un accès aux commandes de Hg

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

7

• Création d’un repository

– Hg init

• La structure d’un repository

– Répertoire « .hg »

– Fichier « .hgignore »

– Fichier « .hgtags »

• Configuration

– Fichier « mercurial.ini »

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

8

• Création d’un repository à partir d’un autre

– Copie tous les fichiers du repository source

– Copie aussi tout l’historique!

• Différentes sources possibles

– File

– ssh

– http/https

• Hébergement gratuit sur Bitbucket.org

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

9

• Opération atomique pour ajouter les changements dans le repository local

• Uniquement le delta est conservé

• Changeset • # HG changeset patch

# User Eric De Carufel # Date 1350143940 14400 # Node ID 9777f801bcafa390c95c83a6e04f6b59797883a7 # Parent ce8fb4a3f4c03a8795f0d876658cc5d9357033c7 Fix page about diff -r ce8fb4a3f4c0 -r 9777f801bcaf AltNet/AltNet/Views/Home/About.cshtml --- a/AltNet/AltNet/Views/Home/About.cshtml Sat Oct 13 11:29:29 2012 -0400 +++ b/AltNet/AltNet/Views/Home/About.cshtml Sat Oct 13 11:59:00 2012 -0400 @@ -4,5 +4,5 @@ <h2>About</h2> <p> - Put content here. + Site Alt.NET </p>

• Création de branche

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

10

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

11

Main

Bug fix

Release

Dev.

Short feature

Long feature

V0.1 V0.2 V1.0 V1.1

Bug fix Bug fix Bug fix

Start V1.0

• Récupère les changements du repository

central vers le repository local

• ATTENTION: faire un commit avant pour ne

pas perdre de changements

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

12

• Applique les changements d’une autre

branche avec la nôtre

• Résolution de conflits

– Si les changements ne sont pas conflictuels,

Mercurial les fusionne automatiquement

– Sinon, il faut résoudre les conflits

• Se termine par un commit

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

13

• Change le point de référence actuel dans

l’historique

– Permet de naviguer d’un changeset à l’autre

– Permet de changer de branche

• Dans certains cas il est possible de faire un

update avec des changements non

commited

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

14

• Publication des changements dans le

repository central

• Le push se fait toujours sur le tip

• Mercurial protège le tip

• Une fois le push fait il n’est plus possible de

revenir en arrière sauf par un rollback

• Avant un push on peut toujours annuler

notre commit local

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

15

• Scénario

– On doit mettre en place un

environnement de travail partagé

• Étapes

– Création site initiale (master, devs)

– Maxime ajoute le Contact Us

– Eric ajoute le Wiki

– Merge

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

16

• Une patch est un changeset dans un fichier

• On peut créer une patch pour plusieurs

changeset mais il y aura un fichier de patch par changeset

• Une patch est utile pour passer une

modification d’une branche à l’autre sans

faire de merge complet

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

17

• Scénario

– Une modification a été faite sur une

autre branche et elle doit être aussi

appliqué sur la branche principale

• Étapes

– Eric -> branche Wiki

– Max -> Fix About, export patch

– Eric -> importe patch

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

18

• Génère un nouveau changeset qui contient

l’inverse des changesets à annuler

• Se termine par un commit

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

19

• Scénario – Parmi plusieurs changements il faut revenir

en arrière sur l’un d’eux mais ce n’est pas le dernier.

• Étapes – Maxime crée deux (deux commit)

modification dans la page Home

– Maxime push les modifications

– Eric pull les modifications

– Eric rollback la première modification

– Maxime pull le résulat final

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

20

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

21

• Installation de Mercurial

– TortoirseHg

– VisualHg (optionnel)

• mercurial.ini [auth]

bitbucket.prefix = bitbucket.org

bitbucket.username = decarufe

bitbucket.password = ******

bitbucket.schemes = http https

• Clone https://bitbucket.org/decarufe/mercurialdemo

La magie derrière les Système de Contrôle de Sources Distribuées (DVCS)

22

• Questions?

• Rappelez-vous – La valse à 4 temps : Commit – Pull – Merge – Push

– Avoir une bonne stratégie de branchage

– Ne pas avoir peur du mot “Distribué”

• Lien utiles – http://mercurial.selenic.com/

– http://tortoisehg.bitbucket.org/

– http://visualhg.codeplex.com/

– http://hginit.com/

• Eric De Carufel – eric@decarufel.net

– http://blog.decarufel.net

– http://pyxis-tech.com

23 La magie derrière les Système de Contrôle de Sources

Distribuées (DVCS)

top related