私は最終的に何時間もの検索の後に私が探していたものを発見しました。残念ながら私は100人未満の担当者を抱えています。私は今まで投稿できませんでした....
私は少し進歩しています。私はeclipseのソースコードを流しながら、これをランダムに見つけました。
次のコードスニペットは、svn対応プロジェクトに関して行われているすべてのことを監視します。ファイルを保存し、更新する場合は元に戻すなど、ファイルやファイルのメタデータには何も触れません。私は単にファイル/ディレクトリ名とそのリビジョン番号を表示します。
破壊的版:
final Subscriber subscriber = UpdateSubscriber.instance();
subscriber.addListener(new ISubscriberChangeListener() {
@Override
public void subscriberResourceChanged(ISubscriberChangeEvent[] events) {
for(ISubscriberChangeEvent event : events) {
UpdateSyncInfo info = (UpdateSyncInfo) subscriber.getSyncInfo(event.getResource());
System.out.println(event.getResource().getName()+" revision: "+uInfo.getLocalResource().getRevision());
}
}
});
本当のトリックは、この情報で取得するには、エントリポイントを考え出すた:UpdateSubscriber。この種の情報を見つけるための優れたリソースがあればいいでしょう。
Subclipseのバージョン:EclipseプラットフォームでのチームのAPIに関する一般的な情報については
private static final Subscriber subscriber = SVNWorkspaceSubscriber.getInstance();
private static final ISubscriberChangeListener subsciberListener = new ISubscriberChangeListener() {
@Override
public void subscriberResourceChanged(ISubscriberChangeEvent[] events) {
try {
for (ISubscriberChangeEvent event : events) {
SVNStatusSyncInfo info = (SVNStatusSyncInfo) subscriber.getSyncInfo(event.getResource());
System.out.println(event.getResource().getName() + " revision: " + info.getRepositoryRevision());
}
} catch (TeamException e) {
}
}
};
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
subscriber.addListener(subsciberListener);
}
@Override
public void stop(BundleContext context) throws Exception {
subscriber.removeListener(subsciberListener);
super.stop(context);
}
+1、あなたはこの情報を返すための聖人です。 – cgp
答えをありがとう!恩恵を受ける可能性のある誰かのために同等の機能を追加しました。 –