6,609
edits
m (→Git-svn: Grammar fixes and editing throughout.) |
m (→Déficiences de git-svn: Grammar fixes.) |
||
| Line 308: | Line 308: | ||
=== Déficiences de git-svn === | === Déficiences de git-svn === | ||
Il ya un certain nombre d'opérations dans lesquelles git-svn est | Il ya un certain nombre d'opérations dans lesquelles git-svn est déficients et que les outils de svn devraient être utilisés à la place. | ||
==== | ==== Copie de fichiers entre les aéronefs ==== | ||
Le plus important de ces opérations est de copier | Le plus important de ces opérations est de copier un part du contenu d'un aéronef de FGAddon à un autre. Dans ce cas, il faudra avoir accès commit à FGAddon et une copie du dépôt svn locale. En premier lieu, synchronisez les dépôts en poussant toutes modifications à FGAddon: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git svn dcommit | git svn dcommit | ||
| Line 322: | Line 322: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Et | Et validez la modification avec: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
svn ci | svn ci | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revenez | Revenez au dépôt git-svn local, et tirez les nouveaux fichiers: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git svn rebase | git svn rebase | ||
</syntaxhighlight> | </syntaxhighlight> | ||
En utilisant les outils subversion, cela évite que le backend du dépôt FGAddon n'accroît pas en taille car les [http://svnbook.red-bean.com/fr/1.5/svn.branchmerge.using.html#svn.branchmerge.using.create copies svn ne coûtent pas cher]. | En utilisant les outils subversion, cela évite que le backend du dépôt FGAddon n'accroît pas en taille, car les [http://svnbook.red-bean.com/fr/1.5/svn.branchmerge.using.html#svn.branchmerge.using.create copies svn ne coûtent pas cher]. | ||
==== Déplacement ou renommage de fichiers ==== | ==== Déplacement ou renommage de fichiers ==== | ||
Ce problème provient du fait que l'historique de svn est plus robuste que celle de git. Les commandes <code>svn mv</code> et <code>git mv</code> ne sont pas équivalentes. La commande de Subversion enregistre l'historique de déplacement directement dans le dépôt alors que git ne le fait pas (à la place git utilise des méthodes heuristiques pour tenter de détecter l'historique, après la validation). Le résultat de l'emploi de git-svn est que, souvent, le déplacement ne sera pas | Ce problème provient du fait que l'historique de svn est plus robuste que celle de git. Les commandes <code>svn mv</code> et <code>git mv</code> ne sont pas équivalentes. La commande de Subversion enregistre l'historique de déplacement directement dans le dépôt alors que git ne le fait pas (à la place, git utilise des méthodes heuristiques pour tenter de détecter l'historique, après la validation). Le résultat de l'emploi de git-svn est que, souvent, le déplacement ne sera pas détecté et l'historique de FGAddon montrera un fichier ou un répertoire étant supprimé et un autre ajouté. Également, le backend du dépôt FGAddon augmentera en taille, alors que <code>svn mv</code> ne causera pas une augmentation importante. Si vous souhaitez d'avoir un bilan historique correct dans le dépôt FGAddon et d'être attentif à la santé du backend du dépôt, il est conseillé de sautez temporairement aux outils Subversion. Dans le premier coup, synchronisez les dépôts: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git svn dcommit | git svn dcommit | ||
| Line 351: | Line 351: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Retournez dans le dépôt git-svn | Retournez dans le dépôt git-svn local, et tirez les modifications avec: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git svn rebase | git svn rebase | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Copie de fichiers | ==== Copie de fichiers dans un seul aéronef ==== | ||
Juste comme la commande <code>svn mv</code> enregistre les informations de déplacement directement dans le dépôt, la commande <code>svn cp</code> enregistre également les informations de la copie. Donc si vous souhaitez copier un fichier de texte et le modifier, en utilisant les outils natifs de Subversion au lieu de git-svn pour cette opération permet que l'historique du fichier soit | Juste comme la commande <code>svn mv</code> enregistre les informations de déplacement directement dans le dépôt, la commande <code>svn cp</code> enregistre également les informations de la copie. Donc, si vous souhaitez copier un fichier de texte et de le modifier, en utilisant les outils natifs de Subversion au lieu de git-svn pour cette opération permet que l'historique du fichier soit conservée en permanence dans le dépôt FGAddon. | ||
== Concepts de développement FGAddon == | == Concepts de développement FGAddon == | ||