***************
*** 1166,1185 ****
      # We try to keep the number of merge operations as low as possible,
      # because it is faster and reduces the number of conflicts.
      old_merge_props = branch_props
      merge_metadata = logs[opts["source-url"]].merge_metadata()
      for start,end in minimal_merge_intervals(revs, phantom_revs):
- 
-         # Set merge props appropriately if bidirectional support is enabled
-         if opts["bidirectional"]:
-             new_merge_props = merge_metadata.get(start-1)
-             if new_merge_props != old_merge_props:
-                 set_merge_props(branch_dir, new_merge_props)
-                 old_merge_props = new_merge_props
- 
          if not record_only:
              # Do the merge
              svn_command("merge --force -r %d:%d %s %s" % \
                          (start - 1, end, opts["source-url"], branch_dir))
  
      # Write out commit message if desired
      if opts["commit-file"]:
--- 1166,1182 ----
      # We try to keep the number of merge operations as low as possible,
      # because it is faster and reduces the number of conflicts.
      old_merge_props = branch_props
+     old_block_props = get_block_props(branch_dir)
      merge_metadata = logs[opts["source-url"]].merge_metadata()
      for start,end in minimal_merge_intervals(revs, phantom_revs):
          if not record_only:
+             # Clear merge/blocked properties to avoid spurious property conflicts
+             set_merge_props(branch_dir, {})
+             set_block_props(branch_dir, {})
              # Do the merge
              svn_command("merge --force -r %d:%d %s %s" % \
                          (start - 1, end, opts["source-url"], branch_dir))
+             # TODO: to support graph merging, add logic to merge the property meta-data manually
  
      # Write out commit message if desired
      if opts["commit-file"]:
