Premise: the Config page runs git commands. Spoiler: they can fail.
Before this change, errors were just suppressed and ignored.
Probably suppressing stuff was fine in the moment git worked here. But nowadays
git doesn't work so easily here, since it introduced very weird additional
configurations in order for a repository to be indicated as "safe" or not.
Error suppression was a problem there, because understanding the error with
"future objects" is not trivial for most users. Really.
After this change, these errors are beautifully mentioned in the standard log
of your webserver, to the best of our communication ability (which is not so great,
since we are computer lovers after all, so we express ourselves as we can - sorry).
This is a cute example of a new log line:
PHLOG: Webserver user cannot open git log.
EXCEPTION: (Command: git log --format='%H %ct' -n 1 --
Exit: 128Exception)
Error: fatal: detected dubious ownership in repository at '/var/www/arcanist'Command failed with error #128!
To add an exception for this directory, call:COMMAND
git config --global --add safe.directory /var/www/arcanistremote -v
at [/src/applications/config/controller/PhabricatorConfigConsoleController.php:283]
This is another example of a new cute log line:
PHLOG: Webserver user cannot list remotes.STDOUT
Command: git remote -v(empty)
Exit: 128STDERR
Error: fatal: detected dubious ownership in repository at '/var/www/phorge'
To add an exception for this directory, call:
git config --global --add safe.directory /var/www/phorge
at [/src/applications/config/controller/PhabricatorConfigConsoleController<arcanist>/src/future/exec/ExecFuture.php:202436]
Incidentally, thesethat specific git errors are the ones that probably afflicts yourr probably afflicts your Phorge/Phabricator.
Phorge/Phabricator as well.So, So it would be nice to discuss your case in T15282 instead of putting
instead of putting our head inside thean honey pot, oror hiding this problem in any othesimilar comfort zone.
Closes T15243