Skip to content

Commit 6a81dea

Browse files
committed
refactor
1 parent f45d816 commit 6a81dea

File tree

3 files changed

+39
-75
lines changed

3 files changed

+39
-75
lines changed

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

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

3-
import java.io.ByteArrayOutputStream;
4-
import java.io.File;
5-
import java.io.FileWriter;
6-
import java.io.UnsupportedEncodingException;
7-
import java.nio.charset.StandardCharsets;
8-
import java.util.ArrayList;
9-
import java.util.Collection;
10-
import java.util.Collections;
11-
import java.util.HashSet;
12-
import java.util.List;
13-
import java.util.Set;
14-
153
import org.apache.commons.io.FileUtils;
16-
import org.scm4j.vcs.api.IVCS;
17-
import org.scm4j.vcs.api.VCSChangeType;
18-
import org.scm4j.vcs.api.VCSCommit;
19-
import org.scm4j.vcs.api.VCSDiffEntry;
20-
import org.scm4j.vcs.api.VCSMergeResult;
21-
import org.scm4j.vcs.api.WalkDirection;
4+
import org.scm4j.vcs.api.*;
225
import org.scm4j.vcs.api.exceptions.EVCSBranchExists;
236
import org.scm4j.vcs.api.exceptions.EVCSException;
247
import org.scm4j.vcs.api.exceptions.EVCSFileNotFound;
258
import org.scm4j.vcs.api.workingcopy.IVCSLockedWorkingCopy;
269
import org.scm4j.vcs.api.workingcopy.IVCSRepositoryWorkspace;
2710
import org.scm4j.vcs.api.workingcopy.IVCSWorkspace;
28-
import org.tmatesoft.svn.core.ISVNLogEntryHandler;
29-
import org.tmatesoft.svn.core.SVNCommitInfo;
30-
import org.tmatesoft.svn.core.SVNDepth;
31-
import org.tmatesoft.svn.core.SVNDirEntry;
32-
import org.tmatesoft.svn.core.SVNException;
33-
import org.tmatesoft.svn.core.SVNLogEntry;
34-
import org.tmatesoft.svn.core.SVNNodeKind;
35-
import org.tmatesoft.svn.core.SVNProperties;
36-
import org.tmatesoft.svn.core.SVNURL;
11+
import org.tmatesoft.svn.core.*;
3712
import org.tmatesoft.svn.core.auth.BasicAuthenticationManager;
3813
import org.tmatesoft.svn.core.auth.SVNAuthentication;
3914
import org.tmatesoft.svn.core.auth.SVNPasswordAuthentication;
4015
import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;
4116
import org.tmatesoft.svn.core.io.SVNRepository;
4217
import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
43-
import org.tmatesoft.svn.core.wc.ISVNConflictHandler;
44-
import org.tmatesoft.svn.core.wc.ISVNOptions;
45-
import org.tmatesoft.svn.core.wc.SVNClientManager;
46-
import org.tmatesoft.svn.core.wc.SVNConflictChoice;
47-
import org.tmatesoft.svn.core.wc.SVNConflictDescription;
48-
import org.tmatesoft.svn.core.wc.SVNConflictResult;
49-
import org.tmatesoft.svn.core.wc.SVNCopyClient;
50-
import org.tmatesoft.svn.core.wc.SVNCopySource;
51-
import org.tmatesoft.svn.core.wc.SVNDiffClient;
52-
import org.tmatesoft.svn.core.wc.SVNRevision;
53-
import org.tmatesoft.svn.core.wc.SVNRevisionRange;
54-
import org.tmatesoft.svn.core.wc.SVNStatusType;
55-
import org.tmatesoft.svn.core.wc.SVNUpdateClient;
56-
import org.tmatesoft.svn.core.wc.SVNWCClient;
57-
import org.tmatesoft.svn.core.wc.SVNWCUtil;
58-
import org.tmatesoft.svn.core.wc2.ISvnObjectReceiver;
59-
import org.tmatesoft.svn.core.wc2.SvnDiff;
60-
import org.tmatesoft.svn.core.wc2.SvnDiffStatus;
61-
import org.tmatesoft.svn.core.wc2.SvnDiffSummarize;
62-
import org.tmatesoft.svn.core.wc2.SvnOperationFactory;
63-
import org.tmatesoft.svn.core.wc2.SvnTarget;
18+
import org.tmatesoft.svn.core.wc.*;
19+
import org.tmatesoft.svn.core.wc2.*;
20+
21+
import java.io.ByteArrayOutputStream;
22+
import java.io.File;
23+
import java.io.FileWriter;
24+
import java.io.UnsupportedEncodingException;
25+
import java.nio.charset.StandardCharsets;
26+
import java.util.*;
6427

6528
public class SVNVCS implements IVCS {
6629
private static final int SVN_PATH_IS_NOT_WORKING_COPY_ERROR_CODE = 155007;
@@ -436,14 +399,6 @@ public List<VCSDiffEntry> getBranchesDiff(final String srcBranchName, final Stri
436399
}
437400
}
438401

439-
public void createTrunk(String commitMessage) throws SVNException {
440-
createBranch(SVNURL.parseURIEncoded(repoUrl), SVNURL.parseURIEncoded(repoUrl + MASTER_PATH), commitMessage);
441-
}
442-
443-
public void createBranches(String commitMessage) throws SVNException {
444-
createBranch(SVNURL.parseURIEncoded(repoUrl), SVNURL.parseURIEncoded(repoUrl + BRANCHES_PATH), commitMessage);
445-
}
446-
447402
@Override
448403
public Set<String> getBranches() {
449404
try {

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

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44
import org.mockito.Mockito;
55
import org.scm4j.vcs.api.IVCS;
66
import org.scm4j.vcs.api.abstracttest.VCSAbstractTest;
7-
import org.scm4j.vcs.api.exceptions.EVCSException;
87
import org.scm4j.vcs.api.workingcopy.IVCSRepositoryWorkspace;
98
import org.tmatesoft.svn.core.SVNDepth;
109
import org.tmatesoft.svn.core.SVNException;
11-
import org.tmatesoft.svn.core.SVNURL;
1210
import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;
1311
import org.tmatesoft.svn.core.io.SVNRepository;
1412
import org.tmatesoft.svn.core.wc.SVNWCClient;
@@ -19,8 +17,7 @@
1917

2018
public class SVNVCSTest extends VCSAbstractTest {
2119

22-
private static final String TRUNK_CREATED_COMMIT_MESSAGE = "trunk/ created";
23-
private static final String BRANCHES_CREATED_COMMIT_MESSAGE = "branches/ created";
20+
private static final String FOLDER_STRUCT_CREATED_COMMIT_MESSAGE = "trunk/ and branches/ created";
2421
private SVNVCS svn;
2522
private SVNRepository svnRepo;
2623
private SVNWCClient mockedSVNRevertClient;
@@ -30,21 +27,7 @@ public class SVNVCSTest extends VCSAbstractTest {
3027
public void setUp() throws Exception {
3128
super.setUp();
3229
svnRepo = SVNVCSUtils.createRepository(new File(repoUrl.replace("file://", "")));
33-
34-
createFolder("/" + SVNVCS.MASTER_PATH, TRUNK_CREATED_COMMIT_MESSAGE);
35-
createFolder("/" + SVNVCS.BRANCHES_PATH, BRANCHES_CREATED_COMMIT_MESSAGE);
36-
}
37-
38-
private void createFolder(String folderName, String commitMessage) {
39-
try {
40-
svn
41-
.getClientManager()
42-
.getCommitClient()
43-
.doMkDir(new SVNURL[] {SVNURL.parseURIEncoded(svn.getRepoUrl() + folderName)},
44-
commitMessage);
45-
} catch (SVNException e) {
46-
throw new EVCSException(e);
47-
}
30+
SVNVCSUtils.createFolderStructure(svn, FOLDER_STRUCT_CREATED_COMMIT_MESSAGE);
4831
}
4932

5033
@After

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,30 @@ public static SVNRepository createRepository(File repoDir) {
1717
throw new EVCSException(e);
1818
}
1919
}
20+
21+
public static void createFolderStructure(SVNVCS svn, String commitMessage) {
22+
try {
23+
svn
24+
.getClientManager()
25+
.getCommitClient()
26+
.doMkDir(new SVNURL[] {
27+
SVNURL.parseURIEncoded(appendSlash(svn.getRepoUrl()) + SVNVCS.MASTER_PATH),
28+
SVNURL.parseURIEncoded(appendSlash(svn.getRepoUrl()) + SVNVCS.BRANCHES_PATH)},
29+
commitMessage);
30+
} catch (SVNException e) {
31+
throw new EVCSException(e);
32+
}
33+
}
34+
35+
public static String removeLastSlash(String url) {
36+
if(url.endsWith("/")) {
37+
return url.substring(0, url.lastIndexOf("/"));
38+
} else {
39+
return url;
40+
}
41+
}
42+
43+
public static String appendSlash(String url) {
44+
return removeLastSlash(url) + "/";
45+
}
2046
}

0 commit comments

Comments
 (0)