Skip to content

Commit 6ad1959

Browse files
committed
fix: case-sensitive username filtering causing silent backup failures
GitHub's API accepts usernames in any case but returns canonical case. The case-sensitive comparison in filter_repositories() filtered out all repositories when user-provided case didn't match GitHub's canonical case. Changed to case-insensitive comparison. Fixes josegonzalez#198
1 parent 8b7512c commit 6ad1959

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

github_backup/github_backup.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1587,7 +1587,9 @@ def filter_repositories(args, unfiltered_repositories):
15871587
repositories = []
15881588
for r in unfiltered_repositories:
15891589
# gists can be anonymous, so need to safely check owner
1590-
if r.get("owner", {}).get("login") == args.user or r.get("is_starred"):
1590+
# Use case-insensitive comparison to match GitHub's case-insensitive username behavior
1591+
owner_login = r.get("owner", {}).get("login", "")
1592+
if owner_login.lower() == args.user.lower() or r.get("is_starred"):
15911593
repositories.append(r)
15921594

15931595
name_regex = None

0 commit comments

Comments
 (0)