Page MenuHomePhabricator

SVN ERROR 255 pre-commit hook
Closed, InvalidPublic


Hi, today we are looking to run SVN repo with Phabricator (we have also GIT) everything was great, create the repo, manage the option, but when I try to do a commit i receive this error:

Transmitting file data .svn: E165001: Commit failed (details follow):
svn: E165001: Commit blocked by pre-commit hook (exit code 255) with no output.

The only solution is remove the file "pre-commit" in the folder "hooks", obviously the daemon put the file again every 2 minutes.

Any idea?


Event Timeline

This report doesn't have enough information for us to help you solve the problem. See Providing Reproduction Steps for help with providing reproduction steps.

Reproduction Steps

  • Diffusion
  • New Repository
  • Create new Hosted Respository
  • Subversion
  • fill the fields with "test svn" and TESTSVN
  • Create Respository Now
  • Wait Job Crete Repository
  • Diffusion
  • "test svn"
  • Copy the url for svn repository [svn checkout 'svn+ssh://' test-svn]
  • Open shell
  • Make Test Folder
  • Enter in folder, paste the svn url
  • wait until repo is downloaded (Checked out revision 0.)
  • create file (touch leo.txt)
  • run command "svn add ."
  • run command "svn commit - m "test commit"

    Expected result
  • New commit load on phabricator for "test svn"

Actual result

Transmitting file data .svn: E165001: Commit failed (details follow):
svn: E165001: Commit blocked by pre-commit hook (exit code 255) with no output.

Temporary solution

  • enter in /var/repo/TESTSVN/hooks
  • enter in /phabricator/src/applications/repository/engine/PhabricatorRepositoryPullEngine.php
  • comment line //$this->installSubversionHook();
  • remove pre-commit
  • return on svn client
  • run command "svn commit - m "test commit"

Additional information

  • Daemon job run from phabuser

I followed your instructions on a new, clean Phacility test instance, but the issue did not reproduce for me. Here's a screenshot:

Screen Shot 2016-04-20 at 5.23.29 AM.png (1×1 px, 114 KB)

Here's the CLI transcript:

epriestley@orbital ~/dev/scratch $ svn checkout 'svn+ssh://' test-svn
Checked out revision 0.
epriestley@orbital ~/dev/scratch $ cd test-svn/
epriestley@orbital ~/dev/scratch/test-svn $ touch leo.txt
epriestley@orbital ~/dev/scratch/test-svn $ svn st
?       leo.txt
epriestley@orbital ~/dev/scratch/test-svn $ svn add leo.txt 
A         leo.txt
epriestley@orbital ~/dev/scratch/test-svn $ svn commit -m 'test commit'
Adding         leo.txt
Transmitting file data .
Committed revision 1.
epriestley@orbital ~/dev/scratch/test-svn $

It seems like your reproduction instructions are missing some important steps. Do you have any idea what I can do differently to reproduce the issue?

Thank you Evan!

I don't know, maybe the version of phabricator, but I think it's not relevant
Could tell me which user run the pre-commit script ?

If I put an empty file instead of pre-commit, it doesn't run again with the same seems the problem is the run of pre-commit script file, if it doesn't exist, everything run correctly.

There is a similar error in Q180 and T9926, also without solution, but with a step over for the temporary solution (here).

Sorry, we don't have the resources to help users debug setup and environmental issues which we can not reproduce. The documentation is extremely clear about this. See Support Resources. Bug reports must have clear, complete, self-contained reproduction steps. See Providing Reproduction Steps.

I'm closing this report as invalid, because it does not have the required information that a bug report must have for us to move forward. To continue, you can either:

  • File a new report with clear, complete reproduction steps which allow us to reproduce the issue on a clean, up-to-date copy of Phabricator. See Providing Reproduction Steps.
  • If your time is valuable, you can hire us to help you solve setup and environmental problems like this. See Consulting for details on paid support. We're happy to help with this kind of thing, we just can't do it for free because we wouldn't have any time to develop Phabricator if we did.
  • Solve the problem yourself: Phabricator is open source, and all problems can ultimately be solved without our help.