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

[PATCH v2 1/4] git-gui: de-dup entries from gui.recentrepo

From
Philip Oakley <philipoakley@iee.org>
Date
Dec 16, 2015, 23:58 UTC
Message-ID
<1450310287-4936-2-git-send-email-philipoakley@iee.org>
In-Reply-To
<1450310287-4936-1-git-send-email-philipoakley@iee.org>

The git gui's recent repo list may become contaminated with duplicate entries. The git gui would barf when attempting to remove one entry. Remove them all - there is no option within 'git config' to selectively remove one of the entries.

This issue was reported on the 'Git User' list (https://groups.google.com/forum/#!topic/git-users/msev4KsQGFc, "Warning: gui.recentrepo has multiply values while executing").

On startup the gui checks that entries in the recentrepo list are still valid repos and deletes those that are not. If duplicate entries are present, then 'git config --unset' will barf and this prevents the gui from starting.

Subsequent patches fix other parts of recentrepo logic used for syncing internal lists with the external .gitconfig.

Reported-by: Alexey Astakhov <asstv7@gmail.com>
Signed-off-by: Philip Oakley <philipoakley@iee.org>
---
tightened the patch title
user report thread title now quoted
spelling corrected
fixed grammar (comma)
Eric's comments $gmane/282430
---
 git-gui/lib/choose_repository.tcl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl
index 75d1da8..133ca0a 100644
--- a/git-gui/lib/choose_repository.tcl
+++ b/git-gui/lib/choose_repository.tcl
@@ -247,7 +247,7 @@ proc _get_recentrepos {} {
 
 proc _unset_recentrepo {p} {
 	regsub -all -- {([()\[\]{}\.^$+*?\\])} $p {\\\1} p
-	git config --global --unset gui.recentrepo "^$p\$"
+	git config --global --unset-all gui.recentrepo "^$p\$"
 	load_config 1
 }
 
-- 
2.6.4.windows.1
Previous: Philip OakleyNext: Philip Oakley
Message 2 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.