fugit2.nvim icon indicating copy to clipboard operation
fugit2.nvim copied to clipboard

feature: pre-commit support

Open Kraust opened this issue 1 year ago • 7 comments

Did you check the docs?

  • [X] I have read all the docs

Is your feature request related to a problem? Please describe.

https://pre-commit.com/

AFAIK pre-commit is commonly used in workflows these days, and I include it in mine. Currently fugit2 doesn't ave great support for it. I don't know if libgit2 has proper support for the hooks that pre-commit creates.

Describe the solution you'd like

I'd like the pre-commit hooks to be run on commit (like git commit does) and some kind of indication to the user if the hook fails fails.

Describe alternatives you've considered

This is not a show stopper preventing me from using fugit2. I can just invoke pre-commit manually as part of my workflow (and my CI/CD also runs it).

Additional context

No response

Kraust avatar Jun 27 '24 23:06 Kraust

Hi @Kraust, pre-commit is not implemented in libgit2 https://github.com/libgit2/libgit2/issues/964. It is the responsibility of IDE/plugin to implement it. In this case, Fugit2 have to handle and call pre-commit command explicitly.

Let's me investigate how to implement it. It may take a while because I'm not so familiar with pre-commit yet.

As always, Thank you for great suggestion! :D

SuperBo avatar Jun 28 '24 01:06 SuperBo

Hi @Kraust, pre-commit hook is preliminarily support via this MR https://github.com/SuperBo/fugit2.nvim/pull/109. Sorry for taking this issue so long.

Can you help me test it?

Extra features that can added later:

  • Allow no-verify option.
  • Support pre-push hook.

SuperBo avatar Nov 20 '24 10:11 SuperBo

Will do. May take a couple of days depending on what repos I'm working on.

Kraust avatar Nov 20 '24 11:11 Kraust

Having an issue with it, but I don't think it's related to the changes you've made. Looks like pre-commit creates a shell script, but because I'm on currently on Windows that shell script doesn't make any sense.

Kraust avatar Nov 21 '24 13:11 Kraust

@Kraust, Can you show me the error message on Windows. Maybe it can be useful.

SuperBo avatar Nov 21 '24 13:11 SuperBo

image

Note: E:\work\aria is the git repo and the related path is correct. I don't think this is an issue with fugit2 at the moment.

Kraust avatar Nov 21 '24 13:11 Kraust

@Kraust, seem like path construction error, I can see the malformed path E:/work/aria\.git\hooks\pre-commit in the error. That path contains mix separator of / and \. Why it use / on Windows >.<

SuperBo avatar Nov 21 '24 14:11 SuperBo