[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: RFC: change 'svn merge' default behavior.

From: Greg Hudson <ghudson_at_MIT.EDU>
Date: 2004-01-15 19:17:28 CET

On Thu, 2004-01-15 at 12:42, Sander Striker wrote:
> > (The diff format
> > doesn't understand tree changes anyway,
>
> yet..

Well, I don't think the format accepted by "patch" can really be
extended to understand tree changes. So, if we ever have a variant of
diff which uses a format which understands tree changes, it will have to
be an option or (less likely) a separate command. I would say that
specifying the option should flip the default, such that a tree-diff
normally pays attention to ancestry.

> I still am not supporting this decission. svn diff TARGET1 TARGET2
> should indeed ignore history. However, svn diff -r X:Y TARGET should
> notice history. Hmpf, we need that peg revision proposal implemented.

I'm not sure I buy that these two forms of diff are so fundamentally
different. You're right that svn diff -r X:Y TARGET necessarily diffs
between two items with a historical relationship, but given the output
format, I don't think it really makes sense to pay attention to ancestry
when performing a diff.

(Yet another choice is to always ignore ancestry at the top level of a
diff--right now we always do so if the anchor is the target, but not
otherwise--and pay attention to ancestry by default below that. But I
don't support that choice, at least for diff, because of the output
format issue.)

> > Very simple: allow 'svn diff' continue to ignore ancestry by default,
> > but change 'svn merge' to notice ancestry by default.
>
> Does this mean that svn diff -r X TARGET compares the WC against the
> URL@X instead of the file in the WC at version X?

Ignoring ancestry has nothing to do with picking a target. Until
cmpilato's peg-rev proposal is implemented, we erroneously compare
against URL@X.

> The alternative is... a config option for both diff and merge,
> defaulting to ignore-ancestry for diff and notice-ancestry for merge.
> People can then set the default to their preference. Although I must
> admit I don't really want to add yet another config option.

I don't see the value in adding a config option, and it certainly
doesn't save us from having to choose sane defaults.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jan 15 19:18:12 2004

This is an archived mail posted to the Subversion Dev mailing list.