Thanks for the response with links to more info.
It was a permissions problem after all. Posting how I found it here
just in case it helps others who are searching with a similar problem.
I'd verified that my trac settings were correct as per earlier threads.
I ran just the "/usr/bin/trac-admin changeset added ..." command from
my post-commit script. The command failed as my ssh+svn user (Error:
Command not found), but ran fine as sudo. So I was pretty sure it was a
permissions problem. After a bit of chasing red herrings, a friend
suggested running with strace
strace /usr/bin/trac-admin /trac/repo_name changeset added
"svn_repo_name" "svn_revision_id"
which eventually printed out:
open("/trac/repo_name/log/trac.log",
O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = -1 EACCES (Permission denied)
write(2, "Error: Command not found", 24Error: Command not found) = 24
I checked the permissions on the trac.log file, and found that it was
missing group write permissions for the group containing the svn user.
When I corrected that, the commit message "fixes #123" worked fine again!
best,
-skye