From 6ad1959d437afc8349f605f5f5d816ebdf0ab8e2 Mon Sep 17 00:00:00 2001 From: Rodos Date: Sat, 29 Nov 2025 21:16:22 +1100 Subject: [PATCH] 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 #198 --- github_backup/github_backup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/github_backup/github_backup.py b/github_backup/github_backup.py index dcf79e8..a54e299 100644 --- a/github_backup/github_backup.py +++ b/github_backup/github_backup.py @@ -1587,7 +1587,9 @@ def filter_repositories(args, unfiltered_repositories): repositories = [] for r in unfiltered_repositories: # gists can be anonymous, so need to safely check owner - if r.get("owner", {}).get("login") == args.user or r.get("is_starred"): + # Use case-insensitive comparison to match GitHub's case-insensitive username behavior + owner_login = r.get("owner", {}).get("login", "") + if owner_login.lower() == args.user.lower() or r.get("is_starred"): repositories.append(r) name_regex = None