public function beforeHook() : void
    {
        $this->commentChar = $this->repository->getConfigOperator()->getSafely('core.commentchar', '#');
        $this->file        = (string)$this->arguments->get('file');
        $this->mode        = (string)$this->arguments->get('mode');
        $this->hash        = (string)$this->arguments->get('hash');

        if (empty($this->file)) {
            throw new \RuntimeException('commit message file argument is missing');
        }

        parent::beforeHook();
    }