The context: KDE is moving from using ReviewBoard to using Phabricator, and I am working on a Purpose/Phabricator plugin so that developers can upload patches for review from KDevelop.
With ReviewBoard it was possible to upload a raw patch, either on the website or via a programmatic API, and in most cases it would be able to infer all required context from the corresponding git repository, exactly as one would expect when applying the patch in a local working copy of that repository. (It would refuse patches where this failed.)
This allowed a workflow that fits in very well with an IDE and is (IMHO) much more suited to small changes, esp. when you have multiple independent local changes. In KDevelop one could select a file or subdirectory, activate the "Show Differences" patch review mode, and upload the patch for review without having to worry about commits, branches, rebasing, merging etc, and regardless of the number of uncommitted other changes or untracked files. This is also a workflow that is particularly well suited for distribution/packaging maintainers who often also maintain a series of patches some of which they may want to submit upstream with minimal effort.
The Root Problem is that it doesn't appear to be possible currently to upload raw patches that reflect UNcommitted changes in a working copy.
I am not claiming either approach is better, I think both have their advantages and disadvantages as well as their intended audience and use.
Is this a feature that has ever been considered? Is it something that would require invasive changes to Phabricator itself or is it something that could be implemented largely in Arcanist?