diff FEATURE function for 2 subtree diff merge
diff --git a/src/tree_data.h b/src/tree_data.h
index 16e47dc..bb33b43 100644
--- a/src/tree_data.h
+++ b/src/tree_data.h
@@ -1117,12 +1117,12 @@
  * The diffs must be possible to be merged, which is guaranteed only if the source diff was
  * created on data that had the target diff applied on them. In other words, this sequence is legal
  *
- * diff1 from data1 and data2 -> data11 from apply diff1 on data1 -> diff2 from data11 and data3 ->
- * -> data 33 from apply diff2 on data1
+ * 1) diff1 from data1 and data2 -> data11 from apply diff1 on data1 -> diff2 from data11 and data3 ->
+ *    -> data 33 from apply diff2 on data1
  *
  * and reusing these diffs
  *
- * diff11 from merge diff1 and diff2 -> data33 from apply diff11 on data1
+ * 2) diff11 from merge diff1 and diff2 -> data33 from apply diff11 on data1
  *
  * @param[in,out] diff Target diff to merge into.
  * @param[in] src_diff Source diff.
@@ -1136,6 +1136,20 @@
                              lyd_diff_cb diff_cb, void *cb_data);
 
 /**
+ * @brief Merge 2 diff trees into each other.
+ *
+ * @param[in,out] diff_first Target diff first sibling to merge into.
+ * @param[in] diff_parent Target diff parent to merge into.
+ * @param[in] src_sibling Source diff sibling to merge.
+ * @param[in] diff_cb Optional diff callback that will be called for every changed node.
+ * @param[in] cb_data Arbitrary callback data.
+ * @return LY_SUCCESS on success,
+ * @return LY_ERR on error.
+ */
+LY_ERR lyd_diff_merge_tree(struct lyd_node **diff_first, struct lyd_node *diff_parent, const struct lyd_node *src_sibling,
+                           lyd_diff_cb diff_cb, void *cb_data);
+
+/**
  * @brief Merge 2 diffs into each other.
  *
  * @param[in,out] diff Target diff to merge into.