Here is an approach that does *not* satisfy both sides of this argument:
[[[
svn propset "svn:no-pristines" "*" doc/
cat >> ~/.subversion/config <<-EOF
[auto-props]
src/**/*.exe = "svn:no-pristines = *"
EOF
]]]
and we make standard Subversion control its pristine storage based on
looking for the versioned property "svn:no-pristines".
Here is an approach that *does* satisfy both sides of this argument. It
is indirect.
First step, we introduce one level of indirection, so that client
behaviour knobs are not attached directly to the versioned data:
[[[
svn propset "danielsahlberg:no-pristines" "*" doc/
cat >> ~/.subversion/config <<-EOF
[auto-props]
src/**/*.exe = "danielsahlberg:no-pristines = *"
[working-copy]
omit-pristines-where-this-prop-is-set = "danielsahlberg:no-pristines"
EOF
]]]
and we make standard Subversion control its pristine storage in
accordance with the config option "omit-pristines-where-this-prop-is-set".
Second step, we provide server-side configuration for automating those
config settings, as follows:
[[[
svn propset --revprop -r0 \
"svn:server-dictated-config:config:auto-props:src/**/*.exe" \
"danielsahlberg:no-pristines = *"
svn propset --revprop -r0 \
"svn:server-dictated-config:config:working-copy:omit-pristines-where-this-prop-is-set"
\
"danielsahlberg:no-pristines"
]]]
and we make standard Subversion read config options from the
repository's r0 revprops, and use those as default values for local
config options.
This is not a concrete proposal, just trying to make a clear explanation.
- Julian