title: Use JGit TreeWalk to list files and folders
body: <p>I'd like to use JGit to display a list of all files and folders for the head revision. I'm able to list all files using TreeWalk, but this does not list folders. </p>
  
  <p>Here is what I have so far:</p>
  
  <pre><code>public class MainClass {
  
      public static void main(String[] args) throws IOException {
          FileRepositoryBuilder builder = new FileRepositoryBuilder();
          Repository repository = builder
                  .setGitDir(new File("C:\\temp\\git\\.git")).readEnvironment()
                  .findGitDir().build();
  
          listRepositoryContents(repository);
  
          repository.close();
      }
  
      private static void listRepositoryContents(Repository repository) throws IOException {
          Ref head = repository.getRef("HEAD");
  
          // a RevWalk allows to walk over commits based on some filtering that is defined
          RevWalk walk = new RevWalk(repository);
  
          RevCommit commit = walk.parseCommit(head.getObjectId());
          RevTree tree = commit.getTree();
          System.out.println("Having tree: " + tree);
  
          // now use a TreeWalk to iterate over all files in the Tree recursively
          // you can set Filters to narrow down the results if needed
          TreeWalk treeWalk = new TreeWalk(repository);
          treeWalk.addTree(tree);
          treeWalk.setRecursive(true);
          while (treeWalk.next()) {
              System.out.println("found: " + treeWalk.getPathString());
          }
      }
  }
  </code></pre>