On 03/16/2012 09:27 AM, C. Michael Pilato wrote:
> On 03/16/2012 08:32 AM, Stefan Sperling wrote:
>> BTW, there are examples out there that you'd probably dislike even more :)
>> Mercurial will apply incoming changes to any local copy of a file
>> ("local" here is of course a local branch, and the "update" is a "merge"
>> in hg terms). So if you made N copies of the same file, all those N files
>> get the incoming edits applied to them. I suppose that's something I could
>> get used to, but I prefer svn to make a distinction between copies and moves.
>> In our model, copies are branches, so if you wanted to apply changes to
>> copies you'd merge them.
> Actually, I strongly prefer this behavior of Mercurial's, and have been an
> advocate for Subversion doing the same thing. In fact, I was just
> discussion the "N copies of the same file" thing with a friend yesterday
> because I use that paradigm myself often, creating a versioned template and
> then making new files from the 'svn cp'd template. I would *love* if
> Subversion would attempt to apply changes made to the template to the
> various files created therefrom!
> And as you might expect based on the above, I *dislike* our distinction
> between copies and moves, primarily because it is such a pathetically
> superficial distinction for the obvious technical reasons. I believe that
> as long as "move" is modeled as a copy + delete, it should behave as a copy
> + delete.
Sorry, I feel like I need to respond to myself to clarify the above, which
sounds like I'm anti- the improvements you guys have been making to tracking
moved-to/moved-from and such. That's not the case.
I don't like that Subversion has historically thrown away the extra
knowledge that a particular copy+delete was supposed to be a move,
semantically. And I support efforts to use that knowledge intelligently to
help our users, primarily in the tree conflict resolution arena. But I'd
like for us to consider also the places where moves and copies are similar
and should be treated as such.
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2012-03-16 14:34:26 CET