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