mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 23:45:44 +01:00
Introduce cache layer for workdirs
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
package sonia.scm.repository.spi;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -30,6 +30,7 @@ import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.tmatesoft.svn.core.SVNException;
|
||||
import sonia.scm.repository.Repository;
|
||||
import sonia.scm.repository.util.NoneCachingWorkdirProvider;
|
||||
import sonia.scm.repository.util.WorkdirProvider;
|
||||
import sonia.scm.repository.util.WorkingCopy;
|
||||
|
||||
@@ -53,7 +54,7 @@ public class SimpleSvnWorkDirFactoryTest extends AbstractSvnCommandTestBase {
|
||||
|
||||
@Test
|
||||
public void shouldCheckoutLatestRevision() throws SVNException, IOException {
|
||||
SimpleSvnWorkDirFactory factory = new SimpleSvnWorkDirFactory(workdirProvider);
|
||||
SimpleSvnWorkDirFactory factory = new SimpleSvnWorkDirFactory(new NoneCachingWorkdirProvider(workdirProvider));
|
||||
|
||||
try (WorkingCopy<File, File> workingCopy = factory.createWorkingCopy(createContext(), null)) {
|
||||
assertThat(new File(workingCopy.getWorkingRepository(), "a.txt"))
|
||||
@@ -65,7 +66,7 @@ public class SimpleSvnWorkDirFactoryTest extends AbstractSvnCommandTestBase {
|
||||
|
||||
@Test
|
||||
public void cloneFromPoolshouldNotBeReused() {
|
||||
SimpleSvnWorkDirFactory factory = new SimpleSvnWorkDirFactory(workdirProvider);
|
||||
SimpleSvnWorkDirFactory factory = new SimpleSvnWorkDirFactory(new NoneCachingWorkdirProvider(workdirProvider));
|
||||
|
||||
File firstDirectory;
|
||||
try (WorkingCopy<File, File> workingCopy = factory.createWorkingCopy(createContext(), null)) {
|
||||
@@ -79,7 +80,7 @@ public class SimpleSvnWorkDirFactoryTest extends AbstractSvnCommandTestBase {
|
||||
|
||||
@Test
|
||||
public void shouldDeleteCloneOnClose() {
|
||||
SimpleSvnWorkDirFactory factory = new SimpleSvnWorkDirFactory(workdirProvider);
|
||||
SimpleSvnWorkDirFactory factory = new SimpleSvnWorkDirFactory(new NoneCachingWorkdirProvider(workdirProvider));
|
||||
|
||||
File directory;
|
||||
File workingRepository;
|
||||
@@ -94,7 +95,7 @@ public class SimpleSvnWorkDirFactoryTest extends AbstractSvnCommandTestBase {
|
||||
|
||||
@Test
|
||||
public void shouldReturnRepository() {
|
||||
SimpleSvnWorkDirFactory factory = new SimpleSvnWorkDirFactory(workdirProvider);
|
||||
SimpleSvnWorkDirFactory factory = new SimpleSvnWorkDirFactory(new NoneCachingWorkdirProvider(workdirProvider));
|
||||
Repository scmRepository = factory.getScmRepository(createContext());
|
||||
assertThat(scmRepository).isSameAs(repository);
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import sonia.scm.AlreadyExistsException;
|
||||
import sonia.scm.repository.Person;
|
||||
import sonia.scm.repository.util.NoneCachingWorkdirProvider;
|
||||
import sonia.scm.repository.util.WorkdirProvider;
|
||||
import sonia.scm.repository.util.WorkingCopy;
|
||||
|
||||
@@ -56,7 +57,7 @@ public class SvnModifyCommandTest extends AbstractSvnCommandTestBase {
|
||||
@Before
|
||||
public void initSvnModifyCommand() {
|
||||
context = createContext();
|
||||
workDirFactory = new SimpleSvnWorkDirFactory(new WorkdirProvider(context.getDirectory()));
|
||||
workDirFactory = new SimpleSvnWorkDirFactory(new NoneCachingWorkdirProvider(new WorkdirProvider(context.getDirectory())));
|
||||
svnModifyCommand = new SvnModifyCommand(context, workDirFactory);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user