svn_log.h revision 299742
1/*
2 * svn_log.h: Functions for assembling entries for server-side logs.
3 *            See also tools/server-side/svn_server_log_parse.py .
4 * ====================================================================
5 *    Licensed to the Apache Software Foundation (ASF) under one
6 *    or more contributor license agreements.  See the NOTICE file
7 *    distributed with this work for additional information
8 *    regarding copyright ownership.  The ASF licenses this file
9 *    to you under the Apache License, Version 2.0 (the
10 *    "License"); you may not use this file except in compliance
11 *    with the License.  You may obtain a copy of the License at
12 *
13 *      http://www.apache.org/licenses/LICENSE-2.0
14 *
15 *    Unless required by applicable law or agreed to in writing,
16 *    software distributed under the License is distributed on an
17 *    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 *    KIND, either express or implied.  See the License for the
19 *    specific language governing permissions and limitations
20 *    under the License.
21 * ====================================================================
22 */
23
24#ifndef SVN_LOG_H
25#define SVN_LOG_H
26
27#include <apr.h>
28#include <apr_pools.h>
29#include <apr_tables.h>
30
31#include "svn_types.h"
32#include "svn_mergeinfo.h"
33
34#ifdef __cplusplus
35extern "C" {
36#endif /* __cplusplus */
37
38/**
39 * Return a log string for a reparent action.
40 *
41 * @since New in 1.6.
42 */
43const char *
44svn_log__reparent(const char *path, apr_pool_t *pool);
45
46/**
47 * Return a log string for a change-rev-prop action.
48 *
49 * @since New in 1.6.
50 */
51const char *
52svn_log__change_rev_prop(svn_revnum_t rev, const char *name, apr_pool_t *pool);
53
54/**
55 * Return a log string for a rev-proplist action.
56 *
57 * @since New in 1.6.
58 */
59const char *
60svn_log__rev_proplist(svn_revnum_t rev, apr_pool_t *pool);
61
62/**
63 * Return a log string for a rev-prop action.
64 *
65 * @since New in 1.6.
66 */
67const char *
68svn_log__rev_prop(svn_revnum_t rev, const char *name, apr_pool_t *pool);
69
70/**
71 * Return a log string for a commit action.
72 *
73 * @since New in 1.6.
74 */
75const char *
76svn_log__commit(svn_revnum_t rev, apr_pool_t *pool);
77
78/**
79 * Return a log string for a get-file action.
80 *
81 * @since New in 1.6.
82 */
83const char *
84svn_log__get_file(const char *path, svn_revnum_t rev,
85                  svn_boolean_t want_contents, svn_boolean_t want_props,
86                  apr_pool_t *pool);
87
88/**
89 * Return a log string for a get-dir action.
90 *
91 * @since New in 1.6.
92 */
93const char *
94svn_log__get_dir(const char *path, svn_revnum_t rev,
95                 svn_boolean_t want_contents, svn_boolean_t want_props,
96                 apr_uint64_t dirent_fields,
97                 apr_pool_t *pool);
98
99/**
100 * Return a log string for a get-mergeinfo action.
101 *
102 * @since New in 1.6.
103 */
104const char *
105svn_log__get_mergeinfo(const apr_array_header_t *paths,
106                       svn_mergeinfo_inheritance_t inherit,
107                       svn_boolean_t include_descendants,
108                       apr_pool_t *pool);
109
110/**
111 * Return a log string for a checkout action.
112 *
113 * @since New in 1.6.
114 */
115const char *
116svn_log__checkout(const char *path, svn_revnum_t rev, svn_depth_t depth,
117                  apr_pool_t *pool);
118
119/**
120 * Return a log string for an update action.
121 *
122 * @since New in 1.6.
123 */
124const char *
125svn_log__update(const char *path, svn_revnum_t rev, svn_depth_t depth,
126                svn_boolean_t send_copyfrom_args,
127                apr_pool_t *pool);
128
129/**
130 * Return a log string for a switch action.
131 *
132 * @since New in 1.6.
133 */
134const char *
135svn_log__switch(const char *path, const char *dst_path, svn_revnum_t revnum,
136                svn_depth_t depth, apr_pool_t *pool);
137
138/**
139 * Return a log string for a status action.
140 *
141 * @since New in 1.6.
142 */
143const char *
144svn_log__status(const char *path, svn_revnum_t rev, svn_depth_t depth,
145                apr_pool_t *pool);
146
147/**
148 * Return a log string for a diff action.
149 *
150 * @since New in 1.6.
151 */
152const char *
153svn_log__diff(const char *path, svn_revnum_t from_revnum,
154              const char *dst_path, svn_revnum_t revnum,
155              svn_depth_t depth, svn_boolean_t ignore_ancestry,
156              apr_pool_t *pool);
157
158/**
159 * Return a log string for a log action.
160 *
161 * @since New in 1.6.
162 */
163const char *
164svn_log__log(const apr_array_header_t *paths,
165             svn_revnum_t start, svn_revnum_t end,
166             int limit, svn_boolean_t discover_changed_paths,
167             svn_boolean_t strict_node_history,
168             svn_boolean_t include_merged_revisions,
169             const apr_array_header_t *revprops, apr_pool_t *pool);
170
171/**
172 * Return a log string for a get-locations action.
173 *
174 * @since New in 1.6.
175 */
176const char *
177svn_log__get_locations(const char *path, svn_revnum_t peg_revision,
178                       const apr_array_header_t *location_revisions,
179                       apr_pool_t *pool);
180
181/**
182 * Return a log string for a get-location-segments action.
183 *
184 * @since New in 1.6.
185 */
186const char *
187svn_log__get_location_segments(const char *path, svn_revnum_t peg_revision,
188                               svn_revnum_t start, svn_revnum_t end,
189                               apr_pool_t *pool);
190
191/**
192 * Return a log string for a get-file-revs action.
193 *
194 * @since New in 1.6.
195 */
196const char *
197svn_log__get_file_revs(const char *path, svn_revnum_t start, svn_revnum_t end,
198                       svn_boolean_t include_merged_revisions,
199                       apr_pool_t *pool);
200
201/**
202 * Return a log string for a lock action.
203 *
204 * @since New in 1.6.
205 */
206const char *
207svn_log__lock(apr_hash_t *targets, svn_boolean_t steal,
208              apr_pool_t *pool);
209
210/**
211 * Return a log string for an unlock action.
212 *
213 * @since New in 1.6.
214 */
215const char *
216svn_log__unlock(apr_hash_t *targets, svn_boolean_t break_lock,
217                apr_pool_t *pool);
218
219/**
220 * Return a log string for a lock action on only one path; this is
221 * just a convenience wrapper around svn_log__lock().
222 *
223 * @since New in 1.6.
224 */
225const char *
226svn_log__lock_one_path(const char *path, svn_boolean_t steal,
227                       apr_pool_t *pool);
228
229/**
230 * Return a log string for an unlock action on only one path; this is
231 * just a convenience wrapper around svn_log__unlock().
232 *
233 * @since New in 1.6.
234 */
235const char *
236svn_log__unlock_one_path(const char *path, svn_boolean_t break_lock,
237                         apr_pool_t *pool);
238
239/**
240 * Return a log string for a replay action.
241 *
242 * @since New in 1.6.
243 */
244const char *
245svn_log__replay(const char *path, svn_revnum_t rev, apr_pool_t *pool);
246
247/**
248 * Return a log string for a get-inherited-props action.
249 *
250 * @since New in 1.8.
251 */
252const char *
253svn_log__get_inherited_props(const char *path,
254                             svn_revnum_t rev,
255                             apr_pool_t *pool);
256#ifdef __cplusplus
257}
258#endif /* __cplusplus */
259
260#endif /* SVN_LOG_H */
261