ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The unhelpful error comes from a copy-paste error in the error handling code of that function. That should be fixed.
The root problem is that github returned a non 200 response when listing repositories. I don't know why that is occurring, especially without the actual response code.
Until I get it patched in bloom upstream, can you try modifying your github.py
file with this patch and running again?
diff --git a/bloom/github.py b/bloom/github.py
index 1fc505b..b7d758d 100644
--- a/bloom/github.py
+++ b/bloom/github.py
@@ -121,10 +121,11 @@ class Github(object):
page = start_page or 1
repos = []
while True:
- resp = do_github_get_req('/users/{user}/repos?page={page}'.format(**locals()), auth=self.auth)
+ url = '/users/{user}/repos?page={page}'.format(**locals())
+ resp = do_github_get_req(url, auth=self.auth)
if '{0}'.format(resp.status) not in ['200']:
raise GithubException(
- "Failed to get information for repository '{owner}/{repo}'".format(**locals()), resp)
+ "Failed to list repositories for user '{user}' using url '{url}'".format(**locals()), resp)
new_repos = json.loads(resp.read())
if not new_repos:
return repos
2 | No.2 Revision |
The unhelpful error comes from a copy-paste error in the error handling code of that function. That should be fixed.
The root problem is that github returned a non 200 response when listing repositories. I don't know why that is occurring, especially without the actual response code.
Until I get it patched in bloom upstream, can you try modifying your github.py
file with this patch and running again?
diff --git a/bloom/github.py b/bloom/github.py
index 1fc505b..b7d758d 100644
--- a/bloom/github.py
+++ b/bloom/github.py
@@ -121,10 +121,11 @@ class Github(object):
page = start_page or 1
repos = []
while True:
- resp = do_github_get_req('/users/{user}/repos?page={page}'.format(**locals()), auth=self.auth)
+ url = '/users/{user}/repos?page={page}'.format(**locals())
+ resp = do_github_get_req(url, auth=self.auth)
if '{0}'.format(resp.status) not in ['200']:
raise GithubException(
- "Failed to get information for repository '{owner}/{repo}'".format(**locals()), resp)
+ "Failed to list repositories for user '{user}' using url '{url}'".format(**locals()), resp)
new_repos = json.loads(resp.read())
if not new_repos:
return repos
EDIT:
Looking at the logs again I see that you have gotten a 401 unauthorized at a different step:
Received GithubException while checking for fork: Failed to get information for repository 'davetcoleman/rosdistro': 401 Unauthorized
So I guess bloom is taking this general error as a fork does not exist, so it is trying to list the repos you have to make sure there is not a name conflict, i.e. make sure you don't have a repo 'davetcoleman/rosdistro' already which is not a fork of 'ros/rosdistro' and this is where the 401 becomes fatal.
3 | No.3 Revision |
EDIT: The problem is that you have two computers with the same name, bloom creates the name of the oauth token as bloom <bloom's version> on <computer name>
which collides if you use the same version of bloom on the same computer. You can open a ticket on the bloom issue tracker, but manually renaming one of them would work around the issue.
The unhelpful error comes from a copy-paste error in the error handling code of that function. That should be fixed.
The root problem is that github returned a non 200 response when listing repositories. I don't know why that is occurring, especially without the actual response code.
Until I get it patched in bloom upstream, can you try modifying your github.py
file with this patch and running again?
diff --git a/bloom/github.py b/bloom/github.py
index 1fc505b..b7d758d 100644
--- a/bloom/github.py
+++ b/bloom/github.py
@@ -121,10 +121,11 @@ class Github(object):
page = start_page or 1
repos = []
while True:
- resp = do_github_get_req('/users/{user}/repos?page={page}'.format(**locals()), auth=self.auth)
+ url = '/users/{user}/repos?page={page}'.format(**locals())
+ resp = do_github_get_req(url, auth=self.auth)
if '{0}'.format(resp.status) not in ['200']:
raise GithubException(
- "Failed to get information for repository '{owner}/{repo}'".format(**locals()), resp)
+ "Failed to list repositories for user '{user}' using url '{url}'".format(**locals()), resp)
new_repos = json.loads(resp.read())
if not new_repos:
return repos
EDIT:
Looking at the logs again I see that you have gotten a 401 unauthorized at a different step:
Received GithubException while checking for fork: Failed to get information for repository 'davetcoleman/rosdistro': 401 Unauthorized
So I guess bloom is taking this general error as a fork does not exist, so it is trying to list the repos you have to make sure there is not a name conflict, i.e. make sure you don't have a repo 'davetcoleman/rosdistro' already which is not a fork of 'ros/rosdistro' and this is where the 401 becomes fatal.