Subversion does not create .subversion directory as non-root user when run from chef


#1

Given the following recipe:


user "biocbuild" do
    supports :manage_home => true
    home "/home/biocbuild"
    shell "/bin/bash"
    action :create
end


subversion "/home/biocbuild" do
  user "biocbuild"
  repository "https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks"
  svn_arguments "--depth empty"
  svn_username "readonly"
  svn_password "readonly"
end

It creates /home/biocbuild/MEAT0 as expected, but does NOT create /home/biocbuild/.subversion which I expect and rely on.

Similarly, if I change the second resource from a subversion resource to an execute resource:

execute 'shallow MEAT0 checkout' do
  command "svn co --depth empty --non-interactive --username readonly --password readonly https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/ MEAT0"
  cwd "/home/biocbuild"
  user 'biocbuild'
  not_if {File.exists? "/home/biocbuild/MEAT0/.svn"}
end

…it also fails to create the /home/biocbuild/.subversion directory.

If I run the command manually on my node:

svn co --depth empty --non-interactive --username readonly --password readonly https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/ MEAT0```

…that does create the /home/biocbuild/.subversion directory.

Why doesn’t that directory get created via chef using either of the two methods listed?

If I run the subversion or execute resource as root, then it creates the .subversion directory, but in the wrong place and with the wrong permissions.
This suggests as workaround (move .subversion directory, recursively chown it and the repository I checked out to be owned by the appropriate user) but I should not have to do that. Is this a bug?