Roberto Reale wrote on Mon, Oct 26, 2015 at 20:56:30 +0100:
> I've endeavoured to improve on my previous patch, by adopting a
> heuristic approach as follows:
> 
> 1) First and foremost, for each file in the backup copy I try and
> assign permissions based on those of the corresponding file in the
> source repository, if the latter does indeed exist.
> 2) Should this fail, I infer the permissions from the context, i.e. I
> choose one "typical file" from the same folder.
> 3) Should the folder itself be empty, I assign permissions based on
> the current umask.
> 
> Do you deem such an approach to be correct?

A bit late, but:

I think (3) should fall back to $REPOS_DIR/db/fs-type (which is
guaranteed to exist) rather than to umask.  (The umask has the right
dimension — permission bits — but using it might surprise users.)

Of academic interest [if you accept the change in the above paragraph]:
the os.listdir() call had an O(N²) cost where N is the number of files
in a directory, aka, was inefficient for unsharded FSFS repositories.

I don't have any other comments, but I haven't read the patch closely
enough to be comfortable committing it, either.  Please feel free to
file an issue in our bug tracker about this patch, so we don't forget
it: https://issues.apache.org/jira/browse/SVN

Cheers,

Daniel

Reply via email to