This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven.git
commit 97518b5b2973a6ff74dec8be663ea882e4d6a873 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Tue Apr 2 15:05:57 2024 +0200 Do not recreate nodes if merge does nothing --- .../main/java/org/apache/maven/internal/xml/XmlNodeImpl.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/maven-xml-impl/src/main/java/org/apache/maven/internal/xml/XmlNodeImpl.java b/maven-xml-impl/src/main/java/org/apache/maven/internal/xml/XmlNodeImpl.java index 0be92e9369..074b2ee5d1 100644 --- a/maven-xml-impl/src/main/java/org/apache/maven/internal/xml/XmlNodeImpl.java +++ b/maven-xml-impl/src/main/java/org/apache/maven/internal/xml/XmlNodeImpl.java @@ -357,8 +357,15 @@ public class XmlNodeImpl implements Serializable, XmlNode { if (children == null) { children = dominant.getChildren(); } - return new XmlNodeImpl( - dominant.getName(), value != null ? value : dominant.getValue(), attrs, children, location); + if (!Objects.equals(value, dominant.getValue()) + || !Objects.equals(attrs, dominant.getAttributes()) + || !Objects.equals(children, dominant.getChildren()) + || !Objects.equals(location, dominant.getInputLocation())) { + return new XmlNodeImpl( + dominant.getName(), value != null ? value : dominant.getValue(), attrs, children, location); + } else { + return dominant; + } } } return dominant;