Re: --reset-author does not reset author date when used in post-commit hook

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2025-04-01 at 03:44:17, Devste Devste wrote:
> >your call to `git commit` will still invoke the
> `prepare-commit-msg` (and possibly `commit-msg`) hook
> 
> Since I used --no-edit --no-verify in the example/hook, that shouldn't
> be the case though?

My testing demonstrates that `commit-msg` is skipped with `--no-edit
--no-verify`, but not `prepare-commit-msg`.

> >such as by using an alias that sets `TZ=UTC0` to commit.
> 
> Unfortunately, (at least on Windows) most tools and IDEs don't even
> load a bashrc file (e.g. intellij) for their git UI, so that's not an
> option (and setting the TZ as a global environment variable has
> unwanted side effects, since it will set the timezone in various
> applications randomly, e.g. Electron/Slack will use the TZ for some
> but not for other things,...)

What I could recommend instead is setting a shell script or PowerShell
file or such as the default Git binary (instead of git.exe) and setting
`TZ=UTC0` in that script (possibly only if the command is `commit` or
`commit-tree`).  I use Neovim with the fugitive extension, and
it provides functionality to override the Git executable, so I suspect
other editors will as well.  This is something that will likely be
robust and unlikely to break.

The reason I make that recommendation is that I suspect you're going to
find that there are other infelicities or weird edge cases in what
you're doing and this would be a use case that I could see getting
broken accidentally.  We've accidentally broken people doing `git add`
in `pre-commit` hooks (which we also don't recommend) in the past, for
instance.
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux