I have a
pre-commit hook that runs some checks which need to pass before the commit is created. This includes
arc lint as well as some other checks run through
I found the other day, coincidentally after an upgrade of arcanist from
b4a30268 (and libphutil from
arc land stopped working and instead fails with an exception:
$ arc land Landing current branch 'master'. TARGET Landing onto "master", selected by following tracking branches upstream to the closest remote. REMOTE Using remote "origin", selected by following tracking branches upstream to the closest remote. You have untracked files in this working copy. ... Ignore these untracked files and continue? [y/N] y FETCH Fetching origin/master... This commit will be landed: - abcd123 blah blah blah Landing revision 'D999: blah blah blah'... BUILDS PASSED Harbormaster builds for the active diff completed successfully. Exception Command failed with error #1! COMMAND git commit --author 'Danek Duvall <email@example.com>' --date 'Fri, 1 Mar 2019 18:57:25 +0000' -F '/tmp/89y4terzl8w8gswo/1936-VwL8mm' -- STDOUT (empty) STDERR OKAY No lint warnings. <truncated make output> (Run with `--trace` for a full exception trace.)
I don’t have a copy of the output where I ran with
--trace handy; I will update when I collect another one.
I say that it’s coincident with the arcanist upgrade because when I checked out the original version and tried it again, I got the same problem. I really have run
arc land numerous times since I installed the hook a few months ago, but I can’t explain why the older version no longer seems to work.
When I comment out
core.hooksPath in my
.gitconfig to disable the hook,
arc land works as expected.
arc diff, even when rewriting commit comments into the arcanist format, doesn’t exhibit this problem.