[vcs] LLM-20813 make Change serialization API public

(cherry picked from commit a22dd38b07868989e286ff4a5091c3ea5a0f3991)

IJ-CR-180581

GitOrigin-RevId: 8c87f6c329c6d6b218404863ebd9660643e1690f
This commit is contained in:
Dmitry Osinovskiy
2025-10-31 08:10:55 +00:00
committed by intellij-monorepo-bot
parent 73e764a8c6
commit 3d1bb84425
@@ -10,13 +10,15 @@ import com.intellij.vcsUtil.VcsUtil;
import com.intellij.xml.util.XmlStringUtil;
import org.jdom.Element;
import org.jdom.Verifier;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.*;
final class ChangeListManagerSerialization {
@ApiStatus.Internal
public final class ChangeListManagerSerialization {
private static final int DISABLED_CHANGES_THRESHOLD = 100;
private static final @NonNls String ATT_ID = "id";
@@ -147,14 +149,16 @@ final class ChangeListManagerSerialization {
.build();
}
private static @NotNull Element writeChange(@NotNull Change change) {
@ApiStatus.Internal
public static @NotNull Element writeChange(@NotNull Change change) {
Element changeNode = new Element(NODE_CHANGE);
writeContentRevision(changeNode, change.getBeforeRevision(), RevisionSide.BEFORE);
writeContentRevision(changeNode, change.getAfterRevision(), RevisionSide.AFTER);
return changeNode;
}
private static @NotNull Change readChange(@NotNull Element changeNode, @NotNull Project project) {
@ApiStatus.Internal
public static @NotNull Change readChange(@NotNull Element changeNode, @NotNull Project project) {
FakeRevision bRev = readContentRevision(changeNode, project, RevisionSide.BEFORE);
FakeRevision aRev = readContentRevision(changeNode, project, RevisionSide.AFTER);
return new Change(bRev, aRev);