Mi piacerebbe dire a git
di ignorare un file denominato foo.ext
se e solo se esiste un altro file denominato foo.txe
. Sono quasi sicuro che questo non può essere fatto con la sintassi .gitignore
ma ci sono forse altri modi complicati a cui non penso?Come dire a git di ignorare un determinato file se e solo se esiste un altro file?
Esempio di utilizzo: memorizzo frequentemente le figure di un documento LaTeX in una sottodirectory figures
. E di solito disegno le mie figure con Xfig. Il mio makefile chiama fig2dev
per generare una coppia di file dalla figures/foo.fig
fonte:
figures/foo.pdf
, un file PDF per la parte grafica,figures/foo.pdf_t
, un file LaTeX per il testo, con un comandoincludegraphics
per includere il PDF.
Poiché questi due file sono generati, mi piacerebbe che git
li ignori. Potrei aggiungere due semplici modelli di esclusione al mio file .gitignore
ma succede anche che alcune delle mie figure siano in formato PDF semplice, non generate da un'altra fonte. E, naturalmente, mi piacerebbe che git
non ignorare questi file figures/bar.pdf
.
vorrei aggiungere qualcosa come:
/\(**\)/figures/\(*\).fig: /\1/figures/\2.pdf /\1/figures/\2.pdf_t
al mio file .gitignore
, il che significa che tutti i file di nome /<some_path>/figures/<some_name>.pdf
o /<some_path>/figures/<some_name>.pdf_t
deve essere ignorato se e solo se un file chiamato /<some_path>/figures/<some_name>.fig
esiste con la stessa <some_path>
e <some_name>
.
Eventuali duplicati di [Gitignore un file se file con estensione diversa esiste] (http://stackoverflow.com/questions/28325195/gitignore-a-file-if-file-with-different-extension-exists) –