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

[PATCH] Issue #3126 - svn mergeinfo should consider non-inheritable ranges as merged

From: Paul Burba <ptburba_at_gmail.com>
Date: Wed, 6 May 2009 10:45:36 -0400

Right now the svn mergeinfo subcommand doesn't consider
non-inheritable ranges as merged, see

Quick example, if a path has this mergeinfo:

>svn pg svn:mergeinfo -vR A_COPY
  Properties on 'A_COPY':

svn mergeinfo considers r6 as eligible:

>svn mergeinfo --show-revs eligible %url%/A A_COPY

Nor does it consider it merged:

>svn mergeinfo --show-revs merged %url%/A A_COPY

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,

* 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.



Received on 2009-05-06 16:45:58 CEST

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