2014-09-07 2 views
0

Я разрабатываю плагин Eclipse. Я хочу извлечь все версии (коммиты) из репозитория, связанные с проектом в текущей рабочей области. Я могу получить версии одного файла, используя IFileHistoryProvider.getFileHistoryFor(file), но я понятия не имею, как получить их для всего проекта. Я не вижу применимого метода в org.eclipse.team.core.RepositoryProvider.Eclipse Plugin Development - получить все репозитарии

IJavaProject project = JavaCore.create(testProject); 
RepositoryProvider provider = RepositoryProvider.getProvider(project.getProject()); 

Имея один идентификатор фиксации, я хочу получить его метку времени. Как это сделать?

EDIT

Я думаю, что я должен переписать мой вопрос.

В моем плагине я хочу получить историю файлов в репозитории (git, svn). История должна быть ограничена начальным и конечным сообщением. Эти коммиты будут определяться идентификаторами commit *.

Я могу получить все файлы в проекте, и для каждого файла все изменения. Каждая ревизия имеет свою метку времени. Я могу включить или исключить конкретную ревизию, сравнив ее временную метку со стартовой и конечной меткой времени. Тем не менее, я должен узнать эти временные метки каким-то образом, имея только commit ids *.

Я не могу найти подходящий метод в org.eclipse.team.core.

ответ

0

Вы можете посмотреть на все текущие файлы в проекте с:

project.getProject().accept(new IResourceVisitor() { 
    @Override 
    public boolean visit(IResource resource) throws CoreException 
    { 
    // TODO your code here 
    // IResource may be a file or an IFolder 
    } 
}); 
Смежные вопросы