in src/org/jetbrains/tfsIntegration/core/TFSChangeList.java [112:149]
public Collection<Change> getChanges() {
if (myCachedChanges == null) {
try {
if (myWorkspace != null) { // otherwise paths were read from stream
loadChanges();
}
myCachedChanges = new ArrayList<>();
for (FilePath path : myAddedPaths) {
myCachedChanges.add(new Change(null, TFSContentRevision.create(myVcs.getProject(), path, myRevisionNumber)));
}
for (Map.Entry<FilePath, Integer> entry : myDeletedPaths.entrySet()) {
myCachedChanges.add(new Change(TFSContentRevision.create(myVcs.getProject(), entry.getKey(), entry.getValue()), null));
}
for (Map.Entry<FilePath, Integer> entry : myModifiedPaths.entrySet()) {
TFSContentRevision beforeRevision = TFSContentRevision.create(myVcs.getProject(), entry.getKey(), entry.getValue());
TFSContentRevision afterRevision = TFSContentRevision.create(myVcs.getProject(), entry.getKey(), myRevisionNumber);
myCachedChanges.add(new Change(beforeRevision, afterRevision));
}
for (Map.Entry<FilePath, Pair<FilePath, Integer>> entry : myMovedPaths.entrySet()) {
TFSContentRevision beforeRevision = TFSContentRevision.create(myVcs.getProject(), entry.getKey(), entry.getValue().second);
TFSContentRevision afterRevision = TFSContentRevision.create(myVcs.getProject(), entry.getValue().first, myRevisionNumber);
if (IDEADEV_29451_WORKAROUND) {
myCachedChanges.add(new Change(beforeRevision, null));
myCachedChanges.add(new Change(null, afterRevision));
}
else {
myCachedChanges.add(new Change(beforeRevision, afterRevision));
}
}
}
catch (TfsException e) {
AbstractVcsHelper.getInstance(myVcs.getProject()).showError(new VcsException(e.getMessage(), e), TFSVcs.TFS_NAME);
}
}
return myCachedChanges;
}