0

我试图在 LineNumberChangeRulerColumn 上显示作者或 ChangeInformation。

Iterator<IVerticalRulerColumn> it =  ruler2.getDecoratorIterator();
while(it.hasNext()){
  IVerticalRulerColumn c = it.next();
  if(c instanceof LineNumberChangeRulerColumn){
    LineNumberChangeRulerColumn lnc = (LineNumberChangeRulerColumn)c;
    lnc.showLineNumbers(false);
    lnc.setDisplayMode(true);
            lnc.setRevisionInformation(ri);
    lnc.showRevisionAuthor(true);
    System.out.println("ci"+lnc.isShowingChangeInformation());
    System.out.println("ri"+lnc.isShowingRevisionInformation());    
  }         
}

但是 ri(RevisionInformation)从何而来?我试图创建一个没有运气,因为它不允许我创建一个修订?请帮忙。东道国

visionInformation ri = new RevisionInformation();
Revision r = new Revision();
r.addRange(new LineRange(1,10));
ri.addRevision(r);
4

1 回答 1

0

@eactor,您如何获得修订详细信息!
从您的代码中,您无法获得修订详细信息的来源。

希望以下内容对您有所帮助。

如果您使用的是svnkit
您可以参考打印 subversion 存储库树的文档作为示例。

或者

可以参考BuiltInAnnotate中的实现

Map revisions = new HashMap();
String [][]lines = annotateOp.getAnnotatedLines();
RGB palette = SVNTeamPreferences.getAnnotateRGB(SVNTeamUIPlugin.instance().getPreferenceStore(), SVNTeamPreferences.ANNOTATE_RGB_BASE_NAME);
boolean useOneRGB = SVNTeamPreferences.getAnnotateBoolean(SVNTeamUIPlugin.instance().getPreferenceStore(), SVNTeamPreferences.ANNOTATE_USE_ONE_RGB_NAME);
for (int i = 0; i < lines.length; i++) {
    BuiltInAnnotateRevision revision = (BuiltInAnnotateRevision)revisions.get(lines[i][0]);
    if (revision == null) {
     revisions.put(lines[i][0], revision = new BuiltInAnnotateRevision(lines[i][0], lines[i][4], useOneRGB ? palette : CommitterColors.getDefault().getCommitterRGB(lines[i][5])));
      info.addRevision(revision);
      }
    revision.addLine(Integer.parseInt(lines[i][6]));
  }
于 2012-07-18T12:23:36.997 回答