On 29 Nov 2022, Johan Corveleyn wrote:
My thanks also to the courageous people having developed this,
and the
gentle souls keeping the ball rolling :-).
About the name:
[...]
FWIW, my vote still goes to --store-pristines={yes|no}
Same here, FWIW.
I understand the argument that this exposes an "implementation
detail" that the user is supposed to not need to think about. But
remember, the reason we developed this feature is because the user
was *already* exposed to the existence of pristines: disk space
usage by pristines is quite visible to the user -- that's the
whole problem :-).
So only users who already "see" pristines -- that is, who are
already aware of the storage issue -- would go looking for this
feature in the first place. So by the time they learn about the
'--store-pristines' option, they're already being forced to deal
with pristines as a concept, and the only question is whether the
tool we give them to solve their problem will take advantage of
that conceptual familiarity.
So, +1 to "--store-pristines=foo".
I prefer such an explicit option here, rather than vague ones
that
could cover many different things. Also, --optimize=X can easily
be
interpreted inversely as intended (for instance: when I have an
optimal network, do I use --optimize=network?)
Apart from {yes|no} the feature might grow other option values in
the
future ('size-based' or 'text-only', or maybe simply 'auto' if we
come
up with a good general strategy that works for 99% of the cases,
the
details of which we don't want to burden our users with). We
could
even, in some distant future, allow user-defined names that are
specified in ~/.subversion/config by the user (using some syntax
where
the user can set configurable size limits or mime-types or
whatever).
I also agree with Johan's point here.
One other suggestion: not a blocker of course, but a
runtime-config-area default would be nice :-). Users might want
to
choose the same option all the time, without having to remember
to add
the option to their checkout command.
Something like, in ~/.suversion/config
store-pristines-default={yes|no}
Later on, this might grow into more sophisticated local run-time
config regarding pristines, but for now, providing this basic
yes/no default is a good idea. For example, on machines where one
is regularly checking out trees with huge files, one might set the
default to "no".
Best regards,
-Karl