[PATCH v1 2/4] git gui: cope with duplicates in _get_recentrepo
- From
Philip Oakley <philipoakley@iee.org>
- Date
- Dec 14, 2015, 15:09 UTC
- Message-ID
- <1450105743-2432-3-git-send-email-philipoakley@iee.org>
- In-Reply-To
- <1450105743-2432-1-git-send-email-philipoakley@iee.org>
_get_recentrepo will fail if duplicate invalid entries are present in the recentrepo config list. The previous commit fixed the 'git config' limitations in _unset_recentrepo by unsetting all config entries, however this code would fail on the second attempt to unset it.
Refactor the code to pre-sort and de-duplicate the recentrepo list to avoid a potential second unset attempt.
Signed-off-by: Philip Oakley <philipoakley@iee.org> --- git-gui/lib/choose_repository.tcl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl index 133ca0a..aa87bcc 100644 --- a/git-gui/lib/choose_repository.tcl +++ b/git-gui/lib/choose_repository.tcl @@ -235,14 +235,14 @@ method _invoke_next {} { proc _get_recentrepos {} { set recent [list] - foreach p [get_config gui.recentrepo] { + foreach p [lsort -unique [get_config gui.recentrepo]] { if {[_is_git [file join $p .git]]} { lappend recent $p } else { _unset_recentrepo $p } } - return [lsort $recent] + return $recent } proc _unset_recentrepo {p} {
-- 2.5.2.windows.2