From: Philip Oakley Date: Wed, 16 Dec 2015 22:46:23 GMT Subject: Re: [PATCH v1 1/4] git-gui: remove duplicate entries from .gitconfig's gui.recentrepo Message-ID: In-Reply-To: From: "Eric Sunshine" > On Monday, December 14, 2015, Philip Oakley wrote: >> 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). > > s/multiply/multiple/ The original report has that mistake. I'll quote the thread title. > >> 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 > > s/thoses/those/ OK > >> present the 'git config --unset' will barf and this prevents the gui > > s/present the/present, then/ OK [my first glance thought the change was to the 'prevents the' at the end...] > >> 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 >> --- >> 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 >> } -- Will re-roll to give Pat the opportunity to include in any 2.7 update. Philip