Version control RTC java普通api中获取CompleteTestate的等效方法
版本管理器上的FetchCompleteTestate是否有任何等效方法来获取历史文件的数据?检索以前更改列表中添加的文件的文件名时遇到问题。下面是一个例子:Version control RTC java普通api中获取CompleteTestate的等效方法,version-control,jazz,rational-team-concert,Version Control,Jazz,Rational Team Concert,版本管理器上的FetchCompleteTestate是否有任何等效方法来获取历史文件的数据?检索以前更改列表中添加的文件的文件名时遇到问题。下面是一个例子: Changelist 1: add file: src/newFile.java Changelist 2: modify file: src/newFile.java Changelist 3: rename file: src/newFile.java -> src/newFile_rename
Changelist 1:
add file: src/newFile.java
Changelist 2:
modify file: src/newFile.java
Changelist 3:
rename file: src/newFile.java -> src/newFile_rename.java
现在,当我尝试使用以下代码获取变更列表1中文件的文件名或文件路径时:
// change is IChange, versionableManager is IVersionableManager
// method getFilePath retrieve file path using ancestors
file = versionableManager.fetchCompleteState(change.afterState(), monitor);
if (file instanceof IFolder) {
IFolder folder = (IFolder) file;
relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);
fileName = folder.getName();
} else {
relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);
fileName = ((FileItem) file).getName();
}
我正在获取重命名文件的名称和路径。如何获取它的旧名称和路径?确定找到了解决方案:
IFileItemHandle fileItemHandle = (IFileItemHandle) IFileItem.ITEM_TYPE.createItemHandle(change.afterState().getItemId(), change.afterState().getStateId());
file = versionableManager.fetchCompleteState(fileItemHandle, monitor);
if (file instanceof IFolder) {
IFolder folder = (IFolder) file;
relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);
fileName = folder.getName();
} else {
relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);
fileName = ((FileItem) file).getName();
}
但仍具有解析文件路径的ISSE。无论如何,这是一大步。确定找到了解决方案:
IFileItemHandle fileItemHandle = (IFileItemHandle) IFileItem.ITEM_TYPE.createItemHandle(change.afterState().getItemId(), change.afterState().getStateId());
file = versionableManager.fetchCompleteState(fileItemHandle, monitor);
if (file instanceof IFolder) {
IFolder folder = (IFolder) file;
relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);
fileName = folder.getName();
} else {
relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);
fileName = ((FileItem) file).getName();
}
但仍具有解析文件路径的ISSE。无论如何,这是一大步