On Wed, Apr 10 2019, Barret Rhoden wrote:
(Just skimming)
> revisions for commits that perform mass reformatting, and their users
> have the optional to ignore all of the commits in that file.
s/have the optional/have the option/
> +--ignore-revs-file <file>::
> + Ignore revisions listed in `file`, one unabbreviated object name per
> line.
> + Whitespace and comments beginning with `#` are ignored.
Maybe just say "Ignore revisions listed in `file`, which is expected to
be in the same format as an `fsck.skipList`.".
> + 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?
> + split[0].unblamable = e->unblamable;
> + split[1].unblamable = e->unblamable;
> + split[2].unblamable = e->unblamable;
I wonder what the comfort level for people in general is before turning
this sort of thing into a for-loop, 4? :)
> + nr_lines = e->num_lines; // e changes in the loop
A C++-like trailing comment.
> + grep "^[0-9a-f]\+ [0-9]\+ 1" blame_raw | sed -e "s/ .*//" >actual &&
> + git rev-parse X >expect &&
> + test_cmp expect actual &&
> +
> + grep "^[0-9a-f]\+ [0-9]\+ 2" blame_raw | sed -e "s/ .*//" >actual &&
> + git rev-parse X >expect &&
> + test_cmp expect actual
The grep here is a bug. See my 4abf20f004 ("tests: fix unportable "\?"
and "\+" regex syntax", 2019-02-21).