Page MenuHomePhabricator

`arc diff` incorrectly considers submodules when determining to be uncommitted changes
Closed, ResolvedPublic

Description

Currently when doing arc diff in Git, it will read the status of the Git repository and incorrectly determine that untracked or modified files in submodules are considered uncommitted changes. Often this is nothing more than build artifacts in those submodules (because they are often third-party libraries) and thus it won't let you continue doing arc diff while the submodules are dirty. Unfortunately the auto-stashing mechanism for Git can't handle submodules either, so even when that feature is turned on, it still stops the arc diff workflow.

Event Timeline

hach-que added a project: Arcanist.
hach-que added a subscriber: hach-que.
epriestley triaged this task as Normal priority.Apr 29 2013, 7:27 PM

In theory, submodules should .gitignore all their build artifacts, which I think is why we don't go to greater lengths to get this right (you ideally shouldn't be diffing a change with dirty submodules), but I think we're being overly pedantic here.

chad changed the visibility from "All Users" to "Public (No Login Required)".Jul 3 2015, 4:05 AM

We now have better behavior in general, and no other reports of this in a couple years. The underlying use case also isn't clear to me; build artifacts should be .gitignored.