Problèmes…

Preview:

DESCRIPTION

Problèmes…. Vous tentez de fusionner des versions trop divergentes?. Vous avez oublié une partie des sources à la maison?. Vous êtes perdu dans vos multiples versions?. Vous avez oublié de faire un copie de sécurité?. Un Système de Gestion des Sources!. SGS. La solution…. - PowerPoint PPT Presentation

Citation preview

Un système de gestion des sources 1

Problèmes…Problèmes…Vous tentez de fusionner des versionstrop divergentes?

Vous avez oublié une partie des sources à la maison?

Vous êtes perdu dans vos multiples versions?

Vous avez oublié de faire un copie de sécurité?

Un système de gestion des sources 2

Un Système de Gestion des Un Système de Gestion des Sources!Sources!

La solution…

Un système de gestion des sources 3

Objectifs d’un SGSObjectifs d’un SGS1. Gérer les problèmes d’accès

concurrents aux sources. 2. Conserver une trace des

modifications.3. Récupérer facilement les sources

des versions précédentes. 4. Assurer l’itinérance du programmeur.5. Faciliter les copies de sauvegarde.

Un système de gestion des sources 4

Structure d’un SGSStructure d’un SGS

C’est un système client-serveur. Toutes les sources et leursversions sont conservées sur le serveur. Le client demande uneversion des sources et le droit d’en modifier une partie.

Un système de gestion des sources 5

Le paradigme Le paradigme Check-out / Edit / Check-inCheck-out / Edit / Check-in Récupérer la dernière version d’un fichier. Réserver le fichier en mode exclusif

(« checkout »). Modification locale du fichier (« Edit »). Sauvegarde des modifications (« check-in »).

+ Sécurité- Flexibilité

Un système de gestion des sources 6

Le paradigme Le paradigme Edit / Merge / CommitEdit / Merge / Commit Modification locale du fichier (« Edit »). Si le fichier a été modifié entre temps :

– Fusion des versions (« Merge »). Sauvegarde des modifications

(« Commit »).

+ Flexibilité - Sécurité

Un système de gestion des sources 7

Microsoft SourceSafeMicrosoft SourceSafe

Utilise le paradigme Check-out / Edit / Check-in.

$$$ ! Peu de support multi-plateformes. Simple d’utilisation.

Un système de gestion des sources 8

SubversionSubversion

Utilise le paradigme Edit / Merge / Commit.

Gratuit. Support multi-plateformes. Utilisation plus complexe ?

Un système de gestion des sources 9

Installation de SubversionInstallation de Subversion Serveurs:

– Site Web: http://subversion.apache.org/ – Version courante: 1.6.12.– Plateformes: Windows, Red Hat, Ubuntu, Fedora,

Debian, FreeBSD, openBSD, Solaris, Mac OS X, etc. Clients:

– SmartSVN (nécessite JRE 1.4.1). Site Web: www.syntevo.com/smartsvn. Version courante: 6.6.2. Plateformes: Windows, Mac OS X, Linux, Unix, OS/2.

– TortoiseSVN.– VisualSVN, Etc.

Un système de gestion des sources 10

Exemple pour la présentation: Exemple pour la présentation: C’est du gâteau!C’est du gâteau!

Inspiré du projet de Louise et Michel

Un système de gestion des sources 11

Effacer les dossiers et fichiers Effacer les dossiers et fichiers temporairestemporaires

Seuls les sources et les ressources doivent être déposés dans un SGS, pas les binaires!

Dossiers Bin, Obj, Debug, Release

Fichiers suo, user, ncb

Un système de gestion des sources 12

Se connecter au dépôtSe connecter au dépôtLouise au travail...Michel à la maison...

Un système de gestion des sources 13

Créer un profilCréer un profil

Un système de gestion des sources 14

Choisir le protocole, le serveur Choisir le protocole, le serveur et le dépôtet le dépôt

Protocole

ServeurDépôt

Un système de gestion des sources 15

Entrer le nom et le mot de Entrer le nom et le mot de passepasse

Nom d’usager SubversionMot de passe

Un système de gestion des sources 16

Entrer le nom du profilEntrer le nom du profil

Description du module

De façon optionnelle, on peut donner un nom local au profil

Un système de gestion des sources 17

Créer un projet à partir de Créer un projet à partir de sources localessources locales

Louise au travail...

Un système de gestion des sources 18

Créer un projetCréer un projet

Chemin d’accès

au dossier

Un système de gestion des sources 19

Choisir le profilChoisir le profil

Un système de gestion des sources 20

Créer un dossier dans le dépôtCréer un dossier dans le dépôt

Un système de gestion des sources 21

Structure recommandée des Structure recommandée des dossiers dans le dépôtdossiers dans le dépôt Projet 1

o Trunk : Version courante• Sources• Documentations

o Branches : Versions divergenteso Tags: Versions relâchées

Projet 2 Outils communs

Un système de gestion des sources 22

Donner un nom au projetDonner un nom au projet

Un système de gestion des sources 23

ConfirmationConfirmation

Un système de gestion des sources 24

Ajouter les fichiers au dépôtAjouter les fichiers au dépôt

Un système de gestion des sources 25

Enregistrer les changements Enregistrer les changements (« commit »)(« commit »)

Un système de gestion des sources 26

Récupérer un projet Récupérer un projet Michel à la maison...

Un système de gestion des sources 27

Récupérer un projet Récupérer un projet (« checkout »)(« checkout »)

Choisir le

profil

Un système de gestion des sources 28

Choisir le dossier du dépôtChoisir le dossier du dépôt

Un système de gestion des sources 29

Choisir le dossier localChoisir le dossier local

Un système de gestion des sources 30

Choisir le nom du projet localChoisir le nom du projet local

Un système de gestion des sources 31

ConfirmationConfirmation

Un système de gestion des sources 32

Enregistrer une modificationEnregistrer une modificationMichel à la maison...

Un système de gestion des sources 33

Modifications de MichelModifications de Michel

Main.cpp:

CestDuGateau.h:

Un système de gestion des sources 34

Modifications de Michel (suite)Modifications de Michel (suite)

État local

« commit »

Un système de gestion des sources 35

Confirmation et messageConfirmation et message

IMPORTANT!

Un système de gestion des sources 36

Récupérer la dernière versionRécupérer la dernière versionLouise au travail...

Un système de gestion des sources 37

Récupérer les modificationsRécupérer les modifications

Dossier

Un système de gestion des sources 38

Résolution de conflitsRésolution de conflits

Un système de gestion des sources 39

Modifications à CestDugateau.hModifications à CestDugateau.h

Louise Michel

Un système de gestion des sources 40

Résultat: Conflit !!!Résultat: Conflit !!!

Michel doit récupérer la dernière version du fichier CestDuGateau.h

Un système de gestion des sources 41

Utiliser l’outil de résolution de Utiliser l’outil de résolution de conflitsconflits Pour chaque conflit, il faut choisir entre le bloc

local (Michel) ou le bloc du dépôt (Louise)

BlocLocal

(Michel)Bloc

courant

BlocDu

Dépôt(Louise)

Un système de gestion des sources 42

Enregistrer les modificationsEnregistrer les modifications

Un système de gestion des sources 43

Des outils pratiquesDes outils pratiques

Un système de gestion des sources 44

Le journalLe journal

– la date et l’heure de la modification, – l’auteur de la modification, – le message associé, – le contenu du fichier, etc.

Pour chaque révision, on peut visualiser:

Un système de gestion des sources 45

La vue annotéeLa vue annotéePour chacune des lignes d’un fichier,

on peut visualiser:– la dernière révision qui a modifié cette

ligne,– l’auteur de la modification,– la date et l’heure de la modification.

Un système de gestion des sources 46

Les différencesLes différences

On peut visualiser les différences entre deux révisions ou entre la version locale et la version du dépôt

Un système de gestion des sources 47

La fenêtre des transactionsLa fenêtre des transactionsChacune des modifications apportées au dépôt sont

affichées dans la fenêtre des transactions.

Vues

Un système de gestion des sources 48

À ne pas oublier...À ne pas oublier...

Le SGS est indispensable à tout projet sérieux mais n’est pas la solution miracle à tous les problèmes!

Vérifier que le projet compile et fonctionne avant d’enregistrer les modifications.

Récupérer souvent les dernières modifications. Faire de petites modifications à la fois! Bien diviser le travail entre programmeurs pour

éviter les conflits.

Un système de gestion des sources 49

Informations utilesInformations utiles Nom du serveur: hercule.clg.qc.ca Noms des dépôts:

Noms d’usagers:

– Votre prénom en minuscule, pas de trait d’union ou d’espace, maximum 8 lettres.

Mot de passe : – Votre numéro d’admission, contactez-moi si vous voulez le modifier!

baseballblocchip3dckm3dguitarehuskies

ilsameligrillenaomieomegascolaideshambc

shambv

Recommended