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

[TSVN] Re: Applying outdated patches

From: Simon Large <slarge_at_blazepoint.co.uk>
Date: 2004-10-20 09:42:09 CEST

"Thomas Börkel" wrote

> We have quite often the case that we have to apply
> "outdated" diffs. Why? Because we are delivering bug
> fixes of our standard sources to our customers and
> they are using modified (their own modifications)
> versions of the standard sources.
> At the moment, we are evaluating Subversion + Tortoise
> regarding this problem. We have identified 3 cases:

But the description below sounds like you are evaluating TortoiseMerge
as a standalone solution.

> Case 3
> For some or all changes, the place for the bug fix changes
> cannot be found. The commandline "patch" command would say
> "hunk #x failed", apply the hunks that work and write a .rej
> file. Tortoise does not apply the patch at all. If at least
> one hunk fails, it's a complete failure.
> No conflict editor is being shown.
>
> Why is the commandline "patch" command more powerful than Tortoise
here?

If I am not mistaken, patch is a standalone tool. TMerge was
designed specifically to apply patches to files which are stored
in an SVN repository, so historical data _is_ available. It was
not designed as a standalone component, and it is only distributed
as part of the TSVN installation.

> We have found the following workaround: If we have the original
> standard source and the bug-fixed standard source in svn, then
> we can use Tortoise' "Merge" command to merge the differences
> between the 2 standard sources into the customer source.
> In that case, Tortoise shows the conflict editor, applies
> the applyable hunks and let's us resolve the conflicting hunks
visually.

Yes. Use it as it was designed to be used and it works. Surprise ;)

> So, the question is: Why does Tortoise not show the conflict
> editor for applying patches, if the patch fails because of one,
> some or all hunks?

TMerge works by comparing your changes and their changes with a common
base file. If you don't supply the base file that method won't work. In
theory it could do better by searching for the context lines, but that
would require a lot of development effort to support something which
simply isn't necessary when the repository data is available.

Simon

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Wed Oct 20 10:55:12 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.