summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Oakley <philipoakley@iee.org>2015-12-14 11:19:32 +0000
committerPhilip Oakley <philipoakley@iee.org>2017-01-20 21:03:34 +0000
commit3202c68ee0060d3a1f3b6f73b4932c6e8b263abb (patch)
treebe02dc7f5423ff4fbee21cabd1a072877fe0e639
parent2c1b06dff9a2b953c3692bacca6eeaa78d33fd01 (diff)
downloadgit-3202c68ee0060d3a1f3b6f73b4932c6e8b263abb.tar.gz
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>
-rw-r--r--lib/choose_repository.tcl4
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} {