The Many Flavors of Ignore Files
22 points by fanf
22 points by fanf
The git innovation seems to be looking in specifically named file by default. But e.g. rsync has --exclude-from with its own "PATTERN MATCHING RULES" https://manpages.ubuntu.com/manpages/resolute/en/man1/rsync.1.html
It isn’t git’s innovation: version control systems have had similar ignore files for more than a decade before git came along. I used .cvsignore back in the 1990s; I guess proprietary version control systems had them even earlier. (The article has been updated to mention some of the pre-git history after I made a similar comment on fedi.)
I wondered when other tools started using VCS ignore files. I think one of the first was ack, which spawned ag, after which rg / ripgrep models its UI. But I couldn’t find any records of the early releases of ack: the early version control history is lost, the changelog is truncated, CPAN doesn’t keep very old versions. It’s from some time before 2006 but I don’t know if ack predates git or when it started using ignore files.
.ignore […] for ripgrep and the silver searcher
.ignore is intended as a cross-tool standard (aka what .gitignore has become without being wedded to git), afaik it is also supported by ast-grep, fd, … (jellyfin as well with the plot twist that an empty .ignore causes jellyfin to ignore the directory it’s in).