How to get tree structure from SVN using java

Is there any way to get the SVN structure as a tree struture in java?

For Eg: if i specify a path http://sample.com/repository/pag/branches/dev/Structure/services/

  • File from non-active change list is modified
  • Configuring Jenkins with Bitbucket
  • Packfile is truncated error while cloning Git repository
  • Can Eclipse's Refactor > Move be integrated with Git?
  • Where are Jgit javadocs?
  • Fetch from one git server and push to another server using Jenkins
  • I want what all entries under services and if it again contains a directory its enteries also in a tree?

    Thanks.

    Note : i have seen the getDir(). But here i have to keep on iterating it.

  • How commit all files except one with SVN
  • Subversion merge history visualisation
  • svn externals not working
  • use CMake to get build-time svn revision
  • Recipe for making Cocoa NSDocument packages play well with svn?
  • How do you get the history of a file/folder property in SVN?
  • One Solution collect form web for “How to get tree structure from SVN using java”

    If you need all the tree, you may do that with “status” request with report telling that you have an empty working copy. One “status” request should be faster than a number of getDir() requests. An example how to do that with 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();
        }
    
    Git Baby is a git and github fan, let's start git clone.