Re: Git / Subversion Interoperability
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:01
Linus Torvalds [off-list ref] writes:
So if your .gitignore looks like *.o it means that it recursively ignores all *.o files starting at that level. HOWEVER, if you write it as /*.o it means that it ignores *.o files only *within* that level (so it's "absolute" wrt the particular .gitignore file, not globally). So you can have both behaviours. [ I think the exact behaviour is: if there is a '/' anywhere in the name, it's not a recursive match and has to match the file exactly, but somebody like Junio should probably back me up on that ] Linus
Yes, that is what dir.c::excluded_1() says. If it does not have
'/' then fnmatch the basename, otherwise fnmatch with
FNM_PATHNAME. So I think if you write
/obj/*.o
you can ignore *.o files in obj/ directory (but won't ignore a/obj/b.o).