• tandrii@chromium.org's avatar
    git cl: Rework Changelist class for Rietveld/Gerrit use. · e044c817
    tandrii@chromium.org authored
    This adds pluggable codereview-specific implementations into
    Changelist class. The specific implementation is chosen at
    Changelist automatically, with Rietveld being default for
    backwards compatibility.
    
    Gerrit implementation for Gerrit is incomplete, and will be
    added in later CLs. However, it is sufficient to ensure
    current functionality of this tool is not diminished.
    
    Sadly, the base class isn't completely free from Rietveld
    assumptions because of presubmit_support. Apparently, PRESUBMIT 
    scripts can make use of Rietveld instance for RPCs directly.
    This use doesn't make sense for Gerrit, which substitutes
    rietveld instance with a dummy object, which raises exception
    on any attribute access with a diagnostic message.
    
    This also includes refactoring of some related code which
    (ab)used ChangeList. Overall, this CL adds a few extra call to
    git config in order to determine which codereview to use, but
    but it shouldn't have any performance impact.
    
    
    BUG=579160
    
    Review URL: https://codereview.chromium.org/1805193002
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299462 0039d316-1c4b-4281-b951-d872f2087c98
    e044c817
git_cl.py 153 KB