If the committer and author are different for a commit, blame always uses committer even if you specify author.name. I wonder if this is what's behind #32
Looking at the code, I believe it is due to the following problem. When blame.ts initializes a commit object, it uses the exact same reference for emptyAuthor for both author and commit. When stream.ts reads the information, it mutates the owner object, which in this case points to both the author and the commit. I think the solution is simply to copy the object when initializing in blame.ts.
I would submit a CR but don't want to spend the time setting everything up, reproing, creating a test, etc.
If the committer and author are different for a commit, blame always uses committer even if you specify author.name. I wonder if this is what's behind #32
Looking at the code, I believe it is due to the following problem. When blame.ts initializes a commit object, it uses the exact same reference for emptyAuthor for both author and commit. When stream.ts reads the information, it mutates the owner object, which in this case points to both the author and the commit. I think the solution is simply to copy the object when initializing in blame.ts.
I would submit a CR but don't want to spend the time setting everything up, reproing, creating a test, etc.
Fix in blame.ts
Original blame.ts
stream.ts - point where it is mutated