Don't try to filter natural history from mergeinfo during reverse merges. If a repository somehow gets self-referential mergeinfo in it, it's nice to clean this up, but a reverse merge is not the place to do it. A reverse merge should simply return mergeinfo to a previous state. See http://subversion.tigris.org/servlets/ReadMsg?listName=dev&msgNo=142777. This change also improves reverse merge performance as it eliminates some unnecessary communication with the repos. * subversion/libsvn_client/merge.c (merge_source_t): Move ahead of merge_cmd_baton_t declaration. (merge_cmd_baton_t): Replace 'url' member with a merge_source_t member 'merge_source'. (merge_props_changed): Filter natural history from incoming mergeinfo only for forward merges. (merge_file_added, merge_dir_added): Use new merge_cmd_baton_t member. (do_merge): Set merge_cmd_baton_t's new 'merge_source' member to reflect the current merge source being merged.