Skip to content

Commit f6e16c3

Browse files
committed
2 parents b1a5d7c + ac5a7ad commit f6e16c3

File tree

5 files changed

+40
-25
lines changed

5 files changed

+40
-25
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ hs_err_pid*
1414
/gradle
1515
build
1616
bin
17+
*.iml

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sourceCompatibility = JavaVersion.VERSION_1_7
66
targetCompatibility = JavaVersion.VERSION_1_7
77

88
group = 'org.scm4j'
9-
version = '2.0-SNAPSHOT'
9+
version = '3.0-SNAPSHOT'
1010

1111
repositories {
1212
mavenCentral()

src/main/java/org/scm4j/vcs/svn/SVNVCS.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class SVNVCS implements IVCS {
7373
private SVNClientManager clientManager;
7474
private SVNURL trunkSVNUrl;
7575
private SVNAuthentication userPassAuth;
76-
private IVCSRepositoryWorkspace repo;
76+
private final IVCSRepositoryWorkspace repo;
7777
private String repoUrl;
7878

7979
public static final String MASTER_PATH= "trunk/";
@@ -332,8 +332,8 @@ public String getRepoUrl() {
332332
return repo.getRepoUrl();
333333
}
334334

335-
private void fillUnifiedDiffs(final String srcBranchName, final String dstBranchName, List<VCSDiffEntry> entries,
336-
IVCSLockedWorkingCopy wc) throws SVNException {
335+
private void fillUnifiedDiffs(final String srcBranchName, final String dstBranchName, List<VCSDiffEntry> entries)
336+
throws SVNException {
337337
for (VCSDiffEntry entry : entries) {
338338
ByteArrayOutputStream baos = new ByteArrayOutputStream();
339339

@@ -379,8 +379,8 @@ public void handleLogEntry(SVNLogEntry logEntry) throws SVNException {
379379
}
380380

381381

382-
private List<VCSDiffEntry> getDiffEntries(final String srcBranchName, final String dstBranchName,
383-
final IVCSLockedWorkingCopy wc) throws SVNException {
382+
private List<VCSDiffEntry> getDiffEntries(final String srcBranchName, final String dstBranchName)
383+
throws SVNException {
384384
final SvnOperationFactory svnOperationFactory = new SvnOperationFactory();
385385
final SvnDiffSummarize summarizeDiff = svnOperationFactory.createDiffSummarize();
386386
final List<VCSDiffEntry> res = new ArrayList<>();
@@ -421,8 +421,8 @@ public List<VCSDiffEntry> getBranchesDiff(final String srcBranchName, final Stri
421421
try {
422422
try (IVCSLockedWorkingCopy wc = repo.getVCSLockedWorkingCopy()) {
423423
checkout(getBranchUrl(dstBranchName), wc.getFolder());
424-
List<VCSDiffEntry> entries = getDiffEntries(srcBranchName, dstBranchName, wc);
425-
fillUnifiedDiffs(srcBranchName, dstBranchName, entries, wc);
424+
List<VCSDiffEntry> entries = getDiffEntries(srcBranchName, dstBranchName);
425+
fillUnifiedDiffs(srcBranchName, dstBranchName, entries);
426426
return entries;
427427
}
428428
} catch (SVNException e) {

src/test/java/org/scm4j/vcs/svn/SVNVCSTest.java

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,46 @@
11
package org.scm4j.vcs.svn;
22

3-
import java.io.File;
4-
import java.io.IOException;
5-
import java.util.Collection;
6-
73
import org.junit.After;
84
import org.mockito.Mockito;
9-
import org.scm4j.vcs.svn.SVNVCS;
5+
import org.scm4j.vcs.api.IVCS;
6+
import org.scm4j.vcs.api.abstracttest.VCSAbstractTest;
7+
import org.scm4j.vcs.api.exceptions.EVCSException;
8+
import org.scm4j.vcs.api.workingcopy.IVCSRepositoryWorkspace;
109
import org.tmatesoft.svn.core.SVNDepth;
1110
import org.tmatesoft.svn.core.SVNException;
1211
import org.tmatesoft.svn.core.SVNURL;
1312
import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;
1413
import org.tmatesoft.svn.core.io.SVNRepository;
15-
import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
1614
import org.tmatesoft.svn.core.wc.SVNWCClient;
1715

18-
import org.scm4j.vcs.api.IVCS;
19-
import org.scm4j.vcs.api.abstracttest.VCSAbstractTest;
20-
import org.scm4j.vcs.api.exceptions.EVCSException;
21-
import org.scm4j.vcs.api.workingcopy.IVCSRepositoryWorkspace;
16+
import java.io.File;
17+
import java.io.IOException;
18+
import java.util.Collection;
2219

2320
public class SVNVCSTest extends VCSAbstractTest {
2421

2522
private static final String TRUNK_CREATED_COMMIT_MESSAGE = "trunk/ created";
2623
private static final String BRANCHES_CREATED_COMMIT_MESSAGE = "branches/ created";
2724
private SVNVCS svn;
28-
private SVNURL localRepoUrl;
2925
private SVNRepository svnRepo;
3026
private SVNWCClient mockedSVNRevertClient;
31-
private RuntimeException testSvnRevertException = new RuntimeException("test exeption on svn revert");
27+
private final RuntimeException testSvnRevertException = new RuntimeException("test exeption on svn revert");
3228

3329
@Override
3430
public void setUp() throws Exception {
3531
super.setUp();
36-
localRepoUrl = SVNRepositoryFactory.createLocalRepository(new File(repoUrl.replace("file://", "")), true, true);
37-
38-
svnRepo = SVNRepositoryFactory.create(localRepoUrl);
32+
svnRepo = SVNVCSUtils.createRepository(new File(repoUrl.replace("file://", "")));
3933

4034
createFolder("/" + SVNVCS.MASTER_PATH, TRUNK_CREATED_COMMIT_MESSAGE);
4135
createFolder("/" + SVNVCS.BRANCHES_PATH, BRANCHES_CREATED_COMMIT_MESSAGE);
4236
}
43-
37+
4438
private void createFolder(String folderName, String commitMessage) {
4539
try {
4640
svn
4741
.getClientManager()
4842
.getCommitClient()
49-
.doMkDir(new SVNURL[] {SVNURL.parseURIEncoded(svn.getRepoUrl() + folderName)},
43+
.doMkDir(new SVNURL[] {SVNURL.parseURIEncoded(svn.getRepoUrl() + folderName)},
5044
commitMessage);
5145
} catch (SVNException e) {
5246
throw new EVCSException(e);
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.scm4j.vcs.svn;
2+
3+
import org.scm4j.vcs.api.exceptions.EVCSException;
4+
import org.tmatesoft.svn.core.SVNException;
5+
import org.tmatesoft.svn.core.SVNURL;
6+
import org.tmatesoft.svn.core.io.SVNRepository;
7+
import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
8+
9+
import java.io.File;
10+
11+
public class SVNVCSUtils {
12+
public static SVNRepository createRepository(File repoDir) {
13+
try {
14+
SVNURL localRepoUrl = SVNRepositoryFactory.createLocalRepository(repoDir, true, true);
15+
return SVNRepositoryFactory.create(localRepoUrl);
16+
} catch (SVNException e) {
17+
throw new EVCSException(e);
18+
}
19+
}
20+
}

0 commit comments

Comments
 (0)