On 24 Jan 2022, Daniel Shahaf wrote:
Sure! And a script for running «hydrate» automatically could be called
"submerge". :)

And I guess we'll want `svn info` to grow a "Last watered at:" line.

As long as we alias 'svn mop' for 'svn cleanup', it's fine with me :-).

Agreed, but perhaps have a --offline-only option to let people say "Error out if you can't complete the operation without contacting the server". That might be useful for «revert», «diff», etc., as well.

Yep.

Use-case: to request "fail fast" behaviour rather than commence
a (known to the user to be) long/expensive network retrieval.

Indeed, other tools implement that option, for that exact purpose. I think it's quite reasonable.

> - «svn commit --keep-pristines», in case Alice has two > logical changes
> that she'd like to make in separate commits?

Maybe, or maybe one just uses 'svn dehydrate' ('svn hydrate --dehydrate' :-)
) when one is done working on the file.

I figured «svn commit --keep-pristines» could be used not only after
manually hydrating but also after implicit hydrating (e.g., after
«echo foo >> iota && svn diff iota»).

Before implementing these options (which obviously won't happen in the first iteration anyway), we should think carefully about naming and about how much of the underlying implementation detail we want to expose.

And there are broader UI/UX questions:

Maybe once someone starts working on a (large) file, they are likely to continue working on it. In which case, we should keep the pristine until told to drop it. Then 'svn cleanup' could have an additional behavior: "remove pristine for any unmodified file that would *normally* not have a pristine (except that the user manually caused it to have a pristine due to some special action or circumstance)".

This is a bit different from the current '--vacuum-pristines' option of 'svn cleanup', by the way, though maybe there should be some connection.

And maybe a --interactive option would be good, so the user can interactively choose which pristines to drop and which not!

I'm partly just thinking out loud here, to stimulate us all to think. None of this affects the initial, whole-WC implementation, and of course let's keep in mind that the *main* use case will be already well-served by that initial implementation. These further improvements are for the future, and perhaps we shouldn't even make them until we've all had some experience with the initial simple UI.

Best regards,
-Karl

Reply via email to