SVN获取文件列表

时间:2014-01-30 10:05:04

标签: svn svnkit

我正在使用java和eclipse,我希望使用SVN版本号从SVN获取文件列表。

我在网上看过 SVNKit ,但没有找到任何有助于理解如何使用SVNKit的内容。

请指导我正确的方向,如果可能的话,逐步介绍如何使用SVNKit来完成我的任务。任何帮助将受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

使用svnlook命令。

svnlook已更改-r

这将为您提供所有带有上述转速的路径的列表。

答案 1 :(得分: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();
    }