On Tue, Oct 15, 2024 at 11:33:35AM +0200, Wolfgang Müller wrote: > On 2024-10-11 20:34, Wolfgang Müller wrote: > > Whilst git-shortlog(1) does not explicitly need any repository > > information when run without reference to one, it still parses some of > > its arguments with parse_revision_opt() which assumes that the hash > > algorithm is set. However, in c8aed5e8da (repository: stop setting SHA1 > > as the default object hash, 2024-05-07) we stopped setting up a default > > hash algorithm and instead require commands to set it up explicitly. > > > > This was done for most other commands like in ab274909d4 (builtin/diff: > > explicitly set hash algo when there is no repo, 2024-05-07) but was > > missed for builtin/shortlog, making git-shortlog(1) segfault outside of > > a repository when given arguments like --author that trigger a call to > > parse_revision_opt(). > > > > Fix this for now by explicitly setting the hash algorithm to SHA1. > > > > Signed-off-by: Wolfgang Müller <wolf@oriole.systems> > > --- > > I think there is a much cleaner patch here if one would look at > > disentangling the parsing machinery split between cmd_shortlog() and > > parse_revision_opt() such that the latter is only called if there is an > > actual repository, but I'm not at all familiar enough with the codebase > > to do that. Like the commit says some other commands were fixed like > > this as well, so I thought to send this patch your way. > > Was this topic maybe missed? It's not a critical fix but would solve a > segfault that is pretty easy for a user to trigger. Yeah. It looks like this was sent out on Friday, which was Junio's last working day before vacation. I think we probably both assumed the other picked it up ;-). Thanks, Taylor