Refactor capabilities and fix bug
Review Request #3736 — Created Jan. 9, 2013 and submitted
Refactor capabilities and fix bug There was a bug with capabilities not being initialized when they were used due to the server being contacted after diff generation. The server is now contacted and the capabilities downloaded before a diff is generated. This makes it that post-review must contact the Review Board server even when only generating diffs, so diffs may no longer be generated offline. The way capabilities were passed to the SCM tools needed to be refactored to support the new rbt commands. Capabilities were being attached to the server object and being passed to the tool, but since the server object is no longer present in the new commands this had to change. The Capabilities object itself is now passed directly to the tools.
Posted reviews and made sure the proper capabilities were detected, and -M was added to diff generation.