Fr/FGAddon: Difference between revisions

Jump to navigation Jump to search
m
→‎Git-svn: Grammar fixes and editing throughout.
m (→‎Utilisation quotidienne: Grammar reversion.)
m (→‎Git-svn: Grammar fixes and editing throughout.)
Line 200: Line 200:
=== Git-svn ===
=== Git-svn ===


L'outil git-svn est utile pour ceux qui connaissent déjà comment utiliser les outils et les dépôts de git, ou ceux qui souhaitent avoir leur propre zone de développement d'aéronef privé.  Git-svn établi un lien entre le dépôt Subversion distant de FGAddon et un dépôt git local.  Pour ceux qui connaissent pas git, le lien de git-svn ainsi que le dépôt git est beaucoup plus compliqué à utiliser que les [[#Subversion|outils de Subversion indigènes]].  Pour plus d'informations sur l'utilisation de git, voir [[Howto:Start using git]].  Les commandes suivantes vont présumer qu'un seul aéronef sera stocké dans le dépôt git local.
L'outil git-svn est utile pour ceux qui connaissent déjà comment utiliser les outils et les dépôts de git, ou ceux qui souhaitent avoir leur propre zone de développement d'aéronef privé.  Git-svn établi un lien entre le dépôt Subversion distant de FGAddon et un dépôt git local.  Pour ceux qui connaissent pas git, le lien de git-svn ainsi que le dépôt local est beaucoup plus compliqué à utiliser que les [[#Subversion|outils de Subversion indigènes]].  Pour plus d'informations sur l'utilisation de git, voyez [[Howto:Start using git]].  Les commandes suivantes présumeraient qu'un seul aéronef sera stocké dans le dépôt git local.


==== Mettre en place ====
==== Mettre en place ====
Le système de gestion de versions git décentralisée doit d'abord être [https://git-scm.com/downloads installé].
Pour commencer, le système de gestion de versions git décentralisée doit être [https://git-scm.com/downloads installé].


==== Clonage d'un seul avion ====
==== Clonage d'un seul aéronef ====
La première étape est de cloner l'un des aéronefs dans le répertoire <code>trunk/</code> du dépôt Subversion distant:
La première étape est de cloner l'un des aéronefs du répertoire <code>trunk/</code> dans le dépôt Subversion distant:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git svn clone <url_aéronef>
git svn clone <url_aéronef>
</syntaxhighlight>
</syntaxhighlight>


Pour l'URL pertinentes, vous devriez choisir l'un des [[#Scénarios de développement|scénarios de développement]] et cherchez pour l'URL dans la section correspondante.  L'URL dépend si vous avez un [[#Accès commit|accès commit FGAddon]].  La commande clone va créer un dépôt git local contenant exclusivement l'aéronef d'intérêt et va initialiser le lien git-svn.
Pour l'adresse URL pertinente, vous devriez choisir l'un des [[#Scénarios de développement|scénarios de développement]] et trouver l'URL dans la section correspondante.  L'adresse URL dépend si vous avez un [[#Accès commit|accès commit FGAddon]].  La commande clone créera un dépôt git local contenant exclusivement l'aéronef d'intérêt et initialisera le lien git-svn.


==== Information et historique ====
==== Information et historique ====
Line 232: Line 232:
</syntaxhighlight>
</syntaxhighlight>


Cela va enregistrer le fichier ou le répertoire <code><chemin></code> avec le dépôt local pour permettre de faire un «commit» plus tard dans le dépôt git local.  Pour déplacer ou renommer un fichier ou répertoire, utilisez:
Cela enregistrera le fichier ou le répertoire <code><chemin></code> avec le dépôt local pour permettre de faire un «commit» plus tard dans le dépôt git local.  Pour déplacer ou renommer un fichier ou répertoire, utilisez:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git mv <chemin1> <chemin2>
git mv <chemin1> <chemin2>
</syntaxhighlight>
</syntaxhighlight>


Notez cependant que l'historique de git est moins robustes que l'historique de svn.  Voir la [[#Déplacement ou renommage de fichiers|section de déficience de git-svn en déplacement ou renommage de fichiers]] pour savoir comment mieux effectuer cette opération.  Pour supprimer un fichier du dépôt local, tapez:
Notez cependant que l'historique de git est moins robuste que l'historique de svn.  Consultez la [[#Déplacement ou renommage de fichiers|section de déficience de git-svn en déplacement ou renommage de fichiers]] pour savoir comment mieux effectuer cette opération.  Pour supprimer un fichier du dépôt local, tapez:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git rm <chemin>
git rm <chemin>
Line 248: Line 248:


==== Valider la transaction ====
==== Valider la transaction ====
Comme Git est un système de gestion de versions décentralisée, les modifications sont validés dans le dépôt local avec:
Comme Git est un système de gestion de versions décentralisé, les modifications sont validées dans le dépôt local avec:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git commit
git commit
</syntaxhighlight>
</syntaxhighlight>


Cela ouvrira un éditeur pour vous permettre d'écrire un message de commit informatif.  Le commit est locale et ne sera pas envoyé à FGAddon.
Cette commande ouvrira un éditeur pour vous permettre d'écrire un message de commit informatif.  Le commit est local et ne sera pas envoyé à FGAddon.


==== Branche dédié FGAddon ====
==== Branche dédié FGAddon ====


Dans les exemples ci-dessus, une seule branche dans le dépôt local a été supposé.  Si un interaction avec un dépôt git distant ou des branches dans le dépôt git local sont désirée, une stratégie différente est nécessaire.  La raison étant que la branche qui se synchronise avec FGAddon doit [https://git-scm.com/book/fr/v1/Git-et-les-autres-syst%C3%A8mes-Git-et-Subversion#git-svn maintenir un historique linéaire].  Cela signifie qu'il faut seulement faire un «cherry-pick» pour chaque modification souhaitée dans cette branche.
Dans les exemples ci-dessus, une seule branche dans le dépôt local a été supposée.  Si un interaction avec un dépôt git distant ou des branches dans le dépôt git local sont désiré, une stratégie différente est nécessaire.  La raison étant que la branche qui se synchronise avec FGAddon doit [https://git-scm.com/book/fr/v1/Git-et-les-autres-syst%C3%A8mes-Git-et-Subversion#git-svn maintenir une historique linéaire].  Cela signifie qu'il faut seulement faire un «cherry-pick» pour chaque modification souhaité dans cette branche.


Dans cet exemple, deux branches seront créés dans le dépôt git local:
Dans cet exemple, deux branches seront créées dans le dépôt git local:
* <code>fgaddon</code>:  Cette branche sera dédiée à la synchronisation FGAddon et permettra de préserver un historique linéaire.
* <code>fgaddon</code>:  Cette branche sera dédiée à la synchronisation FGAddon et permettra de préserver une historique linéaire.
* <code>master</code>:  Une branche master pour le développement d'aéronef, permettent des «merges» et autres opérations d'historique non-linéaires.
* <code>master</code>:  Une branche master pour le développement d'aéronef, permettant des «merges» et autres opérations d'historique non-linéaires.


En supposant un [[#Clonage d'un seul avion|dépôt nouvellement cloné]], créez le branche <code>fgaddon</code> avec:
En supposant un [[#Clonage d'un seul avion|dépôt nouvellement cloné]], créez la branche <code>fgaddon</code> avec:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git branch fgaddon
git branch fgaddon
</syntaxhighlight>
</syntaxhighlight>


Et allez à cette branche:
Et allez à cette branche en tapant:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git checkout fgaddon
git checkout fgaddon
</syntaxhighlight>
</syntaxhighlight>


La synchronisation avec FGAddon peut être effectuée sur cette branche.  Pour tirer les développements de la branche <code>master</code>, utilisez le «cherry-pick» pour tirer une liste de commits en ordre séquentiel:
La synchronisation avec FGAddon peut être effectuée sur cette branche.  Pour tirer les développements de la branche <code>master</code>, utilisez la commande «cherry-pick» pour tirer une liste de commits en ordre séquentiel:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git cherry-pick <commit hash 1>
git cherry-pick <hash_de_commit_1>
git cherry-pick <commit hash 2>
git cherry-pick <hash_de_commit_2>
git cherry-pick <commit hash 3>
git cherry-pick <hash_de_commit_3>
...
...
</syntaxhighlight>
</syntaxhighlight>


Pour voir la liste des commits prêt à être envoyé à FGAddon, avant de «dcommitting», tapez:
Pour voir la liste des commits prêt à être envoyée à FGAddon, avant de «dcommitting», tapez:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git log git-svn..HEAD
git log git-svn..HEAD
Line 297: Line 297:
</syntaxhighlight>
</syntaxhighlight>


Assurez-vous que le dépôt git-svn local est au courant avec toute modification qui sont arrivées dans FGAddon:
Assurez-vous que le dépôt git-svn local est au courant avec toutes les modification qui sont arrivées dans FGAddon:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git svn rebase
git svn rebase
</syntaxhighlight>
</syntaxhighlight>


Enfin poussez les changements à FGAddon avec:
Enfin, poussez les changements à FGAddon avec:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git svn dcommit
git svn dcommit

Navigation menu