RichiH / vcsh

config manager based on Git

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

More robust error handling, especially for hooks

ao2 opened this issue · comments

I noticed that vcsh does not catch the hooks exit value. So it's not possible to stop vcsh if a hook fails.

For instance I would use that functionality if a pre-enter hook would fail to do some preparation work, to avoid entering the repository in that case.

Possible solutions, in order of preference:

  • Use set -e in vcsh and handle special cases when errors should really be ignored
  • catch the exit value explicitly in hook()
  • Source hooks as suggested in #68. However I'd advise against that: having hooks as child processes like it is now, allows to write them in any programming language.

Ah, a workaround I found for my use case is to execute (pun intended) kill -- -$PPID in the hook.
Rather nasty.