File binari e traduzione In senso più generale, Subversion gestisce i file binari con più garbo di CVS fa. Perché CVS utilizza RCS, può memorizzare solo successive copie complete di un file binario che cambia. Subversion, tuttavia, le differenze tra i file utilizzando un algoritmo di differenziazione binario, indipendentemente dal fatto che contengono dati testuali o binari. Ciò significa che tutti i file sono memorizzati in modo differenziale (compressi) nel repository. gli utenti CVS devono marcare i file binari con bandiere - kb per evitare che i dati vengano incomprensibili (a causa dell'espansione parola chiave e traduzioni line-fine). A volte dimenticano di fare questo. Subversion prende la via più paranoico. In primo luogo, non è mai effettua alcun tipo di parola chiave o la traduzione di fine riga a meno che non si chiede esplicitamente di farlo (vedi la sezione chiamata chiave di sostituzione e la sezione chiamata end-of-line le sequenze di caratteri per maggiori dettagli). Per impostazione predefinita, Subversion tratta tutti i dati dei file come stringhe di byte letterali, ei file vengono sempre archiviati nel repository in uno stato non tradotto. In secondo luogo, Subversion mantiene una nozione interna di se un file è di testo o dati binari, ma questa nozione è esistente solo nella copia di lavoro. Durante un aggiornamento svn. Subversion si esibirà merge contestuali su file di testo modificati localmente, ma non tenterà di farlo per i file binari. Per determinare se una fusione contestuale sia possibile, Subversion esamina la proprietà svn: mime-type di proprietà. Se il file non ha svn: mime-type di proprietà, o ha un tipo MIME che è testuale (ad esempio testo), Subversion assume è di testo. In caso contrario, Subversion assume il file è binario. Subversion aiuta anche gli utenti eseguendo un algoritmo binario di rilevamento nell'importazione svn e svn aggiungere comandi. Questi comandi fare una buona congettura e poi (forse) impostare un svn binario: mime-type di proprietà sul file da aggiungere. (Se Subversion indovina sbagliato, l'utente può sempre togliere a mano o modificare la proprietà.) Stai leggendo Controllo di Versione con Subversion (per Subversion 1.7), da Ben Collins-Sussman, Brian W. Fitzpatrick, e C. Michael Pilato. Questo lavoro è sotto la licenza v2.0 licenza Creative Commons Attribution. Per leggere una copia della licenza visita il sito Creative Commons o inviare una lettera a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, Stati Uniti d'America. Per inviare commenti, correzioni o altri contributi al testo, si prega di visitare svnbook. For sfondo su mia domanda: svn diff solito un file che pensa è binario Un recente risposta di overflow dello stack (svn diff: file contrassegnato come tipo binario) ha mostrato che puoi forzare un tipo MIME: si noti che la risposta precedente è incompleta. si hanno anche per: Ora la mia nuova domanda è: posso impostare un valore predefinito, in modo che tutti i file vnd. google-earth. kmlxml futuri sono trattati come testo da svn Il Redbook appare in silenzio su questo argomento: svnbook. red-beanen1.2svn. advanced. props. html dicendo solo: Quali eccezioni sono queste eccezioni cotti nel codice svn, o accessibile la risposta dipende dal client svn che si sta utilizzando. Nel client ufficiale svn, l'opzione che si sta cercando è automatica Ambito. La versione TLDR è necessario aggiornare il vostro utente o di configurazione del sistema. impostare i enable-auto-props impostazione su Sì nella sezione miscellany, e creare una nuova sezione chiamata auto-props, che definisce i modelli che si desidera abbinare e le proprietà si sta cercando di impostare. Per il vostro esempio di file KML: Questo farà sì che quando si aggiunge un file. kml al repository, si avrà un tipo MIME di textplain e utilizzerà fine riga nativi per la piattaforma delle client. Properties Weve già trattati in dettaglio come Subversion memorizza e recupera varie versioni di file e directory nel suo repository. i capitoli sono stati dedicati a questo pezzo più fondamentale di funzionalità fornite dallo strumento. E se il supporto delle versioni fermato lì, Subversion sarebbe ancora completa dal punto di vista del controllo di versione. Ma non si ferma lì. Oltre alle versioni le directory e file, Subversion fornisce interfacce per aggiungere, modificare, e la rimozione dei metadati di versione su ciascun file e directory di versione. Ci riferiamo a questi metadati come proprietà. e possono essere pensati come tabelle a due colonne che mappa i nomi delle proprietà ai valori arbitrari collegati a ogni elemento nella copia di lavoro. In generale, i nomi ei valori delle proprietà possono essere quello che vuoi che siano, con il vincolo che i nomi devono contenere solo caratteri ASCII. E la parte migliore di queste proprietà è che anche loro, sono di versione, proprio come i contenuti testuali dei file. È possibile modificare, si impegnano, e annullare le modifiche di proprietà stessa facilità con cui è possibile presentare modifiche al contenuto. E l'invio e la ricezione di modifiche alle proprietà si verifica come parte del vostro tipico impegnare e di aggiornare operationsyou non ha a modificare i processi di base per accoglierli. Subversion ha riservato l'insieme delle proprietà cui nomi iniziano con svn: come propria. Mentre ci sono solo una manciata di tali proprietà in uso oggi, si dovrebbe evitare la creazione di proprietà personalizzate per le proprie esigenze cui nomi iniziano con questo prefisso. In caso contrario, si corre il rischio che una futura versione di Subversion crescerà il supporto per una funzione o un comportamento guidato da una proprietà con lo stesso nome, ma forse con una interpretazione completamente diversa. Proprietà appaiono altrove in Subversion, anche. Proprio come i file e le directory possono avere nomi di proprietà arbitrari e valori ad essi, ogni revisione nel suo complesso può avere proprietà arbitrarie che fanno riferimento ad esso. Gli stessi vincoli nomi leggibili applyhuman-e qualsiasi cosa-si-vogliono valori binari. La differenza principale è che le proprietà di revisione non sono di versione. In altre parole, se si modifica il valore di, o cancellare, una proprietà di revisione, non c'è nessun modo, nell'ambito delle funzionalità Sovvertimenti, di recuperare il valore precedente. Subversion non ha una politica particolare per quanto riguarda l'uso della proprietà. Si chiede solo che non si utilizzano nomi di proprietà che iniziano con il prefisso svn: come questo è lo spazio dei nomi che mette da parte per il proprio uso. E Subversion fa, infatti, utilizzare propertiesboth la varietà di versione e sotto controllo di versione. Alcune proprietà di versione hanno un significato speciale o effetti quando si trova su file e directory, o ospitano un particolare po 'di informazioni circa le revisioni su cui si trovano. Alcune proprietà di revisione vengono automaticamente collegati a revisioni di Sovvertimenti processo di commettere, e portano le informazioni relative alla revisione. La maggior parte di queste proprietà sono menzionati altrove in questo o in altri capitoli, come parte dei temi più generali a cui sono collegati. Per un elenco esaustivo di Sovvertimenti proprietà predefinite, consultare la sezione chiamata Subversion Proprietà nel capitolo 9, Subversion completa di riferimento. Mentre Subversion attribuisce automaticamente le proprietà (svn: Data svn:. Autore svn:.. Log e così via) per revisioni, esso non pretende da allora in poi l'esistenza di tali proprietà, e nemmeno si dovrebbe o gli strumenti utilizzati per interagire con il repository . proprietà di revisione possono essere eliminati a livello di codice o tramite il client (se consentito dai ganci repository) senza danneggiare Sovvertimenti capacità di funzionare. Così, quando la scrittura di script che operano sul tuo dati repository Subversion, non fare l'errore di credere che qualsiasi proprietà di revisione particolare esiste una revisione. In questa sezione, esamineremo il utilityboth per gli utenti di Subversion e per Subversion itselfof supporto proprietà. Youll conoscere i sottocomandi svn attinenti alla proprietà e come modifiche alle proprietà influenzano il flusso di lavoro di Subversion normale. Perché Proprietà Proprio come Subversion utilizza le proprietà per memorizzare le informazioni supplementari sui file, directory e revisioni che esso contenuti, si potrebbe anche trovare oggetti da essere di uso simile. Si potrebbe trovare utile avere un posto vicino ai dati di versione di appendere metadati personalizzati su tali dati. Diciamo che desidera per la progettazione di un sito web che ospita molte foto digitali e li visualizza con didascalie e un marcatore temporale. Ora, il set di foto è in continua evoluzione, così youd piace avere come gran parte di questo sito automatizzato possibile. Le foto possono essere piuttosto grandi, come avviene normalmente con siti di questa natura, si vuole fornire immagini in miniatura piccole per i visitatori del sito. Ora, è possibile ottenere questa funzionalità utilizzando i file tradizionali. Cioè, si può avere la image123.jpg e una squadra image123-thumbnail. jpg a fianco in una directory. Oppure, se si desidera mantenere il nome del file stesso, si potrebbe avere le miniature in una directory diversa, come ad esempio thumbnailsimage123.jpg. È anche possibile memorizzare le didascalie ei marcatori temporali in modo simile, magari separati dal file immagine originale. Ma il problema qui è che la vostra collezione di file moltiplica ad ogni nuova foto aggiunto al sito. Consideriamo ora lo stesso sito web schierato in un modo che fa uso di sovversioni proprietà del file. Immagina di avere un singolo file immagine, image123.jpg. con proprietà impostate su quel file che sono chiamato didascalia. il timbro della data. e anche delle miniature. Ora la directory di lavoro appare infatti molto più manageablein, sembra al browser casuale come se non ci sono altro che file di immagini in esso. Ma i vostri script di automazione conoscono meglio. Essi sanno che possono usare svn (o ancora meglio, possono usare il linguaggio Subversion bindingssee la sezione chiamata Utilizzando le API) per scavare le informazioni supplementari che il vostro sito ha bisogno di visualizzare senza dover leggere un file di indice o giocare percorso giochi di manipolazione . Mentre Subversion pone alcune restrizioni sui nomi e valori si utilizza per le proprietà, non è stato progettato per trasportare in modo ottimale i valori di proprietà di grandi dimensioni o grandi insiemi di proprietà su un determinato file o una directory. Subversion comunemente contiene tutti i nomi ei valori associati ad un singolo elemento in memoria, allo stesso tempo, che può causare operazioni prestazioni dannosi o non riuscite quando si usano molto grandi insiemi di proprietà immobiliari. Proprietà personalizzate di revisione sono anche spesso utilizzate. Un tale uso comune è una struttura il cui valore contiene un problema ID inseguitore a cui è associata la revisione, forse perché la modifica apportata nell'ambito di tale revisione corregge un bug depositata in questione inseguitore con tale ID. Altri usi includono appesi i nomi più amichevoli sul revisionit potrebbe essere difficile ricordare che la revisione 1935 era una revisione completamente testato. Ma se ci sono, per esempio, una proprietà test-risultati su quella revisione, con il valore di tutto passa. questo è informazioni significative di avere. E Subversion permette di fare facilmente questo tramite l'opzione --with-revprop del svn comando commit: Ricercabilità (o, perché no Beni) Per tutta la loro utilità, Subversion propertiesor, più precisamente, le interfacce disponibili per themhave una grave lacuna: mentre si tratta di una semplice questione di impostare una proprietà personalizzata, trovando che la proprietà poi è tutta una sfera diversa di cera. Cercando di individuare una proprietà di revisione personalizzata in genere comporta l'esecuzione di una passeggiata lineare attraverso tutte le revisioni del repository, chiedendo di ogni revisione, Avete la proprietà Im che cerca Utilizzare il --with-all-revprops opzione con il svn log comandi XML modalità di uscita per facilitare questa ricerca. Si noti la presenza dei testresults proprietà di revisione personalizzato nel seguente output: Cercando di trovare una proprietà di versione personalizzata è doloroso, troppo, e spesso comporta un propget svn ricorsiva in un intero copia di lavoro. Nella tua situazione, che potrebbe non essere così male come una passeggiata lineare di tutte le revisioni. Ma lascia certamente molto a desiderare in termini di prestazioni e probabilità di successo, soprattutto se l'ambito della ricerca richiederebbe una copia di lavoro dalla radice del repository. Per questo motivo, si potrebbe chooseespecially nella revisione alcune stanze Caseto è sufficiente aggiungere i metadati alle revisioni log dei messaggi utilizzando alcuni formattazione policy-driven (e forse a livello di codice forzata) che è stato progettato per essere rapidamente analizzato dall'uscita del svn log. E 'abbastanza comune vedere quanto segue in messaggi di log Subversion: Ma qui si trova ancora qualche disgrazia. Subversion doesnt ancora fornire un meccanismo di template messaggio di registro, che sarebbe andare un lungo cammino verso aiutare gli utenti ad essere coerenti con la formattazione del loro metadati revisione log-embedded. Manipolazione Proprietà Il programma svn permette un paio di modi per aggiungere o modificare le proprietà di file e directory. Per le proprietà con valori leggibili brevi, forse il modo più semplice per aggiungere una nuova proprietà è specificare il nome della proprietà e il valore nella riga di comando del sottocomando svn propset: Ma weve touting la flessibilità che Subversion offre per i vostri valori delle proprietà . E se avete intenzione di avere un testo multilinea, o anche binario, il valore della proprietà, probabilmente non si vuole fornire tale valore nella riga di comando. Così il sottocomando svn propset prende un --file opzione (-F) per specificare il nome di un file che contiene il nuovo valore della proprietà. Ci sono alcune restrizioni sui nomi che è possibile utilizzare per le proprietà. (.) A nome della proprietà deve iniziare con una lettera, due punti, o un carattere di sottolineatura () dopo che, è anche possibile utilizzare cifre, trattini (-) e punti (.). 13 Oltre al comando propset, il programma svn fornisce il comando propedit. Questo comando utilizza il programma di editor di configurazione (si veda la sezione di configurazione) per aggiungere o modificare le proprietà. Quando si esegue il comando, svn invoca il programma di editor di su un file temporaneo che contiene il valore corrente della proprietà (o che è vuota, se si sta aggiungendo una nuova proprietà). Quindi, basta modificare il valore nel programma di editor di fino a che non rappresenta il nuovo valore che si desidera memorizzare per la proprietà, salvare il file temporaneo, e quindi uscire dal programma di editor. Se Subversion rileva che youve effettivamente cambiato il valore attuale della proprietà, la volontà di accettare che il nuovo valore della proprietà. Se si esce il vostro editor senza apportare alcuna modifica, si verificherà nessuna modifica proprietà: Dobbiamo notare che, come con altri sottocomandi svn, quelle relative alla proprietà possono agire su più percorsi in una sola volta. Ciò consente di modificare le proprietà di un intero insieme di file con un unico comando. Per esempio, abbiamo potuto fare la seguente: Tutto di questa proprietà aggiunta e la modifica non è realmente molto utile se non puoi facilmente ottenere il valore della proprietà memorizzato. Così il programma svn fornisce due sottocomandi per visualizzare i nomi ei valori delle proprietà memorizzati su file e directory. Il comando svn proplist elencherà i nomi delle proprietà che esistono in un percorso. Una volta che si conoscono i nomi delle proprietà sul nodo, è possibile chiedere i singoli valori usando svn propget. Questo comando, dato un nome di proprietà e un percorso (o un insieme di percorsi), stampare il valore della proprietà nel flusso di output standard. C'è anche una variazione del comando proplist che elenca sia il nome e il valore per tutte le proprietà. È sufficiente fornire il (-v) l'opzione --verbose. L'ultimo sottocomando proprietà correlate è propdel. Dal momento che Subversion permette di memorizzare le proprietà con valori vuoti, non puoi rimuovere una proprietà del tutto utilizzando propedit svn o svn propset. Ad esempio, questo comando non produrrà l'effetto desiderato: È necessario utilizzare il sottocomando propdel per eliminare le proprietà del tutto. La sintassi è simile agli altri comandi di proprietà: Ricordati di queste proprietà non revisionate È possibile modificare tali, anche, utilizzando gli stessi sottocomandi svn che abbiamo appena descritto. È sufficiente aggiungere il parametro della riga di comando --revprop e specificare la revisione la cui proprietà si desidera modificare. Dal momento che le revisioni sono globali, non avete bisogno di specificare un percorso target per questi comandi di proprietà legate fino a quando ci si trova in una copia di lavoro del repository la cui proprietà di revisione che si desidera modificare. In caso contrario, si può semplicemente fornire l'URL di qualsiasi percorso nel repository di interesse (tra cui l'URL principale repositorys). Ad esempio, si potrebbe voler sostituire il messaggio di commit log di una revisione esistente. 14 Se la directory di lavoro corrente è parte di una copia di lavoro del repository, si può semplicemente eseguire il comando svn propset senza percorso di destinazione: Ma anche se si havent estratto un copia di lavoro da quel repository, è ancora possibile effettuare il cambio di proprietà fornendo l'URL principale repositorys: si noti che la possibilità di modificare queste proprietà non revisionate deve essere esplicitamente aggiunta dall'amministratore repository (si veda la sezione Commit correzione Messaggio di log). Ecco perché le proprietà arent di versione, per cui si corre il rischio di perdere le informazioni se arent attenti con le modifiche. L'amministratore del repository può impostare i metodi per proteggere contro queste perdite, e di default, la modifica delle proprietà non revisionate è disabilitata. Gli utenti dovrebbero, ove possibile, l'uso svn propedit invece di svn propset. Mentre il risultato finale dei comandi è identica, l'ex permetterà loro di vedere il valore corrente della proprietà che stanno per cambiare, che li aiuta a verificare che essi sono, infatti, fare il cambiamento che pensano che stanno facendo . Questo è particolarmente vero quando si modificano le proprietà non revisionate. Inoltre, è molto più facile da modificare i valori delle proprietà multilinea in un editor di testo rispetto alla riga di comando. Proprietà e il flusso di lavoro di Subversion Ora che si ha familiarità con tutti i sottocomandi svn attinenti alla proprietà, permette di vedere come le modifiche di proprietà influenzano il normale flusso di lavoro di Subversion. Come abbiamo accennato in precedenza, le proprietà di file e directory sono di versione, proprio come il contenuto del file. Come risultato, Subversion fornisce le stesse opportunità di mergingcleanly o con qualcun'altro conflictssomeone modifiche nel proprio. Come con i contenuti dei file, i cambiamenti di proprietà sono modifiche locali, rese permanenti solo quando li si impegnano al repository svn con commit. Le modifiche di proprietà possono anche essere facilmente cancellate, Toothe comando svn revert ripristinerà i file e le directory ai loro statescontents inediti, proprietà e tutti. Inoltre, è possibile ricevere informazioni interessanti sullo stato delle vostre proprietà di file e directory utilizzando i comandi svn status e svn diff. Si noti come i display di stato sottocomando M nella seconda colonna invece del primo. Questo perché abbiamo modificato le proprietà calcbutton. c. ma non il suo contenuto testuale. Se avessimo cambiato sia, avremmo visto M nella prima colonna, troppo. (Copriamo svn stato nella sezione chiamata Vedere una panoramica delle modifiche). Come con i contenuti dei file, le modifiche di proprietà locali possono entrare in conflitto con i cambiamenti registrati da qualcun altro. Se si aggiorna la directory di copia di lavoro e ricevere le modifiche alle proprietà di un oggetto di versione che si scontrano con le proprie, Subversion riporterà che l'oggetto è in uno stato di conflitto. Subversion creerà anche, nella stessa directory in cui l'oggetto in conflitto, un file con estensione. prej che contiene i dettagli del conflitto. Si dovrebbe esaminare il contenuto di questo file in modo da poter decidere come risolvere il conflitto. Fino a quando il conflitto è risolto, si vedrà un C nella seconda colonna del comando svn status per quell'oggetto, e tenta di commettere le modifiche locali non riuscirà. Per risolvere i conflitti di proprietà, semplicemente assicurarsi che le proprietà in conflitto contengano i valori che dovrebbero, e quindi utilizzare la determinazione svn comando --acceptworking per avvisare Subversion che è stato risolto il problema manualmente. Si potrebbe anche aver notato il modo non standard che Subversion mostra le differenze di proprietà. È comunque possibile utilizzare svn diff e reindirizzare la sua uscita per creare un file di patch utilizzabile. Il programma patch ignorerà proprietà patchesas una regola, ignora qualsiasi rumore che riesco a capire. Ciò, purtroppo, significa che per applicare pienamente una patch generata dal diff svn utilizzando patch. eventuali modifiche di proprietà dovranno essere applicate a mano. Subversion 1.7 migliora questa situazione in due modi. In primo luogo, il suo display non standard delle differenze di proprietà è il miglioramento di almeno macchina readablean sopra la visualizzazione delle proprietà nelle versioni precedenti alla 1.7. Ma Subversion 1.7 introduce anche il sottocomando cerotto svn, progettato specificamente per gestire le informazioni complementari che svn diff di uscita s può trasportare, l'applicazione di tali modifiche alla copia di lavoro di Subversion. Di rilevanza specifica al nostro tema, le differenze di proprietà presenti nei file di patch generati da svn diff in Subversion 1.7 o meglio possono essere applicate automaticamente a una copia di lavoro da parte del comando patch svn. Per maggiori informazioni su di patch svn. vedi cerotto svn nel Capitolo 9, Subversion riferimento completo. Theres unica eccezione a come i cambiamenti di proprietà sono riportati da svn diff. modifiche al Sovvertimenti svn speciale: mergeinfo propertyused per tenere traccia delle informazioni relative unioni che sono state eseguite in repositoryare descritto in modo più leggibile. Questo è molto utile per gli esseri umani che devono leggere quelle descrizioni. Ma serve anche a causare programmi (incluso il cerotto SVN) patch per saltare queste descrizioni cambiano come rumore. Questo potrebbe sembrare come un insetto, ma in realtà isnt perché questa proprietà è destinata ad essere gestita unicamente dal sottocomando svn merge. Per informazioni sul monitoraggio unione, vedere il Capitolo 4, ramificazione e la fusione. Immobili in automatico di impostazione sono una potente funzionalità di Subversion, in qualità di componenti chiave di molte caratteristiche di Subversion discusse altrove in questo e altri diff chapterstextual e si fondono il supporto, la sostituzione di parole chiave, traduzione ritorno a capo, e così via. Ma per ottenere il beneficio completo di proprietà, devono essere impostati sui file e le directory di destra. Purtroppo, questo passo può essere facilmente dimenticata nella routine delle cose, soprattutto perché non riuscendo a impostare una proprietà pretende di solito comporta un evidente errore (almeno rispetto a, diciamo, non riuscendo a aggiungere un file al controllo di versione). Per aiutare le proprietà applicate ai luoghi che ne hanno bisogno, Subversion fornisce un paio di caratteristiche semplici ma utili. Ogni volta che si introduce un file al controllo di versione utilizzando i comandi di importazione svn add o svn, Subversion cerca di aiutare impostando automaticamente alcune proprietà di file comuni. In primo luogo, sui sistemi operativi i cui file system supportano un po permesso di esecuzione, Subversion imposta automaticamente la proprietà svn: eseguibile proprietà su file aggiunti o importati i cui bit di esecuzione è abilitata. (Si veda la sezione Executability file più avanti in questo capitolo per più su questa proprietà.) In secondo luogo, Subversion cerca di determinare i file di tipo MIME. Se youve configurato un parametro di configurazione MIME-types-files runtime, Subversion cercherà di trovare una mappatura tipo MIME in quel file per l'estensione dei file. Se trova una tale mappatura, che fisserà i file svn: mime-type di proprietà per il tipo MIME ha trovato. Se nessun file di mapping è configurato, o nessun mapping per l'estensione dei file potrebbe essere trovato, Subversion ricadere algoritmi euristici per determinare il tipo di file MIME. A seconda di come è costruito, Subversion 1.7 può fare uso di file di librerie di scansione 15 per rilevare un tipo di file in base al suo contenuto. In mancanza di tutto il resto, Subversion impiegherà il proprio euristica molto di base per determinare se il file contiene contenuti non testuale. Se è così, si imposta automaticamente la proprietà svn: mime-type su quel file a applicationoctet-stream (il generico questo è un insieme di bytes tipo MIME). Naturalmente, se Subversion indovina in modo errato, o se si desidera impostare la proprietà svn: mime-type di proprietà a qualcosa di più preciseperhaps imagepng o applicationx-shockwave-flash è sempre possibile rimuovere o modificare quella proprietà. (Per ulteriori informazioni su Sovvertimenti uso di tipi MIME, consultare la sezione chiamata file di contenuto di tipo più avanti in questo capitolo.) UTF-16 è comunemente usato per codificare i file il cui contenuto semantico è testuale in natura, ma la codifica si fa pesante uso di byte che sono al di fuori del range tipico di byte di caratteri ASCII. Come tale, Subversion tenderà a classificare tali file come file binari, con grande dispiacere degli utenti che desiderano differenziazione line-based e la fusione, la sostituzione di parole chiave, e altri comportamenti di quei file. Subversion fornisce anche, attraverso il suo sistema di configurazione runtime (si veda la sezione Configurazione di Runtime Area), una funzione di impostazione di proprietà automatica più flessibile che permette di creare mappature di modelli di nomi di file per i nomi ei valori delle proprietà. Ancora una volta, questi mapping influenzano aggiunge e le importazioni, e non può che ignorare il tipo di decisione di default MIME fatta da Subversion durante queste operazioni, ma può anche impostare ulteriori proprietà di Subversion o personalizzati, troppo. Ad esempio, è possibile creare una mappatura che dice che ogni volta che si aggiunge filesones JPEG cui nomi corrispondono al modello. jpg Subversion dovrebbe impostare automaticamente la proprietà svn: mime-type su quei file per imagejpeg. O forse tutti i file che corrispondono cpp dovrebbero avere svn: eol-style impostata nativo. e svn: parole chiave con ID. supporto proprietà automatica è forse lo strumento di proprietà legate più comodo nella casella degli strumenti di Subversion. Vedere la sezione chiamata Config per informazioni sulla configurazione di questo sostegno. Gli amministratori Subversion comunemente chiedono se è possibile configurare, sul lato server, un insieme di definizioni di proprietà che tutti i clienti che collegano verranno considerare automaticamente quando si opera sulle copie estratti dal server di lavoro. Purtroppo, Subversion doesnt offrono questa funzione. Gli amministratori possono utilizzare script di aggancio per convalidare che le proprietà aggiunti e modificati sui file e le directory corrispondono gli amministratori hanno preferito politiche, rifiutando commit che sono non conformi in questo modo. (Si veda la sezione Implementazione Repository Ganci per di più su script hook). Ma non c'è nessun modo per dettare automaticamente tali preferenze ai clienti Subversion in anticipo. 13 Se sei familiarità con XML, questo è praticamente il sottoinsieme ASCII della sintassi per nome XML. 14 errori di ortografia, di fissaggio trucchi grammaticali, e just-plain-erroneità in commettere messaggi di log è forse il caso d'uso più comune per l'opzione --revprop. 15 Attualmente, libmagic è la libreria di supporto utilizzato per ottenere questo risultato.
Inviato da Edward Revy il 28 febbraio 2007 - 00:52. Attivo Forex trading e la costante ricerca ci ha permesso di raccogliere le strategie e le tecniche diverse nel nostro arsenale di trading. Oggi la nostra squadra è lieta di presentare un nuovo sito web strategie di trading Forex fiera dove i commercianti possono esplorare in modo rapido e gratuitamente diverse strategie forex e imparare le tecniche di trading Perché condividiamo le nostre conoscenze siamo commercianti come gli altri e ci piace quello che facciamo. Non ci sono segreti su Forex trading, solo l'esperienza e la dedizione. Inoltre, su Internet ci sono innumerevoli venditori che offrono le loro strategie e sistemi per i commercianti pronti a pagare. saremmo sorpresi se havent ancora incontrato uno gratuito o pagato mdash la scelta è per i commercianti di fare. La nostra scelta è una raccolta gratuita. Stiamo anche andando ad aggiornare la nostra collezione ogni volta che si scopre una nuova strategia di buon Forex vi d...
Comments
Post a Comment