7
votes

Quelles devraient être les propriétés de subversion pour un fichier * .xml?

Quelles sont les propriétés correctes / optimales pour attribuer aux fichiers * .xml à Subversion?

Je suis particulièrement intéressé par les propriétés SVN: MIME-Type et SVN: Besoin-verrouillage . .

Je pense qu'il y a deux réponses, mais je ne suis pas sûr de savoir lequel choisir. Le premier consiste à envisager des fichiers XML sous forme de fichiers texte, laissant la subversion gérer les fonts textuels. Pour cela, j'utiliserais svn: mime-type = text / xml et serait pas Utiliser svn: serrure de besoins . .

La seconde serait d'envisager des fichiers XML sous forme de fichiers binaires, empêchant la subversion d'effectuer des fantasmes automatiques et d'insister sur le comportement de verrouillage avant d'éditer. Pour cela, j'utiliserais svn: mime-type = application / xml et définirait svn: Besoin-verrouillage . .

Je pense qu'il est correct de traiter XML comme texte s'il s'agit du type de fichier XML édité directement dans un éditeur de texte, car l'utilisateur serait alors en mesure de résoudre les conflits de fusion éventuels à la main. Toutefois, les fichiers XML générés par l'outil ne peuvent pas être facilement modifiés à la main et ne doivent donc pas être automatiquement fusionnés par Subversion de peur que l'utilisateur soit mis dans une situation dans laquelle il doit résoudre un conflit dans un fichier (essentiellement) binaire.

Être conservateur, je traite des fichiers XML comme binaire. Mais je dois toujours avoir à expliquer cela aux développeurs qui préféreraient pouvoir modifier directement certains fichiers XML, sans avoir besoin d'obtenir des serrures précédemment.

J'aimerais savoir ce que les autres pensent à cela et s'il est vraiment dangereux des outils générés par des fichiers XML ou non.

Clarification postale:

Après avoir lu les trois premières réponses, j'ai réalisé que la question ci-dessus n'était pas assez claire.

Mon doute est quelles propriétés doivent être configurées pour *. XML dans la section [auto-access] section du fichier de configuration de subversion ( ~ /. Subversion / Config )?

Le problème est qu'il ne peut y avoir qu'une configuration. Donc, devrais-je être conservateur et traiter tous les fichiers XML comme binaire ou devrais-je plaire aux utilisateurs qui modifient leurs fichiers XML à la main et traitent tous les fichiers XML en tant que texte par défaut?


1 commentaires

Depuis que vous avez des réponses ci-dessous qui semblent répondre à votre question, veuillez envisager de marquer l'un d'entre eux comme "accepté" en cliquant sur les coques ci-dessous (voir Comment acceptez-vous une réponse? ). Cela montre quelle réponse vous a tout aidé et cela attribue des points de réputation à l'auteur de la réponse (et à vous!). Cela fait partie de L'idée de cet site d'identifier de bonnes questions et de bonnes réponses à travers des upvotes et l'acceptation des réponses .


3 Réponses :


3
votes

Si le XML est généré, vous devez vous demander pourquoi il est à Subversion en premier lieu. Je suis avec les développeurs sur celui-ci, mais une solution évidente si vous Doit que la version doit contrôler les fichiers générés consiste à leur donner des extensions autres que .xml.


1 commentaires

Bon point. Comme des exemples de "XML générés", ce qui a du sens à être versé, je pensais à des choses comme des fichiers FODT, DIA et XMI. Cependant, ceux-ci ont des extensions différentes et ne posent aucun problème. Je crains cependant que des outils produisent des fichiers XML avec l'extension .xml . Mais je ne sais vraiment pas ...



0
votes

Si le XML est lisible humain et bien compris, il n'y a aucun mal à le traiter comme un autre texte. Si c'est uniquement lisible par la machine ou non, vos développeurs ont une bonne compréhension, vous devez le traiter comme des données binaires; votre niveau de compréhension et votre capacité à manipuler manuellement ce sera le même.


0 commentaires

8
votes

Nous utilisons à la fois Text / XML et Application / XML dans notre référentiel Subversion. XML qui est édité à la main, lisible par l'homme et peut donc être utilement fusionné, nous traitons comme texte. Cela inclut des éléments tels que Maven Pom Files et Build.XML Fichiers, DocBook Files, XHTML Documents, etc.

svn:mime-type="application/xml"
svn:needs-lock="*"


1 commentaires

Bon point. J'ai édité ma question après avoir lu votre réponse. J'ai aimé le Charset = UTF-8 TIP aussi.