Subject: Re: [PATCH] git-gui: fix inability to quit after closing another instance

From: Junio C Hamano <[email-masked]>
Date: Wed, 01 Feb 2023 09:22:42 -0800

Orgad, thanks for a patch.
Yadav, this came to [email-masked], so I'm forwarding.

cf. Documentation/SubmittingPatches

    == Subsystems with dedicated maintainers

    Some parts of the system have dedicated maintainers with their own
    repositories.

    - `git-gui/` comes from git-gui project, maintained by Pratyush Yadav:

            https://github.com/prati0100/git-gui.git

"Orgad Shaneh via GitGitGadget" <[email-masked]> writes:

> From: Orgad Shaneh <[email-masked]>
>
> If you open 2 git gui instances in the same directory, then close one
> of them and try to close the other, an error message pops up, saying:
> 'error renaming ".git/GITGUI_BCK": no such file or directory', and it
> is no longer possible to close the window ever.
>
> Fix by catching this error, and proceeding even if the file no longer
> exists.
>
> Signed-off-by: Orgad Shaneh <[email-masked]>
> ---
>     git-gui: fix inability to quit after closing another instance
>     
>     If you open 2 git gui instances in the same directory, then close one of
>     them and try to close the other, an error message pops up, saying:
>     'error renaming ".git/GITGUI_BCK": no such file or directory', and it is
>     no longer possible to close the window ever.
>     
>     Fix by catching this error, and proceeding even if the file no longer
>     exists.
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1446%2Forgads%2Fgit-gui-no-quit-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1446/orgads/git-gui-no-quit-v1
> Pull-Request: https://github.com/git/git/pull/1446
>
>  git-gui/git-gui.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
> index 201524c34ed..b00ee691e3b 100755
> --- a/git-gui/git-gui.sh
> +++ b/git-gui/git-gui.sh
> @@ -2307,7 +2307,7 @@ proc do_quit {{rc {1}}} {
>  		#
>  		set save [gitdir GITGUI_MSG]
>  		if {$GITGUI_BCK_exists && ![$ui_comm edit modified]} {
> -			file rename -force [gitdir GITGUI_BCK] $save
> +			catch { file rename -force [gitdir GITGUI_BCK] $save }
>  			set GITGUI_BCK_exists 0
>  		} elseif {[$ui_comm edit modified]} {
>  			set msg [string trim [$ui_comm get 0.0 end]]
>
> base-commit: 2fc9e9ca3c7505bc60069f11e7ef09b1aeeee473