2010-06-10 1 views
5

Subversion définit la propriété svn:mime-type d'un fichier binaire par défaut sur application/octet-stream.Modifier le type mime par défaut de Subversion pour les fichiers binaires qui n'ont pas d'extension spécifique?

Je dois changer cette valeur par défaut à un autre type mime. Quand j'importe pour la première fois ce code, je voudrais que Subversion mette le type mime à celui que je choisis.

La raison en est que ma base de code contient du code en fichiers binaires (format propriétaire), et j'ai les applications nécessaires pour émuler diff et diff3 pour ceux-ci. Mais Subversion ne me laisse pas en raison de leur type mime par défaut.

Veuillez noter: Il n'y a pas d'extension par défaut (* .jar, * .py, etc.) pour ces fichiers de code. Certains fichiers n'ont même pas d'extension. La configuration du type mime par extension de fichier n'est donc pas possible..

Répondre

4

--- Edité après la réponse qu'il n'y a pas d'extension par défaut pour ces fichiers ---

S'il n'y a pas d'extension par défaut pour ces fichiers, vous pouvez utiliser la directive filon-couche [auto-props] dans le client, sous quelques conditions.

Si le fichier a un nom de fichier réservé connu (comme Makefile), alors vous pouvez mettre dans une directive qui correspond au nom de fichier entier, comme

Makefile = svn:mime-type=text/x-makefile 

Si vous avez seulement quelques noms de fichiers pour couvrir , vous pourriez juste ajouter dans les directives pour chacun des noms de fichiers désirés.

Le * ne se limite pas à la correspondance d'extension, les directives bagouts nom de fichier de correspondance, de sorte que vous pouvez aussi écrire une directive comme

Image* = svn:mime-type=image/png 

Enfin, si vos fichiers ne suivent pas un schéma de nommage qui peut être explicitement réservé à votre type mime, alors vous feriez mieux d'écrire un petit script pour étiqueter les fichiers et vous souvenir de l'exécuter de temps en temps. Notez que la modification des valeurs par défaut du client modifiera le comportement du client pour l'accès à tous les référentiels SVN. Il est donc préférable de ne choisir que des choix sensés qui s'appliqueraient probablement à tous les référentiels que vous envisagez d'utiliser.

--- Original post suit ---

Le svn: mime-type est une propriété. Pour les entrées existantes, vous pouvez le modifier avec svn propedit

Pour changer la valeur par défaut du type mime, du côté client, vous pouvez modifier le fichier svn config d'inclure une directive dans la section [auto-props] du fichier de configuration.

*.png = svn:mime-type=image/png 

ajouterait automatiquement un svn:mime-type de image/png à tout nouveau fichier créé qui a pris fin dans *.png

Je ne suis pas au courant d'aucune technique où cela peut être fait côté serveur, sauf si vous voulez écrire un script dans l'un des déclencheurs de pré-validation pour ajouter la propriété avant que la modification soit validée dans le référentiel.

+0

Il n'y a pas d'extension par défaut pour ce code.Certains fichiers n'ont même pas d'extension. La configuration de mime-type par extension de fichier n'est donc pas possible. J'ai besoin de changer le type mime par défaut pour les fichiers binaires à autre chose. – lamcro

Questions connexes