[PATCH v3 1/4] git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
- From
Philip Oakley <philipoakley@iee.org>
- Date
- Jan 22, 2017, 19:52 UTC
- 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 <asstv7@gmail.com> Signed-off-by: Philip Oakley <philipoakley@iee.org> --- 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