svn setup with gpg-agent and pinentry-(tty|curses)

1.8k Views Asked by At

I am trying to setup svn to store my svn password in gpg-agent.

As there is no X on the box, my pinentry program would be either pinentry-tty or pinentry-curses.

Unfortunately. there seems to be a problem:

% svn up
Updating '.':

And now everything hangs. I checked with strace and the last message send to gpg-agent is GET_PASSPHRASE. I see in the process list, that a pinentry process is launched.

I also tried to run gpg-connect-agent updatestartuptty /bye before running svn up, but this did not change anything.

So has anybody such a setup? Or some idea how to fix/debug this?

1

There are 1 best solutions below

1
On

Both of those require an interactive session, which might not given when called by svn (although I'm not sure about this).

A better solution might be to preset the passphrase by running gpg-preset-passphrase (usually in /usr/lib/gnupg2/gpg-preset-passphrase or /usr/lib/gnupg/gpg-preset-passphrase), which must also be allowed in ~/.gnupg/gpg-agent.conf before by adding a line reading allow-preset-passphrase.

After adding the passphrase to the cache, you will be able to perform operations using GnuPG for a configurable time (which can be arbitrary long).