@Test
public void ofSourceRevision() throws Exception {
sampleRepo.init();
sampleRepo.svnkit("copy", "--message=branching", sampleRepo.trunkUrl(), sampleRepo.branchesUrl() + "/dev");
sampleRepo.svnkit("switch", sampleRepo.branchesUrl() + "/dev", sampleRepo.wc());
SCMSource source = new SubversionSCMSource(null, sampleRepo.prjUrl());
SCMRevision revision = source.fetch(new SCMHead("branches/dev"), null);
sampleRepo.write("file", "modified");
sampleRepo.svnkit("commit", "--message=dev1", sampleRepo.wc());
try (SCMFileSystem fs = SCMFileSystem.of(source, new SCMHead("branches/dev"), revision)) {
assertThat(fs, notNullValue());
SCMFile root = fs.getRoot();
assertThat(root, notNullValue());
Iterable<SCMFile> children = root.children();
Iterator<SCMFile> iterator = children.iterator();
assertThat(iterator.hasNext(), is(true));
SCMFile file = iterator.next();
assertThat(iterator.hasNext(), is(false));
assertThat(file.getName(), is("file"));
assertThat(file.contentAsString(), is(""));
}
}