private void refreshTree() {
   myRoot = new UpdateRootNode(myUpdatedFiles, myProject, myRootName, myActionInfo);
   myRoot.rebuild(VcsConfiguration.getInstance(myProject).UPDATE_GROUP_BY_PACKAGES);
   myTreeModel = new DefaultTreeModel(myRoot);
   myRoot.setTreeModel(myTreeModel);
   myTree.setModel(myTreeModel);
   myRoot.setTree(myTree);
 }
 RemoteRevisionsStateCache(final Project project) {
   myVcsManager = ProjectLevelVcsManager.getInstance(project);
   myChanged = new HashMap<String, Pair<Boolean, VcsRoot>>();
   myQueries = new MultiMap<VcsRoot, String>();
   myTs = new HashMap<VcsRoot, Long>();
   myLock = new Object();
   myVcsConfiguration = VcsConfiguration.getInstance(project);
 }
 public void setSelected(AnActionEvent e, boolean state) {
   myGroupByChangeList = state;
   VcsConfiguration.getInstance(myProject).UPDATE_GROUP_BY_CHANGELIST = myGroupByChangeList;
   final CardLayout cardLayout = (CardLayout) myCenterPanel.getLayout();
   if (!myGroupByChangeList) {
     cardLayout.show(myCenterPanel, CARD_STATUS);
   } else {
     cardLayout.show(myCenterPanel, CARD_CHANGES);
   }
 }
 public void setCanGroupByChangeList(final boolean canGroupByChangeList) {
   myCanGroupByChangeList = canGroupByChangeList;
   if (myCanGroupByChangeList) {
     myLoadingChangeListsLabel = new JLabel(VcsBundle.message("update.info.loading.changelists"));
     add(myLoadingChangeListsLabel, BorderLayout.SOUTH);
     myGroupByChangeList = VcsConfiguration.getInstance(myProject).UPDATE_GROUP_BY_CHANGELIST;
     if (myGroupByChangeList) {
       final CardLayout cardLayout = (CardLayout) myCenterPanel.getLayout();
       cardLayout.show(myCenterPanel, CARD_CHANGES);
     }
   }
 }
 private void baseRevisionsOfDvcsIntoContext(
     List<Change> textChanges, CommitContext commitContext) {
   ProjectLevelVcsManager vcsManager = ProjectLevelVcsManager.getInstance(myProject);
   if (vcsManager.dvcsUsedInProject()
       && VcsConfiguration.getInstance(myProject).INCLUDE_TEXT_INTO_SHELF) {
     final Set<Change> big = SelectFilesToAddTextsToPatchPanel.getBig(textChanges);
     final ArrayList<FilePath> toKeep = new ArrayList<FilePath>();
     for (Change change : textChanges) {
       if (change.getBeforeRevision() == null || change.getAfterRevision() == null) continue;
       if (big.contains(change)) continue;
       FilePath filePath = ChangesUtil.getFilePath(change);
       final AbstractVcs vcs = vcsManager.getVcsFor(filePath);
       if (vcs != null && VcsType.distibuted.equals(vcs.getType())) {
         toKeep.add(filePath);
       }
     }
     commitContext.putUserData(BaseRevisionTextPatchEP.ourPutBaseRevisionTextKey, true);
     commitContext.putUserData(BaseRevisionTextPatchEP.ourBaseRevisionPaths, toKeep);
   }
 }
 public static File suggestPatchName(
     Project project, final String commitMessage, final File file, String extension) {
   @NonNls String defaultPath = PathUtil.suggestFileName(commitMessage);
   if (defaultPath.length() == 0) {
     defaultPath = "unnamed";
   }
   if (defaultPath.length() > (PatchNameChecker.MAX - 10)) {
     defaultPath = defaultPath.substring(0, PatchNameChecker.MAX - 10);
   }
   while (true) {
     final File nonexistentFile =
         FileUtil.findSequentNonexistentFile(
             file,
             defaultPath,
             extension == null
                 ? VcsConfiguration.getInstance(project).getPatchFileExtension()
                 : extension);
     if (nonexistentFile.getName().length() >= PatchNameChecker.MAX) {
       defaultPath = defaultPath.substring(0, defaultPath.length() - 1);
       continue;
     }
     return nonexistentFile;
   }
 }
 public void setSelected(AnActionEvent e, boolean state) {
   VcsConfiguration.getInstance(myProject).UPDATE_GROUP_BY_PACKAGES = state;
   myRoot.rebuild(VcsConfiguration.getInstance(myProject).UPDATE_GROUP_BY_PACKAGES);
 }
 public boolean isSelected(AnActionEvent e) {
   return VcsConfiguration.getInstance(myProject).UPDATE_GROUP_BY_PACKAGES;
 }