git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Björn Steinbrink" <B.Steinbrink@gmx.de>
To: Alexander Gladysh <agladysh@gmail.com>
Cc: "Shawn O. Pearce" <spearce@spearce.org>, git@vger.kernel.org
Subject: Re: Git GUI vs interactive post-commit hooks
Date: Mon, 19 May 2008 15:19:42 +0200	[thread overview]
Message-ID: <20080519131942.GA5526@atjola.homenet> (raw)
In-Reply-To: <c6c947f60805190348g3395f8degae81963b402856b6@mail.gmail.com>

On 2008.05.19 14:48:14 +0400, Alexander Gladysh wrote:
> Hi, list!
> 
> $ git --version
> git version 1.5.5.1
> 
> I have a post-commit hook which does backups for me:
> 
>   username=agladysh
>   for name in `git branch | cut -b3-`
>   do
>     remote=$username-$name
>     echo pushing $name as $remote
>     git push backup +$name:refs/heads/$remote
>   done

Isn't that what "git push --all" does? And that will only ask for a
password once, not for every branch.

> The backup repo is behind ssh. Recently I have put password on my ssh
> key and post-commit hook ask me for password once for each branch.
> This makes unhappy commit process from Git GUI -- after I shut it
> down, there are multiple ssh key password prompts in the shell from
> where I launched it, and it does not display any input I enter.
> 
> Any advice? I do want to input password for my key each time I use it.

For a graphical tool, you might want to use something like
gtk-led-askpass, which shows a window with a password prompt. SSH will
make use of it if SSH_ASKPASS contains its path _and_ ssh is not started
from a terminal. Unfortunately, the latter is probably not true for git
gui most of the time.

One way hack around this is to do "setsid git push ..." in your
post-commit hook. But that will break if you have no X or no tool for
SSH_ASKPASS.

Another really hackish work-around is to
replace:
 exec 'wish' "$argv0" -- "$@"
with
 exec 'setsid' 'wish' "$argv0" -- "$@"

in git-gui. Git gui will then get its own session, detached from the
terminal and ssh will start using SSH_ASKPASS. That at least won't break
when you're not running X (simply because you won't be running git gui
then ;-)), but doesn't feel smart either.

Maybe someone else can come up with a sane solution that makes git gui
more SSH_ASKPASS-friendly.

Björn

  reply	other threads:[~2008-05-19 13:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-19 10:48 Git GUI vs interactive post-commit hooks Alexander Gladysh
2008-05-19 13:19 ` Björn Steinbrink [this message]
2008-05-19 13:42   ` Alexander Gladysh
2008-05-19 14:11     ` Björn Steinbrink
2008-05-20 22:31   ` Alex Riesen
2008-05-20 23:02     ` Björn Steinbrink
2008-05-20 23:16       ` Jeff King
2008-05-22 12:53       ` Alex Riesen
2008-05-22 15:12         ` Björn Steinbrink

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080519131942.GA5526@atjola.homenet \
    --to=b.steinbrink@gmx.de \
    --cc=agladysh@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).