summaryrefslogtreecommitdiff
path: root/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java')
-rw-r--r--subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java57
1 files changed, 55 insertions, 2 deletions
diff --git a/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java b/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
index 318fb07..2fc28c2 100644
--- a/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
+++ b/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
@@ -29,6 +29,7 @@ import java.io.InputStream;
import java.io.File;
import org.apache.subversion.javahl.callback.ReposNotifyCallback;
+import org.apache.subversion.javahl.callback.ReposFreezeAction;
import org.apache.subversion.javahl.types.*;
public interface ISVNRepos {
@@ -113,6 +114,9 @@ public interface ISVNRepos {
* @throws ClientException throw in case of problem
*/
public abstract void hotcopy(File path, File targetPath,
+ boolean cleanLogs, boolean incremental) throws ClientException;
+
+ public abstract void hotcopy(File path, File targetPath,
boolean cleanLogs) throws ClientException;
/**
@@ -133,8 +137,35 @@ public interface ISVNRepos {
public abstract void listUnusedDBLogs(File path, MessageReceiver receiver)
throws ClientException;
+
+ /**
+ * load the data of a dump into a repository
+ * @param path the path to the repository
+ * @param dataInput the data input source
+ * @param start the first revision to load
+ * @param end the last revision to load
+ * @param ignoreUUID ignore any UUID found in the input stream
+ * @param forceUUID set the repository UUID to any found in the
+ * stream
+ * @param usePreCommitHook use the pre-commit hook when processing commits
+ * @param usePostCommitHook use the post-commit hook when processing commits
+ * @param relativePath the directory in the repository, where the data
+ * in put optional.
+ * @param callback the target for processing messages
+ * @throws ClientException throw in case of problem
+ * @since 1.8
+ */
+ public abstract void load(File path, InputStream dataInput,
+ Revision start, Revision end,
+ boolean ignoreUUID, boolean forceUUID,
+ boolean usePreCommitHook,
+ boolean usePostCommitHook,
+ String relativePath,
+ ReposNotifyCallback callback)
+ throws ClientException;
+
/**
- * load the data of a dump into a repository,
+ * load the data of a dump into a repository
* @param path the path to the repository
* @param dataInput the data input source
* @param ignoreUUID ignore any UUID found in the input stream
@@ -146,6 +177,8 @@ public interface ISVNRepos {
* in put optional.
* @param callback the target for processing messages
* @throws ClientException throw in case of problem
+ * @note behaves like the 1.8 vesion with the revision
+ * parameters set to Revision.START and Revision.HEAD.
*/
public abstract void load(File path, InputStream dataInput,
boolean ignoreUUID, boolean forceUUID, boolean usePreCommitHook,
@@ -163,14 +196,34 @@ public interface ISVNRepos {
throws ClientException;
/**
- * recover the berkeley db of a repository, returns youngest revision
+ * recover the filesystem backend of a repository
* @param path the path to the repository
+ * @return youngest revision
* @throws ClientException throw in case of problem
*/
public abstract long recover(File path, ReposNotifyCallback callback)
throws ClientException;
/**
+ * Take an exclusive lock on each of the listed repositories
+ * to prevent commits; then, while holding all the locks, call
+ * the action.invoke().
+ *
+ * The repositories may or may not be readable by Subversion
+ * while frozen, depending on implementation details of the
+ * repository's filesystem backend.
+ *
+ * Repositories are locked in the listed order.
+ * @param action describes the action to perform
+ * @param paths the set of repository paths
+ * @throws ClientException
+ * @since 1.8
+ */
+ public abstract void freeze(ReposFreezeAction action,
+ File... paths)
+ throws ClientException;
+
+ /**
* remove open transaction in a repository
* @param path the path to the repository
* @param transactions the transactions to be removed