49
Un système de gestion des sources 1 Problèmes… 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é?

Problèmes…

  • Upload
    zoltin

  • View
    23

  • Download
    1

Embed Size (px)

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

Page 1: Problèmes…

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é?

Page 2: Problèmes…

Un système de gestion des sources 2

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

La solution…

Page 3: Problèmes…

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.

Page 4: Problèmes…

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.

Page 5: Problèmes…

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é

Page 6: Problèmes…

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é

Page 7: Problèmes…

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.

Page 8: Problèmes…

Un système de gestion des sources 8

SubversionSubversion

Utilise le paradigme Edit / Merge / Commit.

Gratuit. Support multi-plateformes. Utilisation plus complexe ?

Page 9: Problèmes…

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.

Page 10: Problèmes…

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

Page 11: Problèmes…

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

Page 12: Problèmes…

Un système de gestion des sources 12

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

Page 13: Problèmes…

Un système de gestion des sources 13

Créer un profilCréer un profil

Page 14: Problèmes…

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

Page 15: Problèmes…

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

Page 16: Problèmes…

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

Page 17: Problèmes…

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...

Page 18: Problèmes…

Un système de gestion des sources 18

Créer un projetCréer un projet

Chemin d’accès

au dossier

Page 19: Problèmes…

Un système de gestion des sources 19

Choisir le profilChoisir le profil

Page 20: Problèmes…

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

Page 21: Problèmes…

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

Page 22: Problèmes…

Un système de gestion des sources 22

Donner un nom au projetDonner un nom au projet

Page 23: Problèmes…

Un système de gestion des sources 23

ConfirmationConfirmation

Page 24: Problèmes…

Un système de gestion des sources 24

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

Page 25: Problèmes…

Un système de gestion des sources 25

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

Page 26: Problèmes…

Un système de gestion des sources 26

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

Page 27: Problèmes…

Un système de gestion des sources 27

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

Choisir le

profil

Page 28: Problèmes…

Un système de gestion des sources 28

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

Page 29: Problèmes…

Un système de gestion des sources 29

Choisir le dossier localChoisir le dossier local

Page 30: Problèmes…

Un système de gestion des sources 30

Choisir le nom du projet localChoisir le nom du projet local

Page 31: Problèmes…

Un système de gestion des sources 31

ConfirmationConfirmation

Page 32: Problèmes…

Un système de gestion des sources 32

Enregistrer une modificationEnregistrer une modificationMichel à la maison...

Page 33: Problèmes…

Un système de gestion des sources 33

Modifications de MichelModifications de Michel

Main.cpp:

CestDuGateau.h:

Page 34: Problèmes…

Un système de gestion des sources 34

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

État local

« commit »

Page 35: Problèmes…

Un système de gestion des sources 35

Confirmation et messageConfirmation et message

IMPORTANT!

Page 36: Problèmes…

Un système de gestion des sources 36

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

Page 37: Problèmes…

Un système de gestion des sources 37

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

Dossier

Page 38: Problèmes…

Un système de gestion des sources 38

Résolution de conflitsRésolution de conflits

Page 39: Problèmes…

Un système de gestion des sources 39

Modifications à CestDugateau.hModifications à CestDugateau.h

Louise Michel

Page 40: Problèmes…

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

Page 41: Problèmes…

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)

Page 42: Problèmes…

Un système de gestion des sources 42

Enregistrer les modificationsEnregistrer les modifications

Page 43: Problèmes…

Un système de gestion des sources 43

Des outils pratiquesDes outils pratiques

Page 44: Problèmes…

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:

Page 45: Problèmes…

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.

Page 46: Problèmes…

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

Page 47: Problèmes…

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

Page 48: Problèmes…

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.

Page 49: Problèmes…

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