Ben Collins-Sussman <email@example.com> writes:
> Erg, I disagree. You've hit on the central issue: copying a file to B
> and renaming it back again *are* explicit actions -- they're
> full-fledged, intentional "local changes". As a user, I would be
> mighty pissed if Subversion decided that it was ok to ignore my local
> modifications and assume I'm not up-to-date -- "oh, that copy and
> rename? That didn't really do anything useful, so I'm just going to
> pretend they never happened."
Subversion isn't ignoring them, it's just reducing them to their
smallest total effect: namely, that nothing happened. If you rename A
to new file B, and then rename B back to A, and never committed any of
it, then nothing happened. The user may have a memory of something
having happened, but how would its result be any different from the
situation that Subversion reduced it to?
> Maybe it's a matter of personal taste, but I hate it when software
> tries to second-guess a user's intentions. Local mods are local mods,
> whether they're silly or not; in Jim's example, the working copy is
> *already* up-to-date. Why? Because nobody has changed the
> repository -- end of story.
> (Girding asbestos...!)
If there's guessing involved, then I agree -- Subversion shouldn't
make fuzzy guesses except when you ask it to. But this isn't a guess.
What happened is clear and unambiguous. To put it another way, the
effect of each operation was fully understood by Subversion, and so
the "sum" of the operations is also fully understood. Why shouldn't
it make use of that knowledge?
Received on Sat Oct 21 14:36:07 2006