Commit blocked by pre-commit hook (exit code 255) with no output.

That’s what is seen client-side, and this is what is seen server-side:

Revprop change blocked by pre-revprop-change hook (exit code 255) with no output. [500, #165001]

In most cases the usual search results will point you where you need:

  • execute permission not set on the hook script
  • missing hook script allowing property change
  • wrong line endings

In my case:

I recently moved the repositories off of a smaller file system to a larger one that had noexec set. Spent an hour+ trying to figure it out and it took a combination of this error message:

# ./test.sh
-bash: ./test.sh: Permission denied

and remembering that I had run into this in the past before it dawned on me.

Figures.

Moving a Windows profile

I would copy a profile from a user’s system, wipe it, reinstall and then copy the profile back only to find that if the person had admin rights, no problem – everything worked. If not, even after I gave their new account full permissions odd things like missing backgrounds would happen (Windows XP theme settings).

With the help of my wife (who made me describe in length the process), I tracked it down to the SID being different in the profile registry settings. The registry hive for the profile had security set to the old SID, whereas the new account had a totally different one.

Once I followed the steps here and changed the permissions to allow the new account full access, everything worked.

Just thought I’d pass that along. Hope it helps someone.