2009-08-19 11 views
6

Quali sono le proprietà corrette/migliori da assegnare ai file * .xml in Subversion?Quali dovrebbero essere le proprietà di Subversion per un file * .xml?

Sono particolarmente interessato alle proprietà svn:mime-type e svn:needs-lock.

Penso che ci siano due risposte, ma non sono sicuro di quale scegliere. Il primo è considerare i file XML come file di testo, lasciando che Subversion gestisca le unioni di testo in essi. Per questo, vorrei utilizzare svn:mime-type=text/xml e sarebbe non utilizzare svn:needs-lock.

Il secondo sarebbe considerare i file XML come file binari, impedendo a Subversion di eseguire fusioni automatiche e insistendo sul comportamento lock-before-edit. Per questo, vorrei usare svn:mime-type=application/xml e impostare svn:needs-lock.

penso che sia ok per il trattamento di XML come testo se è il tipo di file XML che viene modificato direttamente in un editor di testo, perché l'utente sarebbe quindi in grado di risolvere eventuali conflitti di unione a mano. Tuttavia, i file XML generati dagli strumenti non possono essere modificati facilmente a mano e quindi non dovrebbero essere automaticamente uniti da Subversion per evitare che l'utente venga messo in una situazione in cui deve risolvere un conflitto in un file (essenzialmente) binario.

Essendo conservativo, sto trattando i file XML come binari. Ma devo sempre spiegarlo agli sviluppatori che preferirebbero piuttosto essere in grado di modificare direttamente alcuni file XML, senza bisogno di ottenere blocchi in precedenza.

Mi piacerebbe sapere cosa ne pensano gli altri e se esiste davvero un pericolo relativo agli strumenti generati da file XML o meno.

POST PRECISAZIONE:

Dopo aver letto le prime tre risposte ho capito che la domanda di cui sopra non era abbastanza chiaro.

Il mio dubbio è quali proprietà devono essere configurate per i file *.xml nella sezione [auto-props] del file di configurazione di Subversion (~/.subversion/config)?

Il problema è che può esserci una sola configurazione. Quindi, dovrei essere prudente e trattare tutti i file XML come binari o dovrei compiacere gli utenti che modificano i loro file XML a mano e trattare tutti i file XML come testo di default?

+0

Poiché alcune risposte di seguito sembrano rispondere alla tua domanda, considera di contrassegnare uno di questi come "Accettato" facendo clic sul segno di spunta sotto il loro conteggio dei voti (vedi [Come accetti una risposta?] (Http://meta.tex.stackexchange.com/q/1852)). Questo mostra quale risposta ti ha aiutato di più e assegna punti reputazione all'autore della risposta (ea te!). Fa parte dell'idea [di questo sito di identificare buone domande e risposte attraverso gli upvotes e l'accettazione delle risposte] (http://tex.stackexchange.com/about). –

risposta

3

Se l'XML viene generato, è necessario chiedersi perché è in Subversion in primo luogo. Sono con gli sviluppatori su questo, ma una soluzione ovvia se si deve controllare la versione dei file generati da deve fornire estensioni diverse da .xml.

+0

Buon punto. Come esempi di "XML generati" che hanno senso essere versionati, stavo pensando a cose come i file FODT, DIA e XMI. Tuttavia, questi hanno estensioni diverse e non presentano alcun problema. Tuttavia, temo che possano esserci alcuni strumenti che generano file XML con l'estensione '.xml'. Ma io davvero non ne so ... – Gnustavo

0

Se l'XML è leggibile e ben capito, non c'è nulla di male trattandolo come qualsiasi altro testo. Se è solo leggibile dalla macchina o non è qualcosa che gli sviluppatori hanno una buona comprensione, devi trattarla come dati binari; il tuo livello di comprensione e abilità nel manipolarlo manualmente sarà lo stesso.

7

Usiamo sia text/xml che application/xml nel nostro repository Subversion. XML che è modificato a mano, leggibile dall'uomo e quindi può essere utilmente unito e trattato come testo. Questo include cose come file Maven pon e file build.xml, DocBook file, documenti XHTML ecc

svn:eol-style=native 
svn:mime-type="text/xml; charset=utf-8" /* so apache sends the right encoding */ 

Per XML che è il formato di file complesso per qualche strumento, lo trattiamo come binario. Esempi di questo sono *.fodt (flat ODT), file OmniGraffle, XMI (modelli UML) e simili. Un utente non può ragionevolmente essere eposseato per unire un tale file, e infatti spesso le differenze per cambiamenti anche banali sono grandi e disordinate.

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

Questa distinzione ci è servita bene.

+0

Buon punto. Ho modificato la mia domanda dopo aver letto la tua risposta. Mi è piaciuto anche il suggerimento 'charset = utf-8'. – Gnustavo

Problemi correlati