commitizen / cz-cli

The commitizen command line utility. #BlackLivesMatter
http://commitizen.github.io/cz-cli/
MIT License
16.82k stars 551 forks source link

Monorepo precommit hook says "Not a git repository: '.git'" #557

Open creatyvtype opened 6 years ago

creatyvtype commented 6 years ago

I have a monorepo using Lerna. Here's the structure for my example:

my-monorepo/
  package.json
  packages/
    my-package/
      package.json

In my-monorepo/packages/my-package/package.json, I have a script: "precommit": "yarn buildExports && git add ./exports". In my-monorepo/package.json I have a script: "precommit": "lerna run precommit".

When I run yarn precommit inside my package, it works correctly. When I run yarn precommit in the root of my repo, it works correctly. But when I run yarn git-cz and complete the flows to get it to trigger my precommit script, I get:

lerna ERR! Error: Command failed: yarn run precommit
lerna ERR! fatal: Not a git repository: '.git'
lerna ERR! error Command failed with exit code 128.

I have not been able to find anything in lerna or in cz-cli to help me with this. Any help would be greatly appreciated.

creatyvtype commented 6 years ago

I was able to get it working by having my commit script run lerna run precommit && git-cz. Something about having it be a part of the precommit hook produced this error.