Comment puis-je dire à Subversion (svn) de traiter un fichier comme un fichier binaire?Comment puis-je dire à Subversion de traiter un fichier comme un fichier binaire?
Répondre
Il est possible d'identifier manuellement un fichier situé dans un répertoire que binaire en utilisant:
svn propset svn:mime-type application/octet-stream <filename>
Ceci est généralement pas nécessaire, comme Subversion tentera de déterminer si un fichier est binaire lorsque le fichier est d'abord ajouté. Si Subversion étiquette incorrectement un certain type en tant que "texte" alors qu'il devrait être traité comme binaire, il est possible de configurer le auto-props feature de Subversion pour marquer automatiquement ce fichier avec un type MIME non textuel. Indépendamment des propriétés configurées sur le fichier, Subversion stocke toujours le fichier dans un format binaire dans le référentiel.
Si Subversion identifie le type MIME comme un type « texte », permettant à certaines fonctionnalités qui ne sont pas disponibles sur les fichiers binaires, tels que svn diff et svn blâmer. Il permet également la conversion automatique de fin de ligne, qui peut être configurée client par client.
Pour plus d'informations, consultez How does Subversion handle binary files?
Par exemple:
svn propset svn:mime-type image/png foo.png
Comme par le Subversion FAQ, vous pouvez utiliser svn propset pour changer le svn: mime type propriété à application/octet-stream
svn cherche une propriété de type mime, devinant que c'est du texte s'il n'existe pas. Vous pouvez explicity définir cette propriété, voir http://svnbook.red-bean.com/en/1.5/svn.forcvs.binary-and-trans.html
Fondamentalement, vous devez définir le type mime à flux l'octet:
svn propset svn:mime-type application/octet-stream <filename>
Il fait généralement par défaut pour vous, mais si ce ne vous besoin de regarder dans les propriétés du fichier et propset.
De la page 367 du Subversion book
Dans le sens le plus général, gère les fichiers binaires Subversion avec plus de grâce que CVS ne. Comme CVS utilise RCS, il ne peut stocker que des copies complètes successives d'un fichier binaire changeant. Subversion, cependant, exprime des différences entre les fichiers en utilisant un algorithme de différenciation binaire, , qu'ils contiennent des données textuelles ou binaires. Cela signifie que tous les fichiers sont stockés différemment (compressés) dans le référentiel.
Les utilisateurs CVS doivent marquer les fichiers binaires avec -kb flags pour éviter que les données ne soient brouillées (en raison de pour les extensions de mots-clés et les traductions de fin de ligne). Ils oublient parfois de faire cela.
Subversion prend la voie la plus paranoïaque. D'abord, il n'effectue aucune traduction de ligne ou de fin de ligne sauf si vous lui demandez explicitement de le faire (voir la section intitulée «Mot-clé Substitution» et la section intitulée «Séquences de caractères de fin de ligne» pour plus de détails) . Par défaut, Subversion traite toutes les données de fichier comme des chaînes d'octets littérales et les fichiers sont toujours stockés dans le référentiel dans un état non traduit. Deuxièmement, Subversion maintient une notion interne selon laquelle un fichier est un fichier "texte" ou "binaire", mais cette notion n'existe que dans la copie de travail. Lors d'une mise à jour svn, Subversion effectue des fusions contextuelles sur des fichiers texte modifiés localement, mais ne tente pas de le faire pour les fichiers binaires .
Pour déterminer si une fusion contextuelle est possible, Subversion examine la propriété svn: mime-type . Si le fichier n'a pas de propriété svn: mime-type ou si le type MIME est textuel (par exemple, text/*), Subversion considère qu'il s'agit d'un texte. Sinon, Subversion suppose que le fichier est binaire. Subversion aide également les utilisateurs en exécutant un algorithme de détection binaire dans les commandes svn import et svn add. Ces commandes feront un bon deviner puis (éventuellement) définir une propriété binaire svn: mime-type sur le fichier ajouté. (Si Subversion est erronée, l'utilisateur peut toujours supprimer ou modifier manuellement la propriété.)
édition des mains serait fait par
svn propset svn:mime-type some/type filename.extension
Comment procédez-vous lors de l'importation? C'est-à-dire, avant qu'il ne pénètre dans le dépôt? Le cas d'utilisation que j'ai est un fichier que svn n'importera pas parce qu'il pense que c'est un texte mal formé (fin de ligne incohérente). Mais c'est ** des données de test **, donc le fichier est ** destiné ** à avoir des fins de ligne incohérentes .... –
Si vous utilisez tortoisesvn dans Windows, faites un clic droit sur le fichier et accédez aux propriétés. Cliquez sur new et ajoutez une nouvelle propriété de type svn: mime-type. Pour la valeur put: application/octet-stream
Bien que Subversion essaie de automatically detect si un fichier est binaire ou non, vous pouvez remplacer le type mime en utilisant svn propset. Par exemple, svn propset svn:mime-type application/octet-stream example.txt
. Cela fera de votre fichier une collection d'octets plutôt qu'un fichier texte. Voir aussi le manuel svn au File Portability.
Juste pour mettre à jour votre lien pour l'algorithme de détection automatique: http://subversion.apache.org /faq.html#binary-files – oldNoakes
Si « svn add » devine le type incorrect et vous donne une erreur comme ce qui suit:
svn: E200009: File 'qt/examples/dialogs/configdialog/images/config.png' has inconsistent newlines
svn: E135000: Inconsistent line ending style
alors la solution consiste à ajouter le fichier sans propriétés et puis définissez les propriétés dans une deuxième étape:
svn add --no-auto-props qt/examples/dialogs/configdialog/images/config.png
svn propset svn:mime-type image/png qt/examples/dialogs/configdialog/images/config.png
- 1. Requête PowerShell: comment traiter un fichier
- 2. plugin eclipse - traiter un fichier d'extension non java comme un fichier java
- 3. Ajouter un fichier à subversion avec des caractères spéciaux comme '%' dans le nom de fichier
- 4. Comment puis-je traiter un fichier binaire d'enregistrements de longueur fixe sans saut de ligne?
- 5. Meilleur moyen de télécharger un fichier binaire?
- 6. Supprimer un fichier spécifique d'un référentiel Subversion?
- 7. Comment supprimer un fichier d'une version contrôlée sans supprimer le fichier dans subversion?
- 8. Compilation d'un fichier XML dans un fichier binaire
- 9. Recherche d'un bloc binaire dans un fichier
- 10. Subversion - Ajouter un fichier texte - Statut du fichier A (bin)
- 11. Comment puis-je créer un fichier binaire en Perl?
- 12. Puis-je forcer git diff à traiter un fichier comme une copie?
- 13. Décompresser un fichier binaire dans un fichier texte - Un problème qui retourne les valeurs
- 14. Taille du fichier binaire
- 15. Écrire un fichier PDF à partir d'un fichier binaire dans la base de données
- 16. VB - Comment lire et écrire un fichier binaire?
- 17. Meilleure façon de lire et de traiter un fichier texte
- 18. Ajouter un fichier à un fichier MSI
- 19. Comment puis-je dire à mxmlc de traiter les avertissements comme des erreurs?
- 20. C# - Rechercher un fichier binaire pour un motif
- 21. comment puis-je lire un fichier binaire en utilisant VBA?
- 22. fichier .dat binaire
- 23. comment prendre un fichier comme un objet dans un fichier en python
- 24. Écrire fichier binaire
- 25. Est-il possible de "coller" un fichier dans subversion?
- 26. Recherche d'une séquence d'octets dans un fichier binaire avec Java
- 27. bits de dumping/octets dans un fichier en mode binaire
- 28. DataGridView à partir du fichier binaire
- 29. Comment faire rechercher/remplacer dans un fichier « binaire » de la ligne de commande
- 30. Comment dire IE un fichier HTML sur mon disque n'est pas un risque de sécurité?
J'avais besoin de l'opposé; en utilisant 'text/plain' travaillé! – Hashbrown