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
12 * http://www.apache.org/licenses/LICENSE-2.0
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
20 * ====================================================================
24 * @brief The svn_delta_editor_t editor used by svnrdump to load
28 #ifndef LOAD_EDITOR_H_
29 #define LOAD_EDITOR_H_
32 * General baton used by the parser functions.
36 const svn_delta_editor_t
*commit_editor
;
37 void *commit_edit_baton
;
38 svn_ra_session_t
*session
;
44 * Use to wrap the dir_context_t in commit.c so we can keep track of
45 * depth, relpath and parent for open_directory and close_directory.
47 struct directory_baton
52 struct directory_baton
*parent
;
56 * Baton used to represent a node; to be used by the parser
57 * functions. Contains a link to the revision baton.
63 enum svn_node_action action
;
65 svn_revnum_t copyfrom_rev
;
66 const char *copyfrom_path
;
69 const char *base_checksum
;
71 struct revision_baton
*rb
;
75 * Baton used to represet a revision; used by the parser
76 * functions. Contains a link to the parser baton.
81 apr_hash_t
*revprop_table
;
83 const svn_string_t
*datestamp
;
84 const svn_string_t
*author
;
86 struct parse_baton
*pb
;
87 struct directory_baton
*db
;
92 * Build up a load editor @a parser for parsing a dumpfile stream from @a stream
93 * set to fire the appropriate callbacks in load editor along with a
94 * @a parser_baton, using @a pool for all memory allocations. The
95 * @a editor/ @a edit_baton are central to the functionality of the
99 get_dumpstream_loader(const svn_repos_parse_fns2_t
**parser
,
101 svn_ra_session_t
*session
,
105 * Drive the load editor @a editor using the data in @a stream using
106 * @a pool for all memory allocations.
109 drive_dumpstream_loader(svn_stream_t
*stream
,
110 const svn_repos_parse_fns2_t
*parser
,
112 svn_ra_session_t
*session
,