2014-01-30 94 views
1

我正在使用java和eclipse,並且我想要使用SVN修訂號從SVN獲取文件列表。SVN獲取文件列表

我已閱讀大約SVNKit在網上,但沒有發現任何有助於理解如何使用SVNKit。

請指導我正確的方向,如果可能的話,一步一步從如何使用SVNKit來完成我的任務。任何幫助將不勝感激。

回答

0

使用svnlook命令。

svnlook的改變-r

這會給你所有的FLES的清單,對於所提到的轉路徑沒有。

+0

如何使用java代碼獲取它? – commit

0

請嘗試此代碼。這是列出存儲庫中所有文件和目錄的最快方式(它也允許獲取屬性和校驗和)。

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 { 
        } 

        @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(); 
    }