We use two distinct workflows with git / arc.
- I am implementing a change by myself, that will resolve to a single commit, I can re-write history all I want, because I have no collaborators.
- I am implementing a change where the branch is shared by two or more colleagues for a longer lived period. Re-writing commits that I have shared with other people is a big no-no.
Now arcanist can support both of these flows, by setting immutable or mutable for the history. What there doesn't seem to be is support for rules like unto what is available for selecting commit ranges. If I edit the .arcconfig file I can't ignore that change and land it, unless I make the file _completely_ ignore by git.
Now the second flow is far rarer. We can just make a branch and skip arc, but then we lose out on review via differential (we also use it to trigger CI, but that's easily enough changed). It's not the end of the world, but it would be great to be able to say use immutable history when the branch prefix is shared/* and mutable otherwise or something like that.