arc diff crashes when trying to stash submodule diffs.
For example, if your working copy has submodule changes, and you run arc diff, it will present the option to ignore the diffs and proceed.
If you accept the offer, arc diff will try to git stash pop an unrelated stash into your working copy, and fail hard when it (probably) doesn't merge correctly, or if you have no commits in your git stash. For example:
You have uncommitted changes in this working copy. Working copy: /u/j/editor/ Unstaged changes in working copy: Frameworks # this is a submodule! Do you want to create a new commit with these changes? [y/N] N Stashing uncommitted changes. (You can restore them with `git stash pop`). You have not specified any reviewers. Continue anyway? [y/N] y Linting... No lint engine configured for this project. Running unit tests... No unit test engine is configured for this project. Exception Command failed with error #1! COMMAND git stash pop [...lots of output from failed merges...] STDERR (empty) (Run with `--trace` for a full exception trace.)
My expectation is that it does not crash and does not pop unrelated stashes into my working copy.