threads / patch / 59171

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

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

## tl;dr

3 messages between Feb 1, 2023 and Apr 20, 2024. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Orgad Shaneh via GitGitGadget· Feb 1, 2023, 08:26 UTC · lore
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(-)
Show changes to git-gui/git-gui.sh +1 −1
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
-- 
gitgitgadget
Junio C Hamano· Feb 1, 2023, 17:22 UTC · re: Orgad Shaneh via GitGitGadget · lore

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

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:
Show 44 quoted lines
> 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· Apr 20, 2024, 21:58 UTC · re: Junio C Hamano · lore

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

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:
Show 61 quoted lines
>
> 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

← back to recent threads