Skip to content

Commit 3ce6149

Browse files
committed
Merge branch 'develop' of https://github.com/ProjectKaiser/scm4j-vcs-svn into develop
# Conflicts: # build.gradle # src/main/java/org/scm4j/vcs/svn/SVNVCS.java
2 parents f542192 + 6a81dea commit 3ce6149

File tree

4 files changed

+41
-20
lines changed

4 files changed

+41
-20
lines changed

.travis.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
language: java
2+
before_install:
3+
- chmod +x gradlew
4+
before_cache:
5+
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
6+
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
7+
cache:
8+
directories:
9+
- $HOME/.gradle/caches/
10+
- $HOME/.gradle/wrapper/
11+

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
[![Release](https://jitpack.io/v/scm4j/scm4j-vcs-svn.svg)](https://jitpack.io/#scm4j/scm4j-vcs-svn)
1+
[![Release](https://jitpack.io/v/scm4j/scm4j-vcs-svn.svg)](https://jitpack.io/#scm4j/scm4j-vcs-svn)
2+
[![Build Status](https://travis-ci.org/scm4j/scm4j-vcs-svn.svg?branch=master)](https://travis-ci.org/scm4j/scm4j-vcs-svn)
23

34
# Overview
45
scm4j-vcs-svn is lightweight library for execute basic SVN VCS operations (merge, branch create etc). It uses [scm4j-vcs-api](https://github.com/scm4j/scm4j-vcs-api) exposing IVCS implementation for SVN repositories and [SVNKit](https://svnkit.com/) as framework to work with SVN repositories.

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)