Veni
I believe I tried everything:
- checked the server configuration
- checked the ~/.subversion permissions, all 600
- checked the ~/.subversion/config file
- store-plaintext-passwords = yes
- store-passwords = yes
- store-auth-creds = yes
- did the above both in the
[global]
and [groups]
section with my username
- checked the ~/.subversion/servers file
For all configuration files, I verified all sections, and also entered one wrong parameter and verified that the svn client stopped working (so, the config file was being read).
- removed and re-created the ~/.subversion/auth directory
Checked that the client configuration in $HOME/.subversion/config
disabled password stores:
[auth]
### Set password stores used by Subversion. They should be
### delimited by spaces or commas. The order of values determines
### the order in which password stores are used.
# password-stores = gpg-agent,gnome-keyring,kwallet
### To disable all password stores, use an empty list:
password-stores =
### Both 'store-passwords' and 'store-auth-creds' can now be
### specified in the 'servers' file in your config directory
### and are documented there. Anything specified in this section
### is overridden by settings specified in the 'servers' file.
store-passwords = yes # just in case
store-auth-creds = yes # just in case
Nothing worked.
Vidi
Then I read the fine manuals. Everything was copacetic: you are not expected to be able to do this. "On Unix systems, client-side storage of passwords in plaintext on disk is disabled by default at compile-time".
Vici
Fortunately, the part that reads the passwords is still there in the client binary. So, if the password happened to be stored, it would work. I am running SVN 1.13:
svn, version 1.13.0 (r1867053)
compiled Mar 24 2020, 12:33:36 on x86_64-pc-linux-gnu
So I opened the file just created in the ~/.subversion/auth/svn.simple
directory (it may contain more than one file, you might need to inspect them to find the one with the realm you want) and found this content:
K 15
svn:realmstring
V 37
<svn://home.sweet.home:3690> Profekto
K 8
username
V 6
lserni
END
The syntax is straightforward: "K" is the key followed by the length of the key, "V" is the value followed by the length of the value.
At the top of the file, I added by hand the eight lines that supply the plaintext password:
K 8
passtype
V 6
simple
K 8
password
V 20
NotTheActualPassword
(Note: on the latest Ubuntu, passtype is by default gpg-agent, and so my password gets overwritten. So I have to change "K 9 V gpg-agent" to "K 6 V simple". You may not believe this - and I might have made some mistake when I thought I observed this behaviour - but if the K 8 passtype
is not present in the file, you have to add it before username and password, or it will not work).
and now it works.