In modern (and future/planned) configurations, arc patch has two high-quality sources for patches that it does not currently examine:
- arc patch can look for the commit hash already in the working copy. This would, e.g., allow quick, reliable recovery of branches removed by arc land.
- If staging areas are configured, arc patch can attempt to git fetch the changes from the staging area. When it works, this is more reliable and complete (e.g., history-preserving) than shipping bundles around. While arc patch should probably also become history-preserving eventually, this is a much larger change than trying staging areas before falling back to the current workflow.