fix: use --fixed-value flag when unsetting git config values
The tryConfigUnsetValue method was passing file paths directly to `git config --unset`, which treats the value argument as an extended regular expression. File paths contain `.` characters that would match any character instead of literal periods, potentially causing incorrect matches. Adding the --fixed-value flag ensures the value is treated as a literal string, fixing credential config cleanup in the v6-style authentication.
This commit is contained in:
parent
2df30281e1
commit
64240115db
2 changed files with 4 additions and 2 deletions
4
dist/index.js
vendored
4
dist/index.js
vendored
|
|
@ -979,7 +979,9 @@ class GitCommandManager {
|
||||||
else {
|
else {
|
||||||
args.push(globalConfig ? '--global' : '--local');
|
args.push(globalConfig ? '--global' : '--local');
|
||||||
}
|
}
|
||||||
args.push('--unset', configKey, configValue);
|
// Use --fixed-value to treat configValue as a literal string, not a regex pattern.
|
||||||
|
// This is important for file paths which contain regex special characters like '.'
|
||||||
|
args.push('--fixed-value', '--unset', configKey, configValue);
|
||||||
const output = yield this.exec(args, { allowAllExitCodes: true });
|
const output = yield this.exec(args, { allowAllExitCodes: true });
|
||||||
return output.exitCode === 0;
|
return output.exitCode === 0;
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -368,7 +368,7 @@ export class GitCommandManager {
|
||||||
} else {
|
} else {
|
||||||
args.push(globalConfig ? '--global' : '--local')
|
args.push(globalConfig ? '--global' : '--local')
|
||||||
}
|
}
|
||||||
args.push('--unset', configKey, configValue)
|
args.push('--fixed-value', '--unset', configKey, configValue)
|
||||||
const output = await this.exec(args, {allowAllExitCodes: true})
|
const output = await this.exec(args, {allowAllExitCodes: true})
|
||||||
return output.exitCode === 0
|
return output.exitCode === 0
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue