Daniel Rall wrote:
> On Tue, 10 Oct 2006, Kamesh Jayachandran wrote:
> ...
>
>> get_merge_info_path fails in the cases if the path is '/a/b/c/d/e'
>> and the repo has the mergeinfo only for '/a/b/c' and no mergeinfo
>> for '/a/b/c/d'.
>>
>> * subversion/libsvn_fs_util/merge-info-sqlite-index.c
>> (global): remove NEGATIVE_CACHE_RESULT.
>> (get_merge_info_for_path):
>> Irrespective of 'setresult' translate the hash keys of 'elided parent->path'
>> and set it to cache, so that we don't loose the 'mergeinfo' of '/a/b/c'
>> during unwinding phase of recursion with path '/a/b/c/d'.
>>
> ...
>
> This is the expected behavior. If you change (or remove) the merge
> info on '/a/b/c/d', you're implicitly changing the merge info for all
> children of 'd'. If you want to change the merge info for *only* 'd',
> you must update the merge info for its children (e.g. '/a/b/c/d/e') to
> retain any previous value.
>
I think you have misunderstood it.
I have some merges on '/a/b/c' which records the actual mergeinfo which
is applicable to its child '/a/b/c/d' and grand child '/a/b/c/d/e'...etc.
When Someone ask for 'mergeinfo' on '/a/b/c/d/e' current
'get_merge_info_for_path' gives nothing which my patch fixes it.
I agree with you on explicit revert or removal of 'svn:mergeinfo' should
give no 'mergeinfo' at all. Anyway this is also broken today to which I
will post a separate patch.
With regards
Kamesh Jayachandran
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Oct 11 11:20:57 2006