Page MenuHomePhabricator

arc diff crashes when trying to stash submodule diffs
Open, Needs TriagePublic

Description

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.

Event Timeline

skrap created this task.Sep 22 2015, 12:08 AM
skrap updated the task description. (Show Details)
skrap added a project: Arcanist.
skrap added a subscriber: skrap.

Does this reproduce at HEAD, after T9455?

Does this reproduce at HEAD, after T9455?

Good question, I'll check tomorrow and reply.

skrap added a comment.Sep 23 2015, 5:29 PM

Yes, this still occurs on arcanist/master @ 9c056c5cc887aa3d4b7fc25118606df6e5e955cc