':calls: `PATCH /repos/:owner/:repo <http://developer.github.com/v3/repos>`_
:param name: string
:param description: string
:param homepage: string
:param private: bool
:param has_issues: bool
:param has_wiki: bool
:param has_downloads: bool
:param default_branch: string
:rtype: None'

def edit(self, name, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, private=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, default_branch=github.GithubObject.NotSet):

    assert isinstance(name, (str, unicode)), name
    assert ((description is github.GithubObject.NotSet) or isinstance(description, (str, unicode))), description
    assert ((homepage is github.GithubObject.NotSet) or isinstance(homepage, (str, unicode))), homepage
    assert ((private is github.GithubObject.NotSet) or isinstance(private, bool)), private
    assert ((has_issues is github.GithubObject.NotSet) or isinstance(has_issues, bool)), has_issues
    assert ((has_wiki is github.GithubObject.NotSet) or isinstance(has_wiki, bool)), has_wiki
    assert ((has_downloads is github.GithubObject.NotSet) or isinstance(has_downloads, bool)), has_downloads
    assert ((default_branch is github.GithubObject.NotSet) or isinstance(default_branch, (str, unicode))), default_branch
    post_parameters = {'name': name}
    if (description is not github.GithubObject.NotSet):
        post_parameters['description'] = description
    if (homepage is not github.GithubObject.NotSet):
        post_parameters['homepage'] = homepage
    if (private is not github.GithubObject.NotSet):
        post_parameters['private'] = private
    if (has_issues is not github.GithubObject.NotSet):
        post_parameters['has_issues'] = has_issues
    if (has_wiki is not github.GithubObject.NotSet):
        post_parameters['has_wiki'] = has_wiki
    if (has_downloads is not github.GithubObject.NotSet):
        post_parameters['has_downloads'] = has_downloads
    if (default_branch is not github.GithubObject.NotSet):
        post_parameters['default_branch'] = default_branch
    (headers, data) = self._requester.requestJsonAndCheck('PATCH', self.url, input=post_parameters)
    self._useAttributes(data)
