2010-02-24 7 views
16

Sto riscontrando un problema strano con .gitignore su Windows..gitignore non capisce la mia cartella jolly su windows

Desidero git per ignorare tutti i file .exe, ad eccezione di quelli nella cartella Dependencies (e in tutte le sottocartelle).

Così ho:

.gitignore:

*.exe 
!/Dependencies/**/*.exe 

Questo, purtroppo, non funziona.

Nel frattempo, questo fa:

*.exe 
!/Dependencies/folder/subfolder/*.exe 

Quindi mi chiedo, sto scompigliando qualcosa, o si tratta di una specie di bug?

Sono in esecuzione su Windows msysgit versione 1.6.5.1-preview20091022

Grazie in anticipo per qualsiasi input :)

+2

Questa è effettivamente la stessa edizione/malinteso http://stackoverflow.com/questions/1470572/ –

risposta

14

Dal git 1.8.2 (March, 8th 2013), il ** è ora supportato:

I modelli in .gitignore e .gitattributes file possono avere **/, come un modello che corrisponde 0 o più livelli di sottodirectory.

E.g. "foo/**/bar" corrisponde a "bar" in "foo" stesso o in una sottodirectory di "foo".

Nel tuo caso, questo significa che questa linea potrebbe ora essere supportata:

!/Dependencies/**/*.exe 
+0

Fantastico, grazie Von per il follow-up. –

+0

Per i posteri, jdigital aveva anche ragione; era un problema con l'impl di Windows di fnmatch, che ora è stato corretto. –

2

Il .gitignore documentation dice (Windows 7 x64):

git ossequi il pattern come shell shell adatto al consumo da fnmatch (3) con il flag FNM_PATHNAME

È possibile a fnmatch sulla tua piattaforma non supporta ** in un percorso.

+0

@jdigital Questo è quello che sospettavo (temuto, davvero) pure. Se questo è il caso, allora potrebbe potenzialmente distruggere il caos nei repository multipiattaforma :( –

2

Si potrebbe aggiungere un file .gitignore nella cartella Dependencies con

* .exe

all'interno. Lo svantaggio evidente è che ignorare le specifiche sono sparse tra diversi file ora.

+2

Perché questa risposta è stata accettata e upvoted? La domanda era come ignorare i file '* .exe' ** eccetto ** per quelli all'interno di' Dipendenze/'. –

Problemi correlati