Feature: Add git drs remote remove command parity with user expectations and safer UX
Summary
Users frequently try git remote remove <name> when they intend to remove a Git DRS remote. This does not work because Git remotes and Git DRS remotes are different config domains.
We should provide a discoverable, user-friendly Git DRS removal workflow with clear guidance and safe defaults.
Problem Statement
From user feedback:
- Users run
git drs remote list and identify an unwanted DRS remote.
- They attempt
git remote remove <name>, which only removes [remote "..."] Git entries, not lfs.customtransfer.drs.remote.* entries.
- There was no obvious
git drs remote remove/rm path in command discovery.
- Manual
.git/config editing is error-prone and can leave stale default-remote values.
Proposed Feature Scope
- Provide
git drs remote remove <name> and short alias git drs remote rm <name>.
- Remove matching DRS remote config entries from namespaced keys (
lfs.customtransfer.drs.remote.*).
- Also clean legacy keys (
drs.remote.*) where present.
- If the removed remote is the default, automatically reassign to an existing remote or clear default when no remotes remain.
- Improve command help/docs with an explicit note that
git remote remove does not manage Git DRS remotes.
Acceptance Criteria
git drs remote rm foo removes remote foo from git drs remote list.
- No
lfs.customtransfer.drs.remote.foo.* entries remain in .git/config.
- If
foo was default and other remotes exist, one remaining remote becomes default.
- If
foo was the last remote, no default remote is set.
- Docs include usage examples for both
remove and rm and a migration note from manual config edits.
User Impact
- Reduces support burden from config-edit workarounds.
- Prevents broken states caused by stale defaults.
- Aligns behavior with common CLI expectations (
rm shorthand).
Feature: Add
git drs remote removecommand parity with user expectations and safer UXSummary
Users frequently try
git remote remove <name>when they intend to remove a Git DRS remote. This does not work because Git remotes and Git DRS remotes are different config domains.We should provide a discoverable, user-friendly Git DRS removal workflow with clear guidance and safe defaults.
Problem Statement
From user feedback:
git drs remote listand identify an unwanted DRS remote.git remote remove <name>, which only removes[remote "..."]Git entries, notlfs.customtransfer.drs.remote.*entries.git drs remote remove/rmpath in command discovery..git/configediting is error-prone and can leave staledefault-remotevalues.Proposed Feature Scope
git drs remote remove <name>and short aliasgit drs remote rm <name>.lfs.customtransfer.drs.remote.*).drs.remote.*) where present.git remote removedoes not manage Git DRS remotes.Acceptance Criteria
git drs remote rm fooremoves remotefoofromgit drs remote list.lfs.customtransfer.drs.remote.foo.*entries remain in.git/config.foowas default and other remotes exist, one remaining remote becomes default.foowas the last remote, no default remote is set.removeandrmand a migration note from manual config edits.User Impact
rmshorthand).