Page MenuHomePhabricator

`arc diff` should do an early check for total diff size and provide appropriate hints for the user
Closed, WontfixPublic

Description

Arcanist currently does the following 'early' checks:

  • Large number of changes (250)
  • Total size of corpus (4mb) for a given change, which then recommends the user to use --less-context

However, users bumped into a similar case where small changes to large files (xcode projects, around a mb each), lead to arc diff exploding due to the upload, which gives a not-so-intuitive error, and does not give proper hints as to how to work around it.

Might be useful to also check the overall size and recommend --less-context in these cases as well

Event Timeline

talshiri assigned this task to epriestley.
talshiri raised the priority of this task from to Needs Triage.
talshiri updated the task description. (Show Details)
talshiri added a project: Arcanist.
talshiri added a subscriber: talshiri.
joshuaspence triaged this task as Wishlist priority.Jan 12 2015, 11:28 AM

From T8343, the total corpus size warning didn't appear to fire properly.

In T13098, I expect to remove both of these warnings because:

  • Differential behavior is now better in these cases (we degrade more gracefully in multiple stages); and
  • I'm not sure any user has ever answered "n" to these prompts and then broken their change into smaller pieces.

T784 will likely allow individual files to be flagged for --less-context. We may do this automatically.

Modularity changes out of T13098 will likely let you reimplement these checks yourself.

We may also make arc upload the diff as a file (which can use chunked uploading and upload non-UTF8 text), then tell Phabricator to parse it by saying "go parse F123 into a diff" but this is less of an "arc" behavior and more of a server configuration issue.