[vcs] LLM-20813 make Change serialization API public

(cherry picked from commit a22dd38b07868989e286ff4a5091c3ea5a0f3991)

IJ-CR-180581

GitOrigin-RevId: 5173a8d694e751cce9b0da86ce7a664ff71a53da
This commit is contained in:
Dmitry Osinovskiy
2025-10-28 23:25:53 +01:00
committed by intellij-monorepo-bot
parent 8c668a4e69
commit ac8c5d3987

View File

@@ -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);