graft: drop cset description from empty commit message
This is either already redundant in the output or too verbose in quiet
mode.
graft: show hashes in user-facing messages
Graft was in various places just showing the revision number in status
messges. Instead, also show the stable and more useful short hash.
graft: give helpful warning for empty grafts
It was just showing a status message with the internal revision number.
Instead, show a warning like
note: graft of 27:
3aaa8b6725f0 "28" created no changes to commit
(message tweaked in-flight by mpm)
graft: show more useful status information while grafting
Show status messages with first line of commit description and names, like
grafting 12:
2647734878ef "fork" (tip)
This gives more context for the user when resolving conflicts.
tests: test coverage for empty graft
A future change will add a warning to the quiet rebase.
largefiles: drop the unfiltered repo usage in overridepurge()
Now that repoview supports replacing methods, we don't need this hack.
repoview: allow methods on the proxy class to be replaced
It doesn't seem to be a common idiom for repo instances, but the status() method
is replaced in largefiles' purge() override. Since __setattr__ is implemented
in repoview to setattr() on the unfiltered repo, the replacement method wouldn't
get called unless it was invoked with the unfiltered repo, because the filtered
repo remains unchanged.
Since this doesn't seem to be commonly used, I didn't bother to filter out
methods that perhaps shouldn't be replaced, such as changelog().