At 10:48 AM -0500 8/22/03, Ben Collins-Sussman wrote:
>So my proposal is to do the least surprsing thing in each case: 'svn
>diff' should ignore ancestry by default, and 'svn merge' should honor
>ancestry by default. (Of course we'd have switches to allow opposite
>behaviors.)
>
>Any objections to this?
Leaving aside my doubts as to whether this is actually relevant to
John's original question, yeah, I think I object. I'm very
uncomfortable with the rationale you propose. Not the least of my
discomfort is, I can't for the life of me figure out what your "when
you do this, you do or don't care" ideas imply about what (you think)
I expect to see on screen!
In order to reach the solution you call "least surprising," you
engaged in an email discussion, put your heat together with a
coworker (and both he and you are intimately familiar with the
internals), and reversed yourself at least once, and made some
crucial assumptions about what the user "wants" at some indefinite
moment in the future when this all matters. That strikes me as a bit
too much work to demand of the user merely to avoid a surprise.
I think "least surprise" means "it did this the last time, it should
do it again this time." It's about repeatability. It also means "if
I'm seeing some characters on the screen, they should mean the same
thing here that they did the last time I saw the same characters."
It's not about razor distinctions, it's about clarity. In this
realm, it's also about consistency with established precedents--the
zillion diff and merge tools we've all used before. No version
control system is an island....
--
-==-
Jack Repenning
CollabNet, Inc.
8000 Marina Boulevard, Suite 600
Brisbane, California 94005
o: 650.228.2562
c: 408.835-8090
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 22 20:01:37 2003