Hi folks,

any chance this patch can be merged?

Gr.

Matthijs

On Tue, Jun 18, 2013 at 06:38:10PM +0200, Matthijs Kooijman wrote:
> This allows git-svn to prompt for a keyring unlock password, when a
> the needed gnome keyring is locked.
> 
> This requires changes in the subversion perl bindings which have been
> committed to svn trunk (r1241554 and some followup commits) and are
> first available in the 1.8.0 release.
> ---
>  perl/Git/SVN/Prompt.pm |  5 +++++
>  perl/Git/SVN/Ra.pm     | 13 +++++++++++++
>  2 files changed, 18 insertions(+)
> 
> diff --git a/perl/Git/SVN/Prompt.pm b/perl/Git/SVN/Prompt.pm
> index e940b08..faeda01 100644
> --- a/perl/Git/SVN/Prompt.pm
> +++ b/perl/Git/SVN/Prompt.pm
> @@ -23,6 +23,11 @@ sub simple {
>       $SVN::_Core::SVN_NO_ERROR;
>  }
>  
> +sub gnome_keyring_unlock {
> +     my ($keyring, $pool) = @_;
> +     _read_password("Password for '$keyring' GNOME keyring: ", undef);
> +}
> +
>  sub ssl_server_trust {
>       my ($cred, $realm, $failures, $cert_info, $may_save, $pool) = @_;
>       $may_save = undef if $_no_auth_cache;
> diff --git a/perl/Git/SVN/Ra.pm b/perl/Git/SVN/Ra.pm
> index 75ecc42..38ed0cb 100644
> --- a/perl/Git/SVN/Ra.pm
> +++ b/perl/Git/SVN/Ra.pm
> @@ -104,6 +104,19 @@ sub new {
>               }
>       } # no warnings 'once'
>  
> +     # Allow git-svn to show a prompt for opening up a gnome-keyring, if 
> needed.
> +     if (defined(&SVN::Core::auth_set_gnome_keyring_unlock_prompt_func)) {
> +             my $keyring_callback = 
> SVN::Core::auth_set_gnome_keyring_unlock_prompt_func(
> +                     $baton,
> +                     \&Git::SVN::Prompt::gnome_keyring_unlock
> +             );
> +             # Keep a reference to this callback, to prevent the function
> +             # (reference) from being garbage collected.  We just add it to
> +             # the callbacks value, which are also used only to prevent the
> +             # garbage collector from eating stuff.
> +             $callbacks = [$callbacks, $keyring_callback]
> +     }
> +
>       my $self = SVN::Ra->new(url => $url, auth => $baton,
>                             config => $config,
>                             pool => SVN::Pool->new,
> -- 
> 1.8.3.rc1
> 
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to