Skip to content

Commit 7fa2341

Browse files
committed
case-insensitive handling for github usernames
1 parent 7038743 commit 7fa2341

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

gh-sks.sh

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,13 @@ if [[ "${1:-}" == "--add" ]]; then
111111
exit 1
112112
fi
113113
LINUX_USER="$2"
114-
GITHUB_USER="$3"
114+
GITHUB_USER="${3,,}" # GitHub usernames are case-insensitive; normalise to lowercase
115115

116116
mkdir -p "$(dirname "${CONFIG_FILE}")"
117117
touch "${CONFIG_FILE}"
118118

119-
# Check for duplicate
120-
if grep -qE "^\s*${LINUX_USER}\s+${GITHUB_USER}\s*$" "${CONFIG_FILE}"; then
119+
# Check for duplicate (case-insensitive on github username)
120+
if grep -qiE "^\s*${LINUX_USER}\s+${GITHUB_USER}\s*$" "${CONFIG_FILE}"; then
121121
log_warn "Mapping already exists: ${LINUX_USER} ${GITHUB_USER}"
122122
exit 0
123123
fi
@@ -140,19 +140,19 @@ if [[ "${1:-}" == "--remove" ]]; then
140140
exit 1
141141
fi
142142
LINUX_USER="$2"
143-
GITHUB_USER="$3"
143+
GITHUB_USER="${3,,}" # GitHub usernames are case-insensitive; normalise to lowercase
144144

145145
if [[ ! -f "${CONFIG_FILE}" ]]; then
146146
log_error "Config file not found: ${CONFIG_FILE}"
147147
exit 1
148148
fi
149149

150-
if ! grep -qE "^\s*${LINUX_USER}\s+${GITHUB_USER}\s*$" "${CONFIG_FILE}"; then
150+
if ! grep -qiE "^\s*${LINUX_USER}\s+${GITHUB_USER}\s*$" "${CONFIG_FILE}"; then
151151
log_warn "Mapping not found: ${LINUX_USER} ${GITHUB_USER}"
152152
exit 1
153153
fi
154154

155-
sed -i "/^\s*${LINUX_USER}\s\+${GITHUB_USER}\s*$/d" "${CONFIG_FILE}"
155+
sed -i "/^\s*${LINUX_USER}\s\+${GITHUB_USER}\s*$/Id" "${CONFIG_FILE}"
156156
log_info "Removed mapping: ${LINUX_USER} <- github:${GITHUB_USER}"
157157
log_info "Run 'sudo gh-sks' to apply changes immediately."
158158
exit 0
@@ -273,6 +273,9 @@ for line in "${LINES[@]}"; do
273273
continue
274274
fi
275275

276+
# GitHub usernames are case-insensitive; normalise to lowercase
277+
github_user="${github_user,,}"
278+
276279
# Verify the Linux user exists
277280
if ! id "${linux_user}" &>/dev/null; then
278281
log_warn "Linux user '${linux_user}' does not exist — skipping."

0 commit comments

Comments
 (0)