Чтение числа оборотов SVN (Subclipse) из кода Java - PullRequest
4 голосов
/ 17 августа 2011

Я хотел бы иметь возможность прочитать текущий номер версии SVN (я использую Subclipse) из моего Java-кода, чтобы вывести его с остальными вещами, которые мне нужны в моих регрессионных тестах, написанных с использованием JUnit 4.

Я много гуглил без удачи (некоторая информация указывала на javahl.jar, но я не смог найти ничего полезного для своего дела), я тоже пытался выяснить сам, но опять не повезло.

Среда:

  • Версия Eclipse: 3.6.2, идентификатор сборки: M20110210-1200
  • 32-битная Windows 7
  • Subclipse 1.6.18(JavaHL 1.6.17)

Если возможно, я бы хотел избежать непосредственного чтения файлов .snv и найти «чистое» решение, потому что я должен оставить этот код другим людям.

Заранее спасибо, Алессандро

Ответы [ 3 ]

2 голосов
/ 17 августа 2011

Есть библиотека "svnkit" - svnkit.com

В вики-странице много примеров, и один из них - «Для получения информации об элементах рабочей копии»

http://wiki.svnkit.com/Managing_A_Working_Copy

Также пример того, как его использовать, вы можете найти в исходном коде проекта. http://code.google.com/p/svntask/

1 голос
/ 17 августа 2011

Я бы посмотрел на SVNKit , особенно метод SVNWCClient#doInfo().

0 голосов
/ 08 ноября 2012

Я выяснил, что вопросы, кажется, все еще открыты, даже если я решил проблему, я выложу здесь код для ясности, даже если он уже был вставлен в коммент:

import org.tigris.subversion.javahl.*;
[...]

SVNClient svnClient = new SVNClient();
@SuppressWarnings("deprecation")
Status [] status = svnClient.status("absolutepathOfTheProject", true, false, true);

for(Status stat : status)
revNumber = (revNumber < stat.getRevisionNumber()) ? stat.getRevisionNumber() : revNumber;

Обратите внимание, что эта заглушкаиспользует некоторые устаревшие методы, конечно, можно заменить их другими методами, но это должно быть ориентиром для решения исходной проблемы.

...