def __init__(self, branchref=None, issue=None, codereview=None, **kwargs):
    "Create a new ChangeList instance.\n\n    If issue is given, the codereview must be given too.\n\n    If `codereview` is given, it must be 'rietveld' or 'gerrit'.\n    Otherwise, it's decided based on current configuration of the local branch,\n    with default being 'rietveld' for backwards compatibility.\n    See _load_codereview_impl for more details.\n\n    **kwargs will be passed directly to codereview implementation.\n    "
    global settings
    if (not settings):
        settings = Settings()
    if issue:
        assert codereview, 'codereview must be known, if issue is known'
    self.branchref = branchref
    if self.branchref:
        assert branchref.startswith('refs/heads/')
        self.branch = ShortBranchName(self.branchref)
    else:
        self.branch = None
    self.upstream_branch = None
    self.lookedup_issue = False
    self.issue = (issue or None)
    self.has_description = False
    self.description = None
    self.lookedup_patchset = False
    self.patchset = None
    self.cc = None
    self.watchers = ()
    self._remote = None
    self._codereview_impl = None
    self._codereview = None
    self._load_codereview_impl(codereview, **kwargs)
    assert self._codereview_impl
    assert (self._codereview in _CODEREVIEW_IMPLEMENTATIONS)
Create a new ChangeList instance.

If issue is given, the codereview must be given too.

If `codereview` is given, it must be 'rietveld' or 'gerrit'.
Otherwise, it's decided based on current configuration of the local branch,
with default being 'rietveld' for backwards compatibility.
See _load_codereview_impl for more details.

**kwargs will be passed directly to codereview implementation.
def __init__(self, branchref=None, issue=None, codereview=None, **kwargs):
    "Create a new ChangeList instance.\n\n    If issue is given, the codereview must be given too.\n\n    If `codereview` is given, it must be 'rietveld' or 'gerrit'.\n    Otherwise, it's decided based on current configuration of the local branch,\n    with default being 'rietveld' for backwards compatibility.\n    See _load_codereview_impl for more details.\n\n    **kwargs will be passed directly to codereview implementation.\n    "
    global settings
    if (not settings):
        settings = Settings()
    if issue:
        assert codereview, 'codereview must be known, if issue is known'
    self.branchref = branchref
    if self.branchref:
        assert branchref.startswith('refs/heads/')
        self.branch = ShortBranchName(self.branchref)
    else:
        self.branch = None
    self.upstream_branch = None
    self.lookedup_issue = False
    self.issue = (issue or None)
    self.has_description = False
    self.description = None
    self.lookedup_patchset = False
    self.patchset = None
    self.cc = None
    self.watchers = ()
    self._remote = None
    self._codereview_impl = None
    self._codereview = None
    self._load_codereview_impl(codereview, **kwargs)
    assert self._codereview_impl
    assert (self._codereview in _CODEREVIEW_IMPLEMENTATIONS)