subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexey Neyman <sti...@att.net>
Subject Re: Weird behavior of `svn --non-interactive`
Date Wed, 27 Feb 2019 06:15:32 GMT
On 2/26/19 8:42 PM, Alexey Neyman wrote:
> On 2/26/19 12:07 AM, Stefan Sperling wrote:
>> On Mon, Feb 25, 2019 at 05:41:13PM -0800, Alexey Neyman wrote:
>>> Hi all,
>>>
>>> I am encountering some weird behavior after upgrading my workstation to
>>> Ubuntu 18.10 - which also upgraded the SVN to version 1.10.0 
>>> (r1827917).
>>>
>>> An attempt to query anything from the server using the 
>>> `--non-interactive`
>>> flag fails, unless there has been a recent "interactive session" 
>>> with this
>>> server.
>>>
>>> aneyman@yehat:~/work/lsk-ranges$ svn --non-interactive pl ^/
>>> svn: E170013: Unable to connect to a repository at URL
>>> 'svn://svn.lynx.com/lynxsecure'
>>> svn: E170001: Can't get username or password
>>> aneyman@yehat:~/work/lsk-ranges$ svn pl ^/
>>> Properties on 'svn://svn.lynx.com/lynxsecure':
>>>    reviewboard:url
>>> aneyman@yehat:~/work/lsk-ranges$ svn --non-interactive pl ^/
>>> Properties on 'svn://svn.lynx.com/lynxsecure':
>>>    reviewboard:url
>>>
>>> This happens during various actions by `rbt` (RBTools) which runs 
>>> svn with
>>> --non-interactive flag.
>>>
>>> Note that the "interactive" run of svn does not even query the 
>>> password - it
>>> happily uses the stored password and proceeds. Why isn't the 
>>> non-interactive
>>> invocation doing the same?
>>>
>>> I also tried the development version of Subversion a couple of weeks 
>>> ago; it
>>> has the same behavior.
>>>
>>> Regards,
>>> Alexey.
>> I agree this looks like a bug.
>>
>> To find the bug we'll likely need to know which password store is
>> actually being used by your installation of Subversion.
>> plaintext? gpg-agent? gnome-keyring? kwallet?
>>
> SVN configuration doesn't have the password store option specified, so 
> I assume it is using the default - according to the comment in the 
> .subversion/config, it is "gpg-agent,gnome-keyring,kwallet". I have 
> kwallet installed and configured with empty master password. I also 
> have gpg-agent and gnome-keyring installed, but I don't think I ever 
> used either of them on that machine. How can I check which store was 
> SVN actually trying to use at the time it happens?
Actually, it is gpg-agent.

I went to $HOME/.subversion/auth/svn.simple; somehow there is a mixture 
of files using gpg-agent and gnome-keyring authentication methods. I 
found the one corresponding to the repository URL; it has:

K 8
passtype
V 9
gpg-agent

Funny thing is, I found another file in that directory that refers to 
the same repository, just with a different URL (one is using the FQDN of 
the Subversion server, the other just the hostname). That other file 
uses gnome-keyring and it seems to work fine:

aneyman@yehat:~/work/lsk-pristine$ svn --non-interactive pl 
svn://svn/lynxsecure
Properties on 'svn://svn/lynxsecure':
   reviewboard:url
aneyman@yehat:~/work/lsk-pristine$ svn --non-interactive pl 
svn://svn.lynx.com/lynxsecure
svn: E170013: Unable to connect to a repository at URL 
'svn://svn.lynx.com/lynxsecure'
svn: E170001: Can't get username or password

How does SVN decide when to use gpg-agent and when to use gnome-keyring? 
By the way, I am running KDE so I'd assume the kwallet would be the 
default - but it isn't...

If you need me to build Subversion with some kind of debugging patch, 
let me know.

Regards,
Alexey.


Mime
View raw message