diff options
author | Philip Oakley <philipoakley@iee.org> | 2015-12-14 11:19:32 +0000 |
---|---|---|
committer | Philip Oakley <philipoakley@iee.org> | 2017-01-20 21:03:34 +0000 |
commit | 3202c68ee0060d3a1f3b6f73b4932c6e8b263abb (patch) | |
tree | be02dc7f5423ff4fbee21cabd1a072877fe0e639 /lib/choose_repository.tcl | |
parent | git-gui: remove duplicate entries from .gitconfig's gui.recentrepo (diff) | |
download | tgif-3202c68ee0060d3a1f3b6f73b4932c6e8b263abb.tar.xz |
git gui: cope with duplicates in _get_recentrepo
_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>
Diffstat (limited to 'lib/choose_repository.tcl')
-rw-r--r-- | lib/choose_repository.tcl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 133ca0ac35..aa87bcc344 100644 --- a/lib/choose_repository.tcl +++ b/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} { |