Re: [PATCH v1 1/4] git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
On Monday, December 14, 2015, Philip Oakley <philipoakley@iee.org> wrote:
Show 8 quoted lines
> 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 thoses that are not. If duplicate entries are
> present the 'git config --unset' will barf and this prevents the gui
s/present the/present, then/
Show 23 quoted lines
> 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>
> ---
> 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.5.2.windows.2