Log refactor

This commit uses the shiny new `string_copy_rev_from_commit_line`. The :<number> is not handled yet, so that is still on the TODO.

If you spot further errors, I'll be glad to handle them.

Thanks.