From 6fa2848e517467f794c1a40361d9d51e439c41f1 Mon Sep 17 00:00:00 2001 From: Olivier Lemasle Date: Sun, 7 Feb 2016 15:25:15 +0100 Subject: [PATCH] Update projects on GitHub If project's attributes are modified, changes will now be reflected on GitHub. Change-Id: I6775b55811a47402d3c774611436267f9074a53a --- jeepyb/cmd/manage_projects.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/jeepyb/cmd/manage_projects.py b/jeepyb/cmd/manage_projects.py index 878a4a8..08f1371 100644 --- a/jeepyb/cmd/manage_projects.py +++ b/jeepyb/cmd/manage_projects.py @@ -286,7 +286,7 @@ def make_ssh_wrapper(gerrit_user, gerrit_key): return dict(GIT_SSH=name) -def create_github_project( +def create_update_github_project( default_has_issues, default_has_downloads, default_has_wiki, github_secure_config, options, project, description, homepage): created = False @@ -320,6 +320,19 @@ def create_github_project( return False try: repo = org.get_repo(repo_name) + + # If necessary, update project on Github + if description and description != repo.description: + repo.edit(repo_name, description=description) + if homepage and homepage != repo.homepage: + repo.edit(repo_name, homepage=homepage) + if has_issues != repo.has_issues: + repo.edit(repo_name, has_issues=has_issues) + if has_downloads != repo.has_downloads: + repo.edit(repo_name, has_downloads=has_downloads) + if has_wiki != repo.has_wiki: + repo.edit(repo_name, has_wiki=has_wiki) + except github.GithubException: repo = org.create_repo(repo_name, homepage=homepage, @@ -671,7 +684,7 @@ def main(): remote_url, repo_path, ssh_env, gerrit, GERRIT_GITID) if 'has-github' in options or default_has_github: - created = create_github_project( + created = create_update_github_project( DEFAULT_HAS_ISSUES, DEFAULT_HAS_DOWNLOADS, DEFAULT_HAS_WIKI, GITHUB_SECURE_CONFIG, options, project, description, homepage)