You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Paul Burba <pt...@gmail.com> on 2009/05/06 14:45:36 UTC
[PATCH] Issue #3126 - svn mergeinfo should consider non-inheritable
ranges as merged
Right now the svn mergeinfo subcommand doesn't consider
non-inheritable ranges as merged, see
http://subversion.tigris.org/issues/show_bug.cgi?id=3126#desc5.
Quick example, if a path has this mergeinfo:
>svn pg svn:mergeinfo -vR A_COPY
Properties on 'A_COPY':
svn:mergeinfo
/A:4,6*
svn mergeinfo considers r6 as eligible:
>svn mergeinfo --show-revs eligible %url%/A A_COPY
r3
r5
r6
Nor does it consider it merged:
>svn mergeinfo --show-revs merged %url%/A A_COPY
r4
This seems completely wrong, r6 *has* been merged to A_COPY, just not
any deeper, so r6 should show as merged.
Keep in mind that the mergeinfo subcommand as it stands today tells us
what has/hasn't been merged to a path, but doesn't consider differing
mergeinfo under that path. Since non-inheritable mergeinfo is about
what is under a path it shouldn't matter either.
The attached patch corrects this and adds a test. Does anyone
disagree with this change?
[[[
Make 'svn mergeinfo' consider non-inheritable ranges as merged.
See Issue #3126,
http://subversion.tigris.org/issues/show_bug.cgi?id=3126#desc5.
* subversion/include/svn_mergeinfo.h
(svn_mergeinfo_remove, svn_mergeinfo_intersect): Deprecate.
(svn_mergeinfo_remove2, svn_mergeinfo_intersect2): New.
* subversion/libsvn_client/mergeinfo.c
(svn_client_mergeinfo_log_merged, svn_client_mergeinfo_log_eligible):
Consider non-inheritable ranges as merged.
* subversion/libsvn_subr/mergeinfo.c
(svn_mergeinfo_remove): Wrap svn_mergeinfo_remove2.
(svn_mergeinfo_remove2): New.
(svn_mergeinfo_intersect): Wrap svn_mergeinfo_intersect2.
(svn_mergeinfo_intersect2): New.
* subversion/tests/cmdline/mergeinfo_tests.py
(merge_tests.set_up_branch, merge_tests.expected_merge_output): Import.
(non_inheritable_mergeinfo): New test.
(test_list): Add non_inheritable_mergeinfo.
]]]
Paul
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2081417
Re: [PATCH] Issue #3126 - svn mergeinfo should consider
non-inheritable ranges as merged
Posted by Paul Burba <pt...@gmail.com>.
On Wed, May 6, 2009 at 11:10 AM, C. Michael Pilato <cm...@collab.net> wrote:
> Your logic is undeniable. You will ensure mankind's continued existence.
Committed in r37627 and nominated for backport to 1.6.3.
> Paul Burba wrote:
>> Right now the svn mergeinfo subcommand doesn't consider
>> non-inheritable ranges as merged, see
>> http://subversion.tigris.org/issues/show_bug.cgi?id=3126#desc5.
>>
>> Quick example, if a path has this mergeinfo:
>>
>> >svn pg svn:mergeinfo -vR A_COPY
>> Properties on 'A_COPY':
>> svn:mergeinfo
>> /A:4,6*
>>
>> svn mergeinfo considers r6 as eligible:
>>
>> >svn mergeinfo --show-revs eligible %url%/A A_COPY
>> r3
>> r5
>> r6
>>
>> Nor does it consider it merged:
>>
>> >svn mergeinfo --show-revs merged %url%/A A_COPY
>> r4
>>
>> This seems completely wrong, r6 *has* been merged to A_COPY, just not
>> any deeper, so r6 should show as merged.
>>
>> Keep in mind that the mergeinfo subcommand as it stands today tells us
>> what has/hasn't been merged to a path, but doesn't consider differing
>> mergeinfo under that path. Since non-inheritable mergeinfo is about
>> what is under a path it shouldn't matter either.
>>
>> The attached patch corrects this and adds a test. Does anyone
>> disagree with this change?
>>
>> [[[
>> Make 'svn mergeinfo' consider non-inheritable ranges as merged.
>>
>> See Issue #3126,
>> http://subversion.tigris.org/issues/show_bug.cgi?id=3126#desc5.
>>
>> * subversion/include/svn_mergeinfo.h
>> (svn_mergeinfo_remove, svn_mergeinfo_intersect): Deprecate.
>> (svn_mergeinfo_remove2, svn_mergeinfo_intersect2): New.
>>
>> * subversion/libsvn_client/mergeinfo.c
>> (svn_client_mergeinfo_log_merged, svn_client_mergeinfo_log_eligible):
>> Consider non-inheritable ranges as merged.
>>
>> * subversion/libsvn_subr/mergeinfo.c
>> (svn_mergeinfo_remove): Wrap svn_mergeinfo_remove2.
>> (svn_mergeinfo_remove2): New.
>> (svn_mergeinfo_intersect): Wrap svn_mergeinfo_intersect2.
>> (svn_mergeinfo_intersect2): New.
>>
>> * subversion/tests/cmdline/mergeinfo_tests.py
>> (merge_tests.set_up_branch, merge_tests.expected_merge_output): Import.
>> (non_inheritable_mergeinfo): New test.
>> (test_list): Add non_inheritable_mergeinfo.
>> ]]]
>>
>> Paul
>>
>> ------------------------------------------------------
>> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2081417
>>
>
>
> --
> C. Michael Pilato <cm...@collab.net>
> CollabNet <> www.collab.net <> Distributed Development On Demand
>
>
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2302202
Re: [PATCH] Issue #3126 - svn mergeinfo should consider
non-inheritable ranges as merged
Posted by "C. Michael Pilato" <cm...@collab.net>.
Your logic is undeniable. You will ensure mankind's continued existence.
Paul Burba wrote:
> Right now the svn mergeinfo subcommand doesn't consider
> non-inheritable ranges as merged, see
> http://subversion.tigris.org/issues/show_bug.cgi?id=3126#desc5.
>
> Quick example, if a path has this mergeinfo:
>
> >svn pg svn:mergeinfo -vR A_COPY
> Properties on 'A_COPY':
> svn:mergeinfo
> /A:4,6*
>
> svn mergeinfo considers r6 as eligible:
>
> >svn mergeinfo --show-revs eligible %url%/A A_COPY
> r3
> r5
> r6
>
> Nor does it consider it merged:
>
> >svn mergeinfo --show-revs merged %url%/A A_COPY
> r4
>
> This seems completely wrong, r6 *has* been merged to A_COPY, just not
> any deeper, so r6 should show as merged.
>
> Keep in mind that the mergeinfo subcommand as it stands today tells us
> what has/hasn't been merged to a path, but doesn't consider differing
> mergeinfo under that path. Since non-inheritable mergeinfo is about
> what is under a path it shouldn't matter either.
>
> The attached patch corrects this and adds a test. Does anyone
> disagree with this change?
>
> [[[
> Make 'svn mergeinfo' consider non-inheritable ranges as merged.
>
> See Issue #3126,
> http://subversion.tigris.org/issues/show_bug.cgi?id=3126#desc5.
>
> * subversion/include/svn_mergeinfo.h
> (svn_mergeinfo_remove, svn_mergeinfo_intersect): Deprecate.
> (svn_mergeinfo_remove2, svn_mergeinfo_intersect2): New.
>
> * subversion/libsvn_client/mergeinfo.c
> (svn_client_mergeinfo_log_merged, svn_client_mergeinfo_log_eligible):
> Consider non-inheritable ranges as merged.
>
> * subversion/libsvn_subr/mergeinfo.c
> (svn_mergeinfo_remove): Wrap svn_mergeinfo_remove2.
> (svn_mergeinfo_remove2): New.
> (svn_mergeinfo_intersect): Wrap svn_mergeinfo_intersect2.
> (svn_mergeinfo_intersect2): New.
>
> * subversion/tests/cmdline/mergeinfo_tests.py
> (merge_tests.set_up_branch, merge_tests.expected_merge_output): Import.
> (non_inheritable_mergeinfo): New test.
> (test_list): Add non_inheritable_mergeinfo.
> ]]]
>
> Paul
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2081417
>
--
C. Michael Pilato <cm...@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2081671