Commit 1bad904
fix(init): dedupe duplicate third-party provider names
Address GitHub Copilot review feedback on PR #1971: when two
distributions register a third-party provider under the same name in
the `commitizen.provider` entry-point group, the user previously saw
two ambiguous choices in `cz init`. Track names in a `seen_names`
set (seeded with the built-in names) and skip subsequent matches so
each name appears at most once.
The conflict is not silenced — `commitizen.providers.get_provider`
already raises `VersionProviderUnknown` if more than one entry point
shares the name, so the user gets a clear error if they pick the
duplicated provider, instead of a confusing UI showing two identical
choices that resolve the same way.
Add `test_construct_version_provider_choices_dedupes_duplicate_third_party`
which simulates two `EntryPoint(name="duplicated", ...)` values and
asserts only one appears in the choice list.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent e4dcc5b commit 1bad904
2 files changed
Lines changed: 58 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
86 | 94 | | |
87 | 95 | | |
88 | 96 | | |
| |||
91 | 99 | | |
92 | 100 | | |
93 | 101 | | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
98 | 113 | | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | 114 | | |
103 | 115 | | |
104 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
551 | 551 | | |
552 | 552 | | |
553 | 553 | | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
0 commit comments