So yeah, both display_name and name are alterable, so for purposes of hash calculations they're not going to be reliable for hash stability.
If this code is used exclusively just for the hash, then would it be possible to just leave the name blank? Or 'Unknown' or some other deterministic string? If it must be something that can be connected to the author, could it just be a duplicate of the email address?
Another idea pops into mind of building a lookup table of author email:name, and then when a commit with a blank name is found, do a lookup to see if there is a matching alternate. However, while this would be more reliable than using launchpad, I think it'd only be marginally more deterministic; there'd still be corner cases, they'd just be smaller.
Ah ok I see where this comes from now.
So yeah, both display_name and name are alterable, so for purposes of hash calculations they're not going to be reliable for hash stability.
If this code is used exclusively just for the hash, then would it be possible to just leave the name blank? Or 'Unknown' or some other deterministic string? If it must be something that can be connected to the author, could it just be a duplicate of the email address?
Another idea pops into mind of building a lookup table of author email:name, and then when a commit with a blank name is found, do a lookup to see if there is a matching alternate. However, while this would be more reliable than using launchpad, I think it'd only be marginally more deterministic; there'd still be corner cases, they'd just be smaller.