Quando si esegue la sincronizzazione delle risorse, è possibile che ci siano delle risorse che non si desidera rilasciare nel flusso. Sono disponibili due funzioni di esclusione che consentono di specificare quali risorse escludere dalle operazioni di selezione e rilascio.
La prima è una funzione di esclusione globale, fornita dal workbench. La seconda è la funzione di esclusione di CVS, che legge il contenuto di un file speciale .cvsignore per determinare cosa escludere.
Ci sono molti file che un utente potrebbe non volere rilasciare nel repository.
Ad esempio, è possibile che degli editor esterni creino dei file temporanei nel progetto dell'utente. La compilazione dei file .java crea dei file .class e
in modo analogo, molte operazioni di build determinano la creazione di file binari. Questi file, nel loro complesso, possono raggiungere notevoli dimensioni. Inoltre, è possibile che essi vengano nuovamente generati ogni volta che viene eseguita un'operazione di build,
determinando molte modifiche in atto. Di norma, questi non sono file che un utente desidera condividere con gli altri membri di un team oppure memorizzare nel repository.
Una funzione di esclusione globale viene fornita dal workbench attraverso la pagina
delle preferenze Team.
Viene fornito un elenco di modelli di file
con i quali le risorse vengono confrontate prima di essere considerate
come adatte al controllo versione. Questi modelli possono contenere
i caratteri jolly "*" e "?". "*" rappresenta una qualsiasi sequenza
di zero o più caratteri. "?" rappresenta qualsiasi carattere. Ad esempio,
è possibile specificare un modello "*~" come corrispondenza per qualsiasi file temporaneo
che termina con "~". Qualsiasi file o directory che corrisponde a uno qualsiasi dei modelli
verrà ignorato durante le operazioni di cattura o di rilascio. Quando si specifica
un modello di file da ignorare, è possibile disabilitare temporaneamente tale esclusione
deselezionando il modello dall'elenco, senza doverlo rimuovere.
I modelli della funzione di esclusione globale vengono confrontati con i nomi di risorse
durante un'operazione di sincronizzazione. È importante notare che
il percorso che conduce al nome della risorsa non viene incluso
nell'operazione di ricerca della corrispondenza. Ad esempio, per il file "/path/to/file.txt",
viene confrontata con i modelli solo la stringa
"file.txt". Questa funzione non è intesa per la specifica di nomi di percorso completi,
ma per la specifica di modelli applicabili globalmente.
Il client CVS Eclipse riconosce un file denominato ".cvsignore" in
ogni directory di un progetto. Questa è una funzione CVS standard e
molti progetti CVS esistenti potrebbero contenere questo file.
Tale file di testo è composto da un elenco di file, directory o modelli. Come
per la funzione di esclusione globale, i caratteri jolly "*" e "?" possono essere presenti
in qualsiasi voce del file .cvsignore. Tutti i file o le sottodirectory
della directory corrente che corrispondono a uno dei modelli verranno
ignorati. È importante notare che la semantica di questo file è diversa
da quella della funzione di esclusione globale, in cui si applica solo a file e
directory presenti nella stessa directory dello stesso file .cvsignore. Un progetto
può contenere un file
.cvsignore in ogni directory. Per ulteriori informazioni, fare riferimento al
sito http:\\www.cvshome.org.
Una volta sottoposta a controllo versione, in seguito una risorsa può essere difficilmente ignorata. Una risorsa viene sottoposta a controllo versione quando, per la prima volta, un'operazione di sincronizzazione viene eseguita sulla risorsa o su una qualsiasi delle relative cartelle principali. Quindi, prima di eseguire l'operazione di sincronizzazione per la prima volta, considerare i file e le directory che si desidera vengano ignorate e aggiungerli alla funzione di esclusione appropriata. Ad esempio, osservare il seguente scenario:
Se è stata selezionata l'operazione Team > Sincronizza con flusso, ma la risorsa non è ancora stata rilasciata,
è ancora possibile escluderla. Ciò indipendentemente dal fatto che il
workbench considera già questi file sotto il controllo versione.
È prima necessario cancellare i file da escludere (ciò non costituisce un problema dato che i
file esclusi sono file temporanei o risultati della creazione di file importanti, cioè dell'origine). Quindi, aggiungere il modello di esclusione utilizzando il meccanismo di esclusione globale o
CVS. A questo punto è possibile ricreare il progetto in modo che i file esclusi
vengano ripristinati e sia possibile eseguire la sincronizzazione
del progetto con il flusso. Ora i file verranno ignorati.