> > + the `blame.ignoreRevsFile` config option. An empty file name, `""`, will > > + clear the list of revs from previously processed files. > > Maybe I haven't read this carefully enough but the use-case for this > doesn't seem to be explained, you need this for the option, but the > config file too? If I want to override fsck.skipList I do > `fsck.skipList=/dev/zero`. Isn't that enough for this use-case without > introducing config state-machine magic? The difference between blame.ignoreRevsFile and fsck.skipList is that ignoreRevsFile can be specified repeatedly. This is useful if you have one file listing reformatting commits, another listing renaming commits etc. Or maybe a checked-in list of commits to ignore, and a personal list of commits to ignore. However sometimes you're going to want to *not* ignore those commits, so you need a way to discard the previously specified options. To accommodate all operating systems an empty string seems the best way to do this.