(Display?) error on the status page for SVN repos


#1

Observed Behavior:

As seen in the above picture, the Status page for a hosted subversion repository shows duplicate / conflicting information. I created and activated the repository without subversion installed. There were 4 messages, one for each subversion binary. I installed subversion and prioritized an update of the repository. It said it found all the binaries but also said it didn’t find svnlook. I restarted the webserver to see if that cleared it, and it didn’t.

Expected Behavior:
Phabricator should correctly say it found all binaries in the path (they are in the path) and not erroneously also say it is missing one.

Phabricator Version:
phabricator
9cf0d58e5da0d3673481456e38257ca41cc3d987 (Jan 24 2019) (branched from e6ca2b998fd4ba1d197322228f408b2461314659 on origin)
arcanist
97ddb9d5a1be282d6002a875a759266bb97b653f (Dec 28 2018) (branched from 25c2381959ac94d9249ae4023c5f9ea36436b81c on origin)
phutil
8a9f4b1f806e9eff0fbf5b32cfc29842c0db3f49 (Jan 18 2019) (branched from 92413d0303ab2f86eb397db0441b024de4099975 on origin)
diff
3.3 at /usr/bin/diff
git
2.1.4 at /usr/bin/git
hg
Not Available
pygmentize
2.0.1 at /usr/bin/pygmentize
svn
1.8.10 at /usr/bin/svn

Reproduction Steps:
I’m not sure how practical this is for any system you guys have but this is what I did to be able to reproduce it.

  1. Uninstall subversion (sudo apt purge subversion on my system)
  2. Update or create a hosted subversion repository on Phabricator.
  3. See 4 “missing binary” notices on the repository status / manage page.
  4. Install subversion (sudo apt install subverison)
  5. Update or create a hosted subversion repository on Phabricator.
  6. See 4 “found binary” notices on the repository status / manage page.
  7. Erroneously see an additional “missing binary” notice for svnlook?

#2

Note that for the repro steps I actually uninstall subversion after getting into the state from the screen shot. After uninstalling and updating, it correctly identified 4 missing binaries (it didn’t say missing svnlook twice) however reinstalling and updating again went back to the same state as the screenshot.


#3

This should be more clear.

When Subversion commit hooks execute, they strip the environment, including PATH. We restore PATH from environment.append-paths when running commit hooks.

So this warning means:

svnlook is present on your system, but it is not in any of the paths in environment.append-paths. When an SVN commit hook is executing, the system PATH will be wiped out and we’ll build a new PATH from environment.append-paths. When this happens, we won’t be able to find svnlook because, while it’s present somewhere on the system, it’s not present in environment.append-paths.

So the warning is correct in the sense that there is a problem, and correct in the remedy it suggests (you need to add /usr/bin to environment.append-paths), but not clear in its explanation of why this is a problem or why it wants you to do this.


#4

See https://secure.phabricator.com/D20210.


#5

Thanks, the new message is way more clear. I had to figure out how to update that config value again but I added /usr/bin/ to my custom list and the warning message went away.

I still seem to be having issues with said repository, but I’ll probably make a new thing here since this issue is resolved.

Edit: Kind of resolved those issues? Trying to use tortoise svn on windows with a hosted SVN repo. Apparently command line svn+ssh just wont work no matter what I do but I noticed the gui started working so… just gonna use that. Thanks again for the clarification.


closed #6