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

Re: svn commit: r1303016 - in /subversion/trunk/subversion: include/private/svn_client_private.h libsvn_client/merge.c svn/cl.h svn/main.c svn/merge-cmd.c

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Thu, 22 Mar 2012 10:34:43 +0000 (GMT)

Daniel Shahaf wrote:

> Julian Foad wrote:
>> IGNORE_ANCESTRY doesn't affect the high level operation of the merge,
>> it only affects how file diffs are shown -- even if the source and
>> target file are not historically related it will show a diff rather than
>> a delete and an add of the file -- or something similar to that. From
>> svn_client_merge4():
>>
>> * Use @a ignore_ancestry to control whether or not items being
>> * diffed will be checked for relatedness first. Unrelated items
>> * are typically transmitted to the editor as a deletion of one thing
>> * and the addition of another, but if this flag is TRUE, unrelated
>> * items will be diffed as if they were related.
>
> So, IGNORE_ANCESTRY controls how the tree delta is communicated. Okay.
> I was going by `svh help`, and the first mention there was effectively
> "Ignore mergeinfo on the source when computing the merge" -- hence my
> question.

I had to check the code to confirm this. I can report that the IGNORE_ANCESTRY option ignores mergeinfo (in addition to affecting the diffing of files) for some merges, specifically merges which call the 2-URL merge API "svn_client_merge4()". It doesn't cause mergeinfo to be ignored in the "pegged merge" API which is used for sync merges, nor in the "reintegrate merge" API, nor in the "symmetric merge" API.

- Julian
Received on 2012-03-22 11:35:20 CET

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