Following up on the inter-related web of issues around arcanist:
In this issue want to outline issues FreeBSD project faces with arc land and I think this is the first domino (or one of) that causes a digression from a happy-path of using arcanist. In https://we.phorge.it/T15249#6965 @avivey asks why arc patch is not used and I think that one of the reasons that users are not using arc land.
All of the current feedback I was able to gather can be summarized as "arc land is quite opinionated and not flexible enough, it is not doing quite what we want". Keep in mind that some of these problems may be due to lack of understanding/knowledge about possibly existing configuration options, I am discovering things as I go
Here is the breakdown:
1. No line wrapping
Arcanist uses very long lines in commit messages, causing issues with the git log and violating our project standards. Example:
https://cgit.freebsd.org/src/commit/?id=5807f35c541c26bbd91a3ae12506cd8dd8f20688
A good commit should have lines wrapped at 72 chars:
https://cgit.freebsd.org/src/commit/?id=2d795ab1eaa78c6dd5d214285db7f94ff870bd45
Line wrapping looks slightly worse in the UI since it prevents from content being reactively adjusted to the display size of the client. FreeBSD optimizes commit message looks for the terminal/email environments.
(example form KDE: https://phabricator.kde.org/R32:8a170619bc0cb5c6cfbe06383cb9973f31adfdb9)
2. No way to customize commit template
There is no way to change default commit template. User's sentiment here is
the lack of templating from something that's essentially written in a template language is a joke
Problem doesn't seem to be new:
https://secure.phabricator.com/T12276
What we want to change:
- it includes a subscriber list but we only include those that approved the change
- it includes the test plan which is useless in our work flow
- ... and half a dozen other things I have to delete/change by hand
3. No way to see if the patch can be applied cleanly
User have the ability to manually upload textual diff. They select a repository for which it is destined and in the end we have a Differential Revision. Unfortunately phab/phorge does not show us if this revision applies cleanly or has become outdated and has conflicts. It makes managing Revisions at scale difficult