On Jan 26, 2008 5:28 PM, Julian Foad <julianfoad_at_btopenworld.com> wrote:
> Understanding C syntax is not Subversion's job. (I'm sure you realised your
> comment about how this being a specialist feature is in some way comparable to
> merge tracking being a specialist feature was completely off-base. Merging is
> in the domain of version control; understanding programming languages is not.)
I guess our difference stems from the fact that I view producing
useful diffs as an essential part of any version control tool. Why
did we go to all of the hassle of writing libsvn_diff if differencing
isn't an intrinsic part of a good SCM tool? We could have just always
invoked GNU diff and called it a day. And, we actually did that for a
long time until we realized just how bad invoking GNU diff is. =)
> Let us enjoy it now we've got it, but let's also bear in mind that we should be
> untangling it from the core code, making it an auxiliary feature via a
> domain-neutral extension mechanism. This could be the incentive we need to get
> the "pluggable diff" support moving forward. In the short term, don't you think
> it might be a good idea to move the C code for this out of the central "diff"
> functions in such a way that other such features can be added alongside it
> without cluttering the basic diff functionality?
Well, I think it's exactly where it belongs - inside of libsvn_diff.
If the logic for finding the functions and emitting the extra context
were in libsvn_wc or something, I'd think you'd have a case - but it
doesn't seem odd to me to have it inside libsvn_diff at all.
Also, I think we do have pluggable diff - via the diff-cmd - or are
you thinking of alternate libsvn_diff implementations? I'm not sure
how I feel about that...but there's nothing that says you couldn't
just replace libsvn_diff with libsvn_cool_diff as long as it exposed
the same interfaces...
BTW, thanks for not vetoing. =P -- justin
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-01-27 03:11:16 CET