Hi,

according to the documentation, the "svn list" command should "list each
TARGET file and the contents of each TARGET directory as they exist in
the repository." However I think this is not true for repositories with
path-based authorization.

I have a repository with various subdirectories at the root, each with
different access rights defined by an authz file. A simplified example
is presented in the following:

   repository
    +- 1_public
        +- 1.txt
    +- 2_secret
        +- 2.txt
    +- 3_public
        +- 3.txt

The "1_public" and "3_public" subdirectories are readable by every
authorized user. The access to "2_secret" is restricted to a certain
group of users.

When an "unprivileged" user performs an "svn list" on the repository,
the following happens:

   > svn list --verbose --recursive svn://server/repository
         1 user                  Sep 13 22:35 ./
         1 user                  Sep 13 22:35 1_public/
         1 user              123 Sep 13 22:35 1_public/1.txt
         1 user                  Sep 13 22:35 2_secret/
   svn: Authorization failed

The process aborts at the first subdirectory that is not accessible by
the respective user. However, when compared to what "svn checkout" does
in the same situation, this seems inconsistent:

   > svn co svn://server/repository
   A    test\3_public
   A    test\3_public\3.txt
   A    test\1_public
   A    test\1_public\1.txt
   Checked out revision 1.

I would expect "svn list" to work in very much the same way than "svn
checkout", which means that it should continue to run and show me the
contents of the "3_public" subdirectory.

Is there a way to force "svn list" to do this?

What I'm trying to do is to automatically calculate the size of the part
of the repository a certain user has access to. However, this requires
"svn list" to list all files, even if a subfolder is inaccessible,
because "svn checkout" would omit it anyway.

Even if there is another way to handle this, I would still vote for "svn
list" becoming consistent to "svn checkout" for that matter.

Thank you very much in advance for your suggestions!

Tested with SlikSVN 1.6.12, but reproducible with many other older SVN
clients as well.

-- 
Michael Geisinger

Reply via email to