6,609
edits
(→Déficiences de git-svn: Updated the introductory text to match the English page.) |
(→Déficiences de git-svn: Translated the new git-svn deficiency section "Protocols other than svn+ssh" by Circumn.) |
||
| Line 365: | Line 365: | ||
En interne, Subversion identifie les fichiers binaires en utilisant la propriété <code>svn:mime-type</code> du dépôt. Mais, comme git-svn ne peut pas ajouter cette propriété en utilisant la commande <code>git add</code>, le résultat est que les fichiers binaires seront traités comme des fichiers de texte. Des diffs binaires seront visibles en utilisant <code>svn diff</code> ou <code>git diff</code>, et un diff binaire sera envoyé a la [[#Liste de diffusion FGAddon commitlogs|liste de diffusion FGAaddon commitlogs]]. Comme ceci n'est pas uniquement un problème de git-svn, veuillez consulter la section de [[#Diffs binaires|diffs binaires]] pour éviter ce problème. | En interne, Subversion identifie les fichiers binaires en utilisant la propriété <code>svn:mime-type</code> du dépôt. Mais, comme git-svn ne peut pas ajouter cette propriété en utilisant la commande <code>git add</code>, le résultat est que les fichiers binaires seront traités comme des fichiers de texte. Des diffs binaires seront visibles en utilisant <code>svn diff</code> ou <code>git diff</code>, et un diff binaire sera envoyé a la [[#Liste de diffusion FGAddon commitlogs|liste de diffusion FGAaddon commitlogs]]. Comme ceci n'est pas uniquement un problème de git-svn, veuillez consulter la section de [[#Diffs binaires|diffs binaires]] pour éviter ce problème. | ||
==== Protocoles autre que svn+ssh ==== | |||
La commande <code>git svn init</code> reproduit l'histoire entière d'un aéronef dans le dépôt local. Cette procédure génère un commit ID git ou hash pour chaque révision de Subversion. Le problème est que le commit ID git est dépendant du protocole utiliser pour accéder le dépôt Subversion (sans doute un bug de git). Alors: | |||
{{#tag:syntaxhighlight| | |||
{{fgaddon source|cmd=git svn init|protocol=svn+ssh|login=<username>|type=svn|path=Aircraft/<aircraft>|full=1}} | |||
| lang = "sh" | |||
}} | |||
et | |||
{{#tag:syntaxhighlight| | |||
{{fgaddon source|cmd=git svn init|protocol=https|type=svn|path=Aircraft/<aircraft>|full=1}} | |||
| lang = "sh" | |||
}} | |||
créeraient deux dépôts git different et incompatible, pourtant qu'ils contiennent les mêmes données. Au début l'incompatibilité ne serait pas apparent, mais le problème reviendrait plus tard. En supposant que quelqu'un avec un accès FGAddon lecteurs seule utilise la méthode https, puis il demande a un gardien de FGAddon d'appliquer ces commits. Le gardien utiliserait svn+ssh, le seul protocole avec un accès écriture. Quand le gardien essait de faire un "merge" du dépôt https dans sa copie svn+ssh, git dirait que le deux dépôts n'ont aucune histoire en commun, et marquerait chaque commit en conflit. | |||
Alors si vous voulez amélioré un aéronef, il faut toujours utiliser svn+ssh, même si vous n'avez pas un accès FGAddon en écriture. svn+ssh n'a pas besoin de l'accès en écriture, mais seulement un enregistrement à SourceForge. | |||
== Concepts de développement FGAddon == | == Concepts de développement FGAddon == | ||