New cascade feature breaks StGit repositories

No need to support this workflow, but it would be great if one could disable the cascading feature through an explicit flag on arc land.

The cascading feature of the recently revised land engine breaks when using StackedGit. StackedGit tracks historical data in the Git tree, e.g. when pushing a patch/commit A on top of another patch/commit B, a separate .stgit branch tree will contain a commit with with Parent Commit hashes A and B (as in “A was pushed on top of B”).

The cascade feature discovers those commits when landing (as they reference the commit that has been landed) and tries to rebase the branch. Since that branch is somewhat from a different universe, this fails miserably.

Reproduction Instructions

  • Install StackedGit
  • Create a branch “test”
  • Initialize on Repo stg init
  • stg new feature-b
  • Make some changes
  • stg refresh
  • stg new feature-b
  • Make some changes
  • stg refresh
  • stg pop
  • Now we’re back at the original diff
  • arc diff && arc land
  • Now the cascade feature will discover the patch that was popped before and rebase it.

Phabricator/Arcanist Version

arcanist 65cda1596f25bb9daea1d78c46402ab61df073d5 (9 Jul 2020)