[英]How to get tree structure from SVN using java
有沒有辦法在SV中將SVN結構作為樹結構?
例如:如果我指定路徑http://sample.com/repository/pag/branches/dev/Structure/services/
我想要服務下的所有條目,如果它再次包含一個目錄,它的腸也在樹中?
謝謝。
注意 :我見過getDir() 。 但在這里我必須繼續迭代它。
如果您需要所有樹,您可以使用“狀態”請求執行該操作,並且報告告訴您有一個空的工作副本。 一個“狀態”請求應該比一些getDir()請求更快。 SVNKit如何做到這一點的一個例子
final SVNRepository svnRepository = SVNRepositoryFactory.create(url);
try {
svnRepository.status(revision, "", SVNDepth.INFINITY, new ISVNReporterBaton() {
@Override
public void report(ISVNReporter reporter) throws SVNException {
reporter.setPath("", null, revision, SVNDepth.INFINITY, true);
reporter.finishReport();
}
}, new ISVNEditor() {
@Override
public void targetRevision(long revision) throws SVNException {
}
@Override
public void openRoot(long revision) throws SVNException {
System.out.println("<root>");
}
@Override
public void deleteEntry(String path, long revision) throws SVNException {
}
@Override
public void absentDir(String path) throws SVNException {
}
@Override
public void absentFile(String path) throws SVNException {
}
@Override
public void addDir(String path, String copyFromPath, long copyFromRevision) throws SVNException {
System.out.println("directory: " + path);
}
@Override
public void openDir(String path, long revision) throws SVNException {
}
@Override
public void changeDirProperty(String name, SVNPropertyValue value) throws SVNException {
}
@Override
public void closeDir() throws SVNException {
}
@Override
public void addFile(String path, String copyFromPath, long copyFromRevision) throws SVNException {
System.out.println("file: " + path);
}
@Override
public void openFile(String path, long revision) throws SVNException {
}
@Override
public void changeFileProperty(String path, String propertyName, SVNPropertyValue propertyValue) throws SVNException {
}
@Override
public void closeFile(String path, String textChecksum) throws SVNException {
}
@Override
public SVNCommitInfo closeEdit() throws SVNException {
return null;
}
@Override
public void abortEdit() throws SVNException {
}
@Override
public void applyTextDelta(String path, String baseChecksum) throws SVNException {
}
@Override
public OutputStream textDeltaChunk(String path, SVNDiffWindow diffWindow) throws SVNException {
return null;
}
@Override
public void textDeltaEnd(String path) throws SVNException {
}
});
} finally {
svnRepository.closeSession();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.