diff mbox series

git-gui: fix inability to quit after closing another instance

Message ID pull.1446.git.git.1675239967804.gitgitgadget@gmail.com (mailing list archive)
State New, archived
Headers show
Series git-gui: fix inability to quit after closing another instance | expand

Commit Message

Orgad Shaneh Feb. 1, 2023, 8:26 a.m. UTC
From: Orgad Shaneh <orgads@gmail.com>

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 <orgads@gmail.com>
---
    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(-)


base-commit: 2fc9e9ca3c7505bc60069f11e7ef09b1aeeee473

Comments

Junio C Hamano Feb. 1, 2023, 5:22 p.m. UTC | #1
Orgad, thanks for a patch.
Yadav, this came to git@vger.kernel.org, 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" <gitgitgadget@gmail.com> writes:

> From: Orgad Shaneh <orgads@gmail.com>
>
> 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 <orgads@gmail.com>
> ---
>     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
Orgad Shaneh April 20, 2024, 9:58 p.m. UTC | #2
Hi Junio/Yadav,

It's been more than a year since I opened a PR to git-gui upstream
(https://github.com/prati0100/git-gui/pull/91). I pinged several
times, but it looks like nobody's home.

Is it possible to accept it to git nevertheless? This is an annoying
issue, and the fix is trivial.

Thanks!

- Orgad


On Wed, Feb 1, 2023 at 7:22 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> Orgad, thanks for a patch.
> Yadav, this came to git@vger.kernel.org, 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" <gitgitgadget@gmail.com> writes:
>
> > From: Orgad Shaneh <orgads@gmail.com>
> >
> > 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 <orgads@gmail.com>
> > ---
> >     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
diff mbox series

Patch

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]]