From 061798bef094dca4085178d8699dd021d22e78ff Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Sat, 23 Nov 2019 13:04:28 +0300 Subject: [PATCH] shelf: cleanup - extract method GitOrigin-RevId: b21904953ecda9638e6e8367cc50c5a1d9e63fd4 --- .../changes/shelf/ShelveChangesManager.java | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) 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 5df1cca57b83..01fe48984192 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 @@ -434,6 +434,22 @@ public class ShelveChangesManager implements PersistentStateComponent, File patchFile = getPatchFileInConfigDir(schemePatchDir); + List patches = new ArrayList<>(buildAndSavePatchInBatches(patchFile, textChanges, honorExcludedFromCommit)); + + final ShelvedChangeList changeList = new ShelvedChangeList(patchFile.toString(), commitMessage.replace('\n', ' '), binaryFiles, + createShelvedChangesFromFilePatches(myProject, patchFile.toString(), + patches)); + changeList.markToDelete(markToBeDeleted); + changeList.setName(schemePatchDir.getName()); + ProgressManager.checkCanceled(); + mySchemeManager.addScheme(changeList, false); + totalSW.report(LOG); + return changeList; + } + + private List buildAndSavePatchInBatches(@NotNull File patchFile, + @NotNull List textChanges, + boolean honorExcludedFromCommit) throws VcsException, IOException { List patches = new ArrayList<>(); int batchIndex = 0; int baseContentsPreloadSize = Registry.intValue("git.shelve.load.base.in.batches", -1); @@ -473,16 +489,7 @@ public class ShelveChangesManager implements PersistentStateComponent, totalSw.report(LOG); } } - - final ShelvedChangeList changeList = new ShelvedChangeList(patchFile.toString(), commitMessage.replace('\n', ' '), binaryFiles, - createShelvedChangesFromFilePatches(myProject, patchFile.toString(), - patches)); - changeList.markToDelete(markToBeDeleted); - changeList.setName(schemePatchDir.getName()); - ProgressManager.checkCanceled(); - mySchemeManager.addScheme(changeList, false); - totalSW.report(LOG); - return changeList; + return patches; } private void preloadBaseRevisions(@NotNull List textChanges) {