6,609
edits
m (→svn import: Missing translation.) |
(→Connexion d'un dépôt git existant à FGAddon: Translated the section.) |
||
| Line 660: | Line 660: | ||
=== Connexion d'un dépôt git existant à FGAddon === | === Connexion d'un dépôt git existant à FGAddon === | ||
{{Note|Scénario de développement: Vous êtes un développeur individuel ou d'un chef d'une équipe avec l'accès commit à FGAddon et vous souhaitez relier un dépôt git distant préexistante avec FGAddon pour envoyer toutes modifications à FGAddon.}} | |||
Si un dépôt git distant existe déjà et contient un aéronef développé, il est possible de le relier au dépôt FGAddon distant en utilisant les outils de git-svn. Les instructions suivantes utilisent la technique de la [[#Branche dédié FGAddon|branche dédiée FGAddon]]. En premier lieu, créez le lien à FGAddon en utilisant git-svn dans le dépôt de l'aéronef: | |||
<syntaxhighlight lang="bash"> | |||
git svn init svn+ssh://<identifiant>@svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/<aéronef> | |||
</syntaxhighlight> | |||
Où <code><aéronef></code> est le répertoire d'aéronef dans FGAddon. Viellez noter que cette étape peut être effectuée sans un accès commit pour FGAddon, en utilisant à la place un URL SVN en lecture seule, mais les modifications ne peut pas être repoussée à FGAddon. Néanmoins, cela permet que les modifications dans FGAddon distant soient intégrées dans le dépôt git distant, ce qui simplifie la préparation des modifications pour soumission pour l'inclusion dans FGAddon en utilisant des patchs envoyés à la liste de diffusion ou envoyés par d'autres façons. | |||
Maintenant, allez chercher l'état actuel du dépôt FGAddon distant: | |||
<syntaxhighlight lang="bash"> | |||
git svn fetch | |||
</syntaxhighlight> | |||
L'historique SVN est téléchargé dans la branche <code>remotes/git-svn</code>. Pour envoyer les modifications à FGAddon, vous avez besoin d'une branche locale qui permet de suivre cette branche distant. Créez une branche <code>fgaddon</code> local que vous allez utiliser pour envoyer les commits à FGAddon: | |||
<syntaxhighlight lang="bash"> | |||
git branch fgaddon remotes/git-svn | |||
</syntaxhighlight> | |||
Après avoir effectué les commits des nouvelles modifications dans la branche <code>master</code>, pour pousser à FGAddon, faites un checkout de la branche <code>fgaddon</code> et l'actualiser au cas où quelqu'un a touché l'aéronef dans le dépôt FGAddon distant: | |||
<syntaxhighlight lang="bash"> | |||
git checkout fgaddon | |||
git svn rebase | |||
</syntaxhighlight> | |||
Cherry-pick les nouveaux commits de <code>master</code> à <code>fgaddon</code> pour préserver une historique linéaire: | |||
<syntaxhighlight lang="bash"> | |||
git cherry-pick <hash_de_commit_1> | |||
git cherry-pick <hash_de_commit_2> | |||
git cherry-pick <hash_de_commit_3> | |||
... | |||
</syntaxhighlight> | |||
Pour visualiser les modifications en file d'attente pour l'envoi vers FGAddon, soit comme commits ou comme un diff, tapez: | |||
<syntaxhighlight lang="bash"> | |||
git log git-svn..HEAD | |||
git diff git-svn..HEAD | |||
</syntaxhighlight> | |||
Si tout semble correct, dcommit les commits locaux sur la branche <code>fgaddon</code> pour les envoyer vers le dépôt SVN FGAddon distant avec: | |||
<syntaxhighlight lang="bash"> | |||
git svn dcommit | |||
</syntaxhighlight> | |||
Revenez à la branche master de développement local: | |||
<syntaxhighlight lang="bash"> | |||
git checkout master | |||
</syntaxhighlight> | |||
Pour obtenir les modifications de «upstream», vous pouvez soit les télécharger avec | |||
<syntaxhighlight lang="bash"> | |||
git svn fetch | |||
</syntaxhighlight> | |||
ou les télécharger et effectuez un «rebase» de votre branche <code>fgaddon</code>: | |||
<syntaxhighlight lang="bash"> | |||
git checkout fgaddon | |||
git svn rebase | |||
</syntaxhighlight> | |||
=== Équipe de développement === | === Équipe de développement === | ||