git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 2/4] git gui: cope with duplicates in _get_recentrepo

From
Philip Oakley <philipoakley@iee.org>
Date
Dec 16, 2015, 23:58 UTC
Message-ID
<1450310287-4936-3-git-send-email-philipoakley@iee.org>
In-Reply-To
<1450310287-4936-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.6.4.windows.1
Previous: Philip OakleyNext: Philip Oakley
Message 3 of 11 in “Fix git-gui when recentrepo list has duplicates”
  1. 0/4 Fix git-gui when recentrepo list has duplicatesPhilip Oakley, Dec 16, 2015
  2. 1/4 git-gui: de-dup entries from gui.recentrepoPhilip Oakley, Dec 16, 2015
  3. 2/4 git gui: cope with duplicates in _get_recentrepoPhilip Oakley, Dec 16, 2015
  4. 3/4 git gui: de-dup selected repo from recentrepo historyPhilip Oakley, Dec 16, 2015
  5. 4/4 git gui: allow for a long recentrepo listPhilip Oakley, Dec 16, 2015
  6. Junio C HamanoDec 17, 2015
  7. Philip OakleyDec 17, 2015
  8. Philip OakleyDec 17, 2015
  9. 4/4 git gui: allow for a long recentrepo listPhilip Oakley, Dec 17, 2015
  10. Junio C HamanoDec 17, 2015
  11. Philip OakleyDec 17, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.