hotcopy.h revision 299742
1/* hotcopy.h : interface to the native filesystem layer
2 *
3 * ====================================================================
4 *    Licensed to the Apache Software Foundation (ASF) under one
5 *    or more contributor license agreements.  See the NOTICE file
6 *    distributed with this work for additional information
7 *    regarding copyright ownership.  The ASF licenses this file
8 *    to you under the Apache License, Version 2.0 (the
9 *    "License"); you may not use this file except in compliance
10 *    with the License.  You may obtain a copy of the License at
11 *
12 *      http://www.apache.org/licenses/LICENSE-2.0
13 *
14 *    Unless required by applicable law or agreed to in writing,
15 *    software distributed under the License is distributed on an
16 *    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 *    KIND, either express or implied.  See the License for the
18 *    specific language governing permissions and limitations
19 *    under the License.
20 * ====================================================================
21 */
22
23#ifndef SVN_LIBSVN_FS__HOTCOPY_H
24#define SVN_LIBSVN_FS__HOTCOPY_H
25
26#include "fs.h"
27
28/* Create an empty copy of the fsfs filesystem SRC_FS into a new DST_FS at
29 * DST_PATH.  If INCREMENTAL is TRUE, perform a few pre-checks only if
30 * a repo already exists at DST_PATH. Use POOL for temporary allocations. */
31svn_error_t *
32svn_fs_fs__hotcopy_prepare_target(svn_fs_t *src_fs,
33                                  svn_fs_t *dst_fs,
34                                  const char *dst_path,
35                                  svn_boolean_t incremental,
36                                  apr_pool_t *pool);
37
38/* Copy the fsfs filesystem SRC_FS into DST_FS. If INCREMENTAL is TRUE, do
39 * not re-copy data which already exists in DST_FS.  Indicate progress via
40 * the optional NOTIFY_FUNC callback using NOTIFY_BATON.  Use POOL for
41 * temporary allocations. */
42svn_error_t * svn_fs_fs__hotcopy(svn_fs_t *src_fs,
43                                 svn_fs_t *dst_fs,
44                                 svn_boolean_t incremental,
45                                 svn_fs_hotcopy_notify_t notify_func,
46                                 void *notify_baton,
47                                 svn_cancel_func_t cancel_func,
48                                 void *cancel_baton,
49                                 apr_pool_t *pool);
50
51#endif
52