X-Git-Url: https://git.jetbrains.org/?p=idea%2Fcommunity.git;a=blobdiff_plain;f=platform%2Fvcs-impl%2Fsrc%2Fcom%2Fintellij%2Fopenapi%2Fvcs%2Fchanges%2Fshelf%2FShelveChangesManager.java;h=9a4f0bdf767f7948a3b73b5d19bcdb3490ca099f;hp=11f41f7422940c35f77de4c2b725cafec47c5bad;hb=6419125cc2f1fe8f52a816f500f07701122ec70e;hpb=c3179caf52357404313abae167db5be01bf60eae diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java index 11f41f742294..9a4f0bdf767f 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java @@ -26,6 +26,8 @@ import com.intellij.lifecycle.PeriodicalTasksCloser; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.impl.LaterInvocator; import com.intellij.openapi.components.AbstractProjectComponent; +import com.intellij.openapi.components.PathMacroManager; +import com.intellij.openapi.components.TrackingPathMacroSubstitutor; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.diff.impl.patch.*; import com.intellij.openapi.diff.impl.patch.apply.ApplyFilePatchBase; @@ -78,6 +80,7 @@ public class ShelveChangesManager extends AbstractProjectComponent implements JD @NonNls private static final String ELEMENT_RECYCLED_CHANGELIST = "recycled_changelist"; @NonNls private static final String DEFAULT_PATCH_NAME = "shelved"; + @NotNull private final TrackingPathMacroSubstitutor myPathMacroSubstitutor; @NotNull private final SchemesManager mySchemeManager; public static ShelveChangesManager getInstance(Project project) { @@ -95,7 +98,7 @@ public class ShelveChangesManager extends AbstractProjectComponent implements JD public ShelveChangesManager(final Project project, final MessageBus bus) { super(project); - + myPathMacroSubstitutor = PathMacroManager.getInstance(myProject).createTrackingSubstitutor(); myBus = bus; mySchemeManager = SchemesManagerFactory.getInstance(project).create(SHELVE_MANAGER_DIR_PATH, new BaseSchemeProcessor() { @@ -109,6 +112,7 @@ public class ShelveChangesManager extends AbstractProjectComponent implements JD public Parent writeScheme(@NotNull ShelvedChangeList scheme) throws WriteExternalException { Element child = new Element(ELEMENT_CHANGELIST); scheme.writeExternal(child); + myPathMacroSubstitutor.collapsePaths(child); return child; } }); @@ -118,8 +122,9 @@ public class ShelveChangesManager extends AbstractProjectComponent implements JD } @NotNull - private static ShelvedChangeList readOneShelvedChangeList(@NotNull Element element) throws InvalidDataException { + private ShelvedChangeList readOneShelvedChangeList(@NotNull Element element) throws InvalidDataException { ShelvedChangeList data = new ShelvedChangeList(); + myPathMacroSubstitutor.expandPaths(element); data.readExternal(element); return data; }