diff --git a/CHANGELOG b/CHANGELOG index e4b474c4f05dd1e319290a26c80a1d140c052936..9bdb0d551be570b223c3801e4f8798aed700fcbc 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +gitlab-mirrors v0.2.5 +* Fixed a critical bug with pagination when user can view more projects than 20. + * Had to patch upstream python-gitlab library for this functionality. + gitlab-mirrors v0.2.4 * Fixing critical git svn mirror bug. diff --git a/lib/manage_gitlab_project.py b/lib/manage_gitlab_project.py index 5452e15d4a1a805d7da1f01cf9614ce98272e14c..d59d2825cd7bf2c9babe37ebbbde64445bc67f3f 100755 --- a/lib/manage_gitlab_project.py +++ b/lib/manage_gitlab_project.py @@ -52,9 +52,12 @@ def findgroup(gname): exit(1) def findproject(gname,pname): - for project in git.getProjects(): - if project['namespace']['name'] == gname and project['name'] == pname: - return project + page=1 + while len(git.getProjects(page=page)) > 0: + for project in git.getProjects(page=page): + if project['namespace']['name'] == gname and project['name'] == pname: + return project + page += 1 else: return False @@ -68,6 +71,7 @@ def createproject(pname): description=options.desc new_project=git.createProject(pname,description=description,issues_enabled=str(int(options.issues)),wall_enabled=str(int(options.wall)),merge_requests_enabled=str(int(options.merge)),wiki_enabled=str(int(options.wiki)),snippets_enabled=str(int(options.snippets)),public=str(int(options.public))) new_project=findproject(gitlab_user,pname) + print new_project new_project=git.moveProject(found_group['id'],new_project['id']) if findproject(gitlab_namespace,pname): return findproject(gitlab_namespace,pname)