1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-10 14:51:06 +01:00
No description
Find a file
epriestley e591ef4db9 Add setup checks for the availability of 'which' and 'diff' binaries
Summary:
Spent an hour or two helping a user figure this out. Make sure I never do that again.

If the webserver is configured with an empty or bogus PATH, binaries like 'which' and 'diff' (and 'git', and 'svn', etc.) may not be available. In most cases, this is fine, because we get an error like "sh: whatever-command not found", which is obvious to diagnose.

In the case of 'diff', we don't get this, because 'diff' is expected to exit with a nonzero code for differing files -- so we interpret the "sh: whatever-command not found" as "files differ" and then try to parse the empty output.

Explicitly check for 'which' (on Windows, 'where') and 'diff' during setup (I plan to refine the behavior around 'git', 'svn' and 'hg' at some point, but this is less pressing since the errors are trivial to support).

Test Plan: Faked failures on all modes, verified setup warnings look reasonable.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D6008
2013-05-23 14:42:07 -07:00
bin Provide 'bin/cache', for managing caches 2013-05-20 10:16:35 -07:00
conf Using PhabricatorExternalAccount 2013-04-28 13:22:33 -07:00
externals Add WePay as a one-time payment provider 2013-05-21 15:34:46 -07:00
resources Stop writing empty strings to the ownerPHID column 2013-05-23 09:22:18 -07:00
scripts Provide 'bin/cache', for managing caches 2013-05-20 10:16:35 -07:00
src Add setup checks for the availability of 'which' and 'diff' binaries 2013-05-23 14:42:07 -07:00
support Specify HOME when invoking Git commands 2013-05-21 14:14:31 -07:00
webroot Add a basic multipage form 2013-05-23 14:39:01 -07:00
.arcconfig Use JsShrink if jsxmin is not available 2013-05-18 17:04:22 -07:00
.divinerconfig Centralize rendering of application mail bodies 2012-07-16 19:01:43 -07:00
.editorconfig Specify config for text editors 2012-11-03 22:34:44 -07:00
.gitignore Ignore and README for support/bin 2013-04-03 12:58:39 -07:00
LICENSE Delete license headers from files 2012-11-05 11:16:51 -08:00
NOTICE Increment year. 2013-01-03 05:45:08 -08:00
README Undo accidental commit of garbage to README 2013-05-20 16:16:49 -07:00

Phabricator is an open source collection of web applications which make it
easier to write, review, and share source code. Phabricator was developed at
Facebook.

This is an early release. It's pretty high-quality and usable, but under
active development so things may change quickly.

You can learn more about the project and find links to documentation and
resources at: http://phabricator.org/

LICENSE

Phabricator is released under the Apache 2.0 license except as otherwise noted.