npm install git-compose
$ git-compose init
$ git-compose install
WORK IN PROGRESS. Please contribute to the git repo.
Run in directory with overcommit.yml
$ git port
- Hooks are referenced by their relative path from overcommit.json
- Resolved to absolute path when installed for reliability
- Each hook is passed to a wrapper along with all of the arguments passed by the git hook
- Creating a new hook involves creating a matching wrapper
- Parallelize hooks
- Allow shared resources (hooks might read file and not having to read it multiple times)
- Allow parameters to be passed to hooks.
- Each hook is analyzed for the language of the file
- If there is a wrapper for that language, it's appended to the corresponding hook in .git/hooks
- Wrappers are referenced by relative path to overcommit.json and resolved to absolute.
- Wrappers take the filepath of a hook as well as the rest of the parameters that are passed to it.
- Wrappers should invoke the file located at the filepath with the other parameters.
- Enforce stricter wrappers
- Allow wrappers to accept multiple hooks
- Wrappers should be able to parallelize hooks and determine which ones fail and log them properly.
- Fully fix porting old overcommit files
- Tests.
- Add Ability to pass options to hooks
- Add CLI commands to create new hooks from templates
- Add CLI commands to remove hooks
- Addd more wrappers
MIT