1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2025-01-22 20:51:09 +01:00
No description
Find a file
epriestley 54bea946c1 Remove --background flag to prevent arc from hanging
Summary:
Ref T4281. A long time ago, we added a `--background` flag to let `arc lint` and `arc unit` run while you're typing a commit message, in some situations.

This code is only moderately beneficial and is way too complicated. Particularly, it has a long history of causing hangs (T4281, T2463), doesn't work on Windows, and is impossible to debug.

It's also running into a serious PHP bug with EAGAIN/EPIPE being indistinguishable that I haven't been able to find a reasonable workaround for in ~3-4 hours of trying.

All the pathways forward that I can see make this already-complex system more complex.

The major reason that this stuff is so complex is that the subprocess may need to prompt the user (notably, to apply patches from lint).

Instead, I'm going to simplify how `arc diff` interacts with `arc lint` and `arc unit`, so we can just fire-and-forget a background process, let it do as much work as it can without needing user input, and then pick up wherever it left off. This will be slightly less cool/magical, but it won't hang bizarrely and I will be able to debug it.

For now, simply remove the `--background` flag and behavior so `arc` works for everyone.

Test Plan: Ran `arc diff` to create this diff.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T4281

Differential Revision: https://secure.phabricator.com/D10198
2014-08-08 16:09:11 -07:00
bin Added ArcanistTextLinter::LINT_BOF_WHITESPACE and ArcanistTextLinter::LINT_EOF_WHITESPACE 2014-01-13 18:05:42 -08:00
externals Add a newline to externals/includes/README 2014-07-16 22:11:52 +10:00
resources Move PhutilLibraryMapBuilder to libphutil 2014-07-05 17:01:36 +10:00
scripts Fix various spelling mistakes 2014-07-13 00:45:38 +10:00
src Remove --background flag to prevent arc from hanging 2014-08-08 16:09:11 -07:00
.arcconfig Use the ArcanistConfigurationDrivenLintEngine as a linting engine. 2014-05-11 19:33:40 -07:00
.arclint Move ArcanistSpellingDefaultData into a configurable JSON file 2014-07-04 08:18:33 +10:00
.editorconfig Apply various linter fixes. 2014-06-10 11:02:42 -07:00
.gitignore Update .gitignore. 2014-06-14 11:44:38 -07:00
LICENSE Delete license headers from files 2012-11-05 11:16:24 -08:00
NOTICE Remove duplicate newline 2014-07-17 08:25:22 +10:00
README Reformat README as Remarkup 2014-07-16 22:11:10 +10:00

= WHAT IS ARCANIST? =

Arcanist is the command-line tool for [[http://phabricator.org/ | Phabricator]].
It allows you to interact with Phabricator installs to send code for review,
download patches, transfer files, view status, make API calls, and various other
things. You can find a complete user guide
[[http://www.phabricator.com/docs/phabricator/article/Arcanist_User_Guide.html |
here]].

For more information about Phabricator, see http://phabricator.org/.

= LICENSE =
Arcanist is released under the Apache 2.0 license except as otherwise noted.