SlideShare une entreprise Scribd logo
1  sur  28
SVN
Qu'est-ce que SVN ?
• un VCS (Version Control System) : un logiciel de
contrôle de versions.
• écrit en C
• Développé par Apache Software Fondation
• Première version à été créée en 2000
• Dernière version été sortie en avril 2019
Caractéristiques de SVN
• SVN est un VCS centralisés :
caractérisés par un dépôt central privilégié géré par un
serveur
• Un système optimiste :
- autorise plus d’une personne à modifier un même fichier
en même temps.
- Fusionnent tout simplement les modifications
Un système utilisant Subversion est à diviser en deux parties
distinctes:
-le dépôt (ou repository):
Le dépôt est le côté serveur d'un système utilisant
Subversion, c'est "l'archive" dans laquelle seront envoyées
les modifications faites à l'arborescence.
- la copie locale:
Copie locale est une copie de l'état du dépôt à un moment
précis, située sur l'ordinateur d'un des utilisateurs.
$ svnadmin create PATH/depot
Créer un dépôt
Un dépôt est toujours appelé par son adresse sous forme
d'URL, cela peut être :
• file:///chemin/vers/le/dépôt
• https://server.web.com/dépôt
• svn://server.svn.com/dépôt
$ svn checkout PATH/depot localcopy
Checked out revision 0.
Créer la copie locale
On affiche après le contenu de localcopy:
En utilisant la commande : checkout ou co
$ ls localcopy
.
.
//tout le contenu de dépôt
.svn
$ svn update localcopy
A newfile.txt
Updated to revision 1.
Update
Cette commande apporte les modifications à partir du dépôt à
votre localcopy
commit
commit compare les modifications que vous avez faites sur
votre copie locale avec l'état du dépôt puis envoie le
différentiel
$ svn add localcopy/fichier2.txt
$ svn commit –m ‘Expliquez pourquoi vous modifiez le fichier’
A localcopy/fichier2.txt
Adding localcopy/fichier2.txt
Transmitting file data .
Commited resivion 2.
Move, copy, delete
$ svn move FICHIER DESTINATION
$ svn copy FICHIER DESTINATION
$ svn delete FICHIER
List
Pour afficher le contenu du dépôt sans créer une localcopy
$ svn list
Elle affiche les informations suivante:
• Numéro de la révision du dernier commit
• Nom du user du dernier commit
• Size
• Date et heure du dernier commit
Comment Travailler en
équipe?
svn
PC DEV 1
Projet
PC DEV 2
SVN
PC DEV 1
Fichier.java
PC DEV 2
Fichier.java
SVN
Fichier.java
1
1
1
PC DEV 1
Fichier.java
PC DEV 2
Fichier.java
SVN
Fichier.java
1
1
2
2
2
PC DEV 1
Fichier.java
PC DEV 2
Fichier.java
SVN
Fichier.java
1
1
2
2
2
3
3
ERREUR
PC DEV 1
Fichier.java
PC DEV 2
Fichier.java
SVN
Fichier.java
1
1
2
2
2
3
3
3
PC DEV 1
Fichier.java
PC DEV 2
Fichier.java
SVN
Fichier.java
1
1
2
2
2
3
3
ERREUR
Echo 'goodbye everybody';
Echo $_GET['username'];
Echo 'hello everybody';
Echo $_GET['username'];
Les conflits
SVN
• Les conflits SVN se produisent généralement lorsque
deux développeurs modifient le même fichier dans la
même ligne.
DEV 1
DEV 2
Les conflits
SVN
• Nous pouvons éditer les fichiers jusqu'à ce que
tous les conflits soient résolus, puis faire un
nouveau merge.
Commit
Commit
Failed
Merge
Merge failed
Resolution
manuelle des
problemes
Conflits
resolus
Résolution des problèmes
Commit
Test
Codage
Résolution des problèmes
Test
Update
Les meilleures pratiques
SVN
SVN vs GIT
svn
SVN vs GIT
Savez-vous GIT déjà?
• Logiciel de gestion de versions le plus populaire
• Ecrit par Linus Torvaldes en 2005
• Fonction principale:
le suivi des changements sur le code source durant le
développement d’une application
• Supporte le «branching»
SVN vs GIT
Quel est la différence alors?
différence majeure:
• Logiciel de gestion de versions le plus populaire
Répertoire
SVN
Copie travail 1
Copie travail 2
Copie travail 3
Répertoire
GIT
Répertoire
GIT
Répertoire
GIT
SVN vs GIT
Quel est la différence alors?
différence majeure:
Les VCS (Version Control System) centralisés :
• dépôt privilégié géré par un serveur.
• synchronisations des évolutions avec le dépôt central,
• le serveur détectant les conflits
Les VCS décentralisés :
• n’imposent pas techniquement de dépôt de référence.
• le développeur travaille avec son dépôt qu’il synchronise avec
ceux des autres et selon le modèle de développement, avec un
dépôt de référence.
SVN vs GIT
Quel est la différence alors?
Autre différences :
Git:
• Accès au Journal de modifications des données du dépôt
Accès aux copies de travails
• possibilité de travaillé sur les copies
• nécessaire que pour les synchronisations (push,pull…)
SVN:
• le journal de modifications n’est complet que sur le dépôt.
• il est nécessaire d’être connecté pour tout accès(enregistrer
des changements…),
SVN vs GIT
Quel est la différence alors?
Récaplitulatif:
SVN GIT
Versionning Centralisé Décentralisé
Dépot Un dépôt central dans
lequel les copies de
travail sont créées
Des copies de dépôt,
présentes localement,
dans lesquelles il est
possible de travailler
Droit d’accès Basé sur le chemin Pour le répertoire
complet
Suivu des modifications Enregistre des données Enregistre des données
Journal des modifications Complet seulement dans le
dépôt. Les copies de
travail ne contiennent
que la version la plus
récente.
Le dépôt et les copies de
travail contiennent
l’historique complet.
Connectivité au réseaux Pour tous les accès Nécessaire seulement pour
réaliser une
synchronisation

Contenu connexe

Tendances

09 01 configuration du serveur samba
09 01 configuration du serveur samba09 01 configuration du serveur samba
09 01 configuration du serveur sambaNoël
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Jérôme Petazzoni
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalitéZenika
 
service NFS sous linux
 service NFS sous linux service NFS sous linux
service NFS sous linuxSouhaib El
 
09 02 configuration du serveur nfs
09 02 configuration du serveur nfs09 02 configuration du serveur nfs
09 02 configuration du serveur nfsNoël
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et GaudiEmmanuel Quentin
 
Dhcp3
Dhcp3Dhcp3
Dhcp3TECOS
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVNneuros
 
Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016Julia Mateo
 
Virtualisation légère du réseau dans React OS
Virtualisation légère du réseau dans React OSVirtualisation légère du réseau dans React OS
Virtualisation légère du réseau dans React OSGeeks Anonymes
 
Retour d'XP de saltstack chez Cozy Cloud - web2day 15 juin 2016
Retour d'XP de saltstack chez Cozy Cloud - web2day 15 juin 2016Retour d'XP de saltstack chez Cozy Cloud - web2day 15 juin 2016
Retour d'XP de saltstack chez Cozy Cloud - web2day 15 juin 2016Nicolas Ledez
 

Tendances (20)

Samba 4
Samba 4Samba 4
Samba 4
 
09 01 configuration du serveur samba
09 01 configuration du serveur samba09 01 configuration du serveur samba
09 01 configuration du serveur samba
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
 
service NFS sous linux
 service NFS sous linux service NFS sous linux
service NFS sous linux
 
09 02 configuration du serveur nfs
09 02 configuration du serveur nfs09 02 configuration du serveur nfs
09 02 configuration du serveur nfs
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
 
Dhcp3
Dhcp3Dhcp3
Dhcp3
 
#7 Migration
#7 Migration#7 Migration
#7 Migration
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVN
 
Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016
 
Esxi
EsxiEsxi
Esxi
 
Intro docker
Intro dockerIntro docker
Intro docker
 
LVM "Linux "
LVM  "Linux "LVM  "Linux "
LVM "Linux "
 
kubernetes, pourquoi et comment
kubernetes, pourquoi et commentkubernetes, pourquoi et comment
kubernetes, pourquoi et comment
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
 
Virtualisation légère du réseau dans React OS
Virtualisation légère du réseau dans React OSVirtualisation légère du réseau dans React OS
Virtualisation légère du réseau dans React OS
 
Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
 
Load balancing
Load balancingLoad balancing
Load balancing
 
Retour d'XP de saltstack chez Cozy Cloud - web2day 15 juin 2016
Retour d'XP de saltstack chez Cozy Cloud - web2day 15 juin 2016Retour d'XP de saltstack chez Cozy Cloud - web2day 15 juin 2016
Retour d'XP de saltstack chez Cozy Cloud - web2day 15 juin 2016
 

Similaire à SVN

Subversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiquesSubversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiquesJérôme Vieilledent
 
Outils de gestions de versions
Outils de gestions de versionsOutils de gestions de versions
Outils de gestions de versionsAli Ben Messaoud
 
Présentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitPrésentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitIppon
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebChristophe Rochefolle
 
JCR Sudoc PS 2011 - Conserver la maîtrise de ses données : mise en place de t...
JCR Sudoc PS 2011 - Conserver la maîtrise de ses données : mise en place de t...JCR Sudoc PS 2011 - Conserver la maîtrise de ses données : mise en place de t...
JCR Sudoc PS 2011 - Conserver la maîtrise de ses données : mise en place de t...ABES
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienneSylvain Witmeyer
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsZenikaOuest
 
Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQ...
Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQ...Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQ...
Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQ...Microsoft Technet France
 
Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaCédric Leblond
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsFactoVia
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsAZUG FR
 
Versionning sémantique et Composer
Versionning sémantique et ComposerVersionning sémantique et Composer
Versionning sémantique et ComposerVladyslav Riabchenko
 
Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Olivier DASINI
 
Barre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et EclipseBarre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et EclipseYannick Pavard
 

Similaire à SVN (20)

Subversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiquesSubversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiques
 
Outils de gestions de versions
Outils de gestions de versionsOutils de gestions de versions
Outils de gestions de versions
 
Cvs
CvsCvs
Cvs
 
Présentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitPrésentation du retour d'expérience sur Git
Présentation du retour d'expérience sur Git
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web
 
JCR Sudoc PS 2011 - Conserver la maîtrise de ses données : mise en place de t...
JCR Sudoc PS 2011 - Conserver la maîtrise de ses données : mise en place de t...JCR Sudoc PS 2011 - Conserver la maîtrise de ses données : mise en place de t...
JCR Sudoc PS 2011 - Conserver la maîtrise de ses données : mise en place de t...
 
Devops - Git - VSTS
Devops - Git - VSTSDevops - Git - VSTS
Devops - Git - VSTS
 
VSTS Git
VSTS GitVSTS Git
VSTS Git
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienne
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 
Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQ...
Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQ...Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQ...
Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQ...
 
SVN to GitHUb
SVN to GitHUbSVN to GitHUb
SVN to GitHUb
 
Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds Java
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Versionning sémantique et Composer
Versionning sémantique et ComposerVersionning sémantique et Composer
Versionning sémantique et Composer
 
Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...
 
Git pratique
Git pratiqueGit pratique
Git pratique
 
Git pratique
Git pratiqueGit pratique
Git pratique
 
Barre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et EclipseBarre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et Eclipse
 

Dernier

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 

Dernier (8)

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 

SVN

  • 1. SVN
  • 2. Qu'est-ce que SVN ? • un VCS (Version Control System) : un logiciel de contrôle de versions. • écrit en C • Développé par Apache Software Fondation • Première version à été créée en 2000 • Dernière version été sortie en avril 2019
  • 3. Caractéristiques de SVN • SVN est un VCS centralisés : caractérisés par un dépôt central privilégié géré par un serveur • Un système optimiste : - autorise plus d’une personne à modifier un même fichier en même temps. - Fusionnent tout simplement les modifications
  • 4.
  • 5. Un système utilisant Subversion est à diviser en deux parties distinctes: -le dépôt (ou repository): Le dépôt est le côté serveur d'un système utilisant Subversion, c'est "l'archive" dans laquelle seront envoyées les modifications faites à l'arborescence. - la copie locale: Copie locale est une copie de l'état du dépôt à un moment précis, située sur l'ordinateur d'un des utilisateurs.
  • 6. $ svnadmin create PATH/depot Créer un dépôt Un dépôt est toujours appelé par son adresse sous forme d'URL, cela peut être : • file:///chemin/vers/le/dépôt • https://server.web.com/dépôt • svn://server.svn.com/dépôt
  • 7. $ svn checkout PATH/depot localcopy Checked out revision 0. Créer la copie locale On affiche après le contenu de localcopy: En utilisant la commande : checkout ou co $ ls localcopy . . //tout le contenu de dépôt .svn
  • 8. $ svn update localcopy A newfile.txt Updated to revision 1. Update Cette commande apporte les modifications à partir du dépôt à votre localcopy
  • 9. commit commit compare les modifications que vous avez faites sur votre copie locale avec l'état du dépôt puis envoie le différentiel $ svn add localcopy/fichier2.txt $ svn commit –m ‘Expliquez pourquoi vous modifiez le fichier’ A localcopy/fichier2.txt Adding localcopy/fichier2.txt Transmitting file data . Commited resivion 2.
  • 10. Move, copy, delete $ svn move FICHIER DESTINATION $ svn copy FICHIER DESTINATION $ svn delete FICHIER
  • 11. List Pour afficher le contenu du dépôt sans créer une localcopy $ svn list Elle affiche les informations suivante: • Numéro de la révision du dernier commit • Nom du user du dernier commit • Size • Date et heure du dernier commit
  • 13.
  • 14. PC DEV 1 Projet PC DEV 2 SVN
  • 15. PC DEV 1 Fichier.java PC DEV 2 Fichier.java SVN Fichier.java 1 1 1
  • 16. PC DEV 1 Fichier.java PC DEV 2 Fichier.java SVN Fichier.java 1 1 2 2 2
  • 17. PC DEV 1 Fichier.java PC DEV 2 Fichier.java SVN Fichier.java 1 1 2 2 2 3 3 ERREUR
  • 18. PC DEV 1 Fichier.java PC DEV 2 Fichier.java SVN Fichier.java 1 1 2 2 2 3 3 3
  • 19. PC DEV 1 Fichier.java PC DEV 2 Fichier.java SVN Fichier.java 1 1 2 2 2 3 3 ERREUR
  • 20. Echo 'goodbye everybody'; Echo $_GET['username']; Echo 'hello everybody'; Echo $_GET['username']; Les conflits SVN • Les conflits SVN se produisent généralement lorsque deux développeurs modifient le même fichier dans la même ligne. DEV 1 DEV 2
  • 21. Les conflits SVN • Nous pouvons éditer les fichiers jusqu'à ce que tous les conflits soient résolus, puis faire un nouveau merge. Commit Commit Failed Merge Merge failed Resolution manuelle des problemes Conflits resolus
  • 22. Résolution des problèmes Commit Test Codage Résolution des problèmes Test Update Les meilleures pratiques SVN
  • 24. SVN vs GIT Savez-vous GIT déjà? • Logiciel de gestion de versions le plus populaire • Ecrit par Linus Torvaldes en 2005 • Fonction principale: le suivi des changements sur le code source durant le développement d’une application • Supporte le «branching»
  • 25. SVN vs GIT Quel est la différence alors? différence majeure: • Logiciel de gestion de versions le plus populaire Répertoire SVN Copie travail 1 Copie travail 2 Copie travail 3 Répertoire GIT Répertoire GIT Répertoire GIT
  • 26. SVN vs GIT Quel est la différence alors? différence majeure: Les VCS (Version Control System) centralisés : • dépôt privilégié géré par un serveur. • synchronisations des évolutions avec le dépôt central, • le serveur détectant les conflits Les VCS décentralisés : • n’imposent pas techniquement de dépôt de référence. • le développeur travaille avec son dépôt qu’il synchronise avec ceux des autres et selon le modèle de développement, avec un dépôt de référence.
  • 27. SVN vs GIT Quel est la différence alors? Autre différences : Git: • Accès au Journal de modifications des données du dépôt Accès aux copies de travails • possibilité de travaillé sur les copies • nécessaire que pour les synchronisations (push,pull…) SVN: • le journal de modifications n’est complet que sur le dépôt. • il est nécessaire d’être connecté pour tout accès(enregistrer des changements…),
  • 28. SVN vs GIT Quel est la différence alors? Récaplitulatif: SVN GIT Versionning Centralisé Décentralisé Dépot Un dépôt central dans lequel les copies de travail sont créées Des copies de dépôt, présentes localement, dans lesquelles il est possible de travailler Droit d’accès Basé sur le chemin Pour le répertoire complet Suivu des modifications Enregistre des données Enregistre des données Journal des modifications Complet seulement dans le dépôt. Les copies de travail ne contiennent que la version la plus récente. Le dépôt et les copies de travail contiennent l’historique complet. Connectivité au réseaux Pour tous les accès Nécessaire seulement pour réaliser une synchronisation

Notes de l'éditeur

  1. SVN est un VCS (Version Control System) : un logiciel de contrôle de versions. écrit en C et Développé par Apache Software Fondation, Première version à été créée en 2000, et la Dernière version été sortie en avril 2019.   En langage clair, il s'agit d'un logiciel qui enregistre tous les états d'une arborescence au fil du temps (par arborescence, j'entends à la fois la structure des dossiers, mais également leur contenu).   C'est de là que vient le terme de "version" : le logiciel surveille les différentes versions d'un répertoire. SVN est principalement utilisé dans le cadre du développement de logiciels.   Car comme vous le savez, Le développement d'un logiciel est composé de multiples modifications de fichiers au fil du temps; SVN permet d'enregistrer tous ces changements pour, par exemple, pouvoir avoir une trace explicite et exhaustive de tous les changements faits au code source, ou pouvoir revenir au code tel qu'il était auparavant.
  2. SVN est un VCS (Version Control System) centralisés : il est caractérisé par un dépôt privilégié géré par un serveur. Chaque développeur travaille sur sa copie et synchronise ses évolutions avec le dépôt central, le serveur central est capable de détecter les conflits. Un système optimiste : Subversion autorise plus d’une personne à modifier un même fichier en même temps. Ce système suppose que les conflits de modifications sont rares. Si deux utilisateurs du dépôt modifient des parties non-communes d’un fichier, les outils optimistes fusionnent tout simplement les modifications. Inversement, dans le cas de modifications conflictuelles, le conflit doit être résolu manuellement. À l’opposé des systèmes optimistes, il existe le modèle de réservation de fichiers. Ce principe accorde l’exclusivité de modification à une unique personne. C’est la philosophie adoptée, par exemple, sous Microsoft Visual Source Safe.  
  3. Une fois Subversion installé et en état de marche, la première étape est de créer un dépôt, on va sur un terminal ou une invite de commande et tapez : Noter bien que svnadmin marche juste sur un chemin local mais pas les urls
  4. Lorsqu'un utilisateur lance une update de sa copie locale, Subversion va comparer cette dernière avec le contenu du dépôt et si celui-ci est à une révision supérieure que celle de la copie locale, SVN va télécharger le différentiel entre les deux Si par exemple un autre utilisateur ajoute ou supprime des fichiers dans le dépôt , votre localcopy n’aura pas ces fichiers par défaut , dans on doit a chaque fois lancer la commande update pour avoir les derniere modification .
  5. commit compare les modifications que vous avez faites sur votre copie locale avec l'état du dépôt, puis envoie le différentiel du changeset à celui-ci, créant par la même occasion une nouvelle révision. L’option –m pour expliquer les modification apporter
  6. Maintenant les fichiers sont dans une sorte de file d'attente où vont tous les fichiers "modifiés" en attendant le commit. Rappelez-vous qu'aucune modification n'est appliquée tant que le commit n'est pas lancé.
  7. GIT est le logiciel de gestion de versions le plus populaire, écrit par Linus Torvaldes en 2005. il a pour fonction principale le suivi des changements sur le code source durant le développement d’une application . il supporte le « branching » Ici vous allez me poser la question, mais c’est quoi la difference alors?
  8. Biensur il y a plusieurs différences,c’est pour cela qu’on a consacré toute une partie pour montrer la différence. D’abord la grosse différence entre Git et SVN tient essentiellement en un seul point : SVN fonctionne en mode centralisé et nécessite un serveur pour fonctionner, quand Git est décentralisé et considère chaque dépôt comme l’égal d’un autre. 
  9. Les VCS (Version Control System) centralisés : ils sont caractérisés par un dépôt privilégié géré par un serveur. Chaque développeur travaille sur une copie et synchronise ses évolutions avec le dépôt central, le serveur détectant les conflits. SVN fonctionne sur ce principe. Les VCS décentralisés : contrairement au VCS centralisé, il n’impose pas techniquement de dépôt de référence. Chaque développeur travaille avec son dépôt qu’il synchronise avec ceux des autres et selon le modèle de développement, avec un dépôt de référence. Git fonctionne de façon décentralisée.
  10. On peut accéder au Journal de modifications des données de git du dépôt et des copies de travails avec la possibilité d’en travaillé. En SVN, en revanche, le journal de modifications n’est complet que sur le dépôt. Connectivité au réseaux: en SVN, il est nécessaire d’être connecté pour tout accès(enregistrer des changements…), en GIT, nécessaire que pour les synchronisations (push,pull…)