From: Philip Oakley Date: Sun, 22 Jan 2017 19:52:58 GMT Subject: [PATCH v3 1/4] git-gui: remove duplicate entries from .gitconfig's gui.recentrepo Message-ID: <20170122195301.1784-2-philipoakley@iee.org> In-Reply-To: <20170122195301.1784-1-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). And also by zosrothko as a Git-for-Windows issue https://github.com/git-for-windows/git/issues/1014. On startup the gui checks that entries in the recentrepo list are still valid repos and deletes thoses that are not. If duplicate entries are present the '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 Signed-off-by: Philip Oakley --- lib/choose_repository.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 75d1da8..133ca0a 100644 --- a/lib/choose_repository.tcl +++ b/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.9.0.windows.1.323.g0305acf