1251881Speter/*
2251881Speter * svn_log.h: Functions for assembling entries for server-side logs.
3251881Speter *            See also tools/server-side/svn_server_log_parse.py .
4251881Speter * ====================================================================
5251881Speter *    Licensed to the Apache Software Foundation (ASF) under one
6251881Speter *    or more contributor license agreements.  See the NOTICE file
7251881Speter *    distributed with this work for additional information
8251881Speter *    regarding copyright ownership.  The ASF licenses this file
9251881Speter *    to you under the Apache License, Version 2.0 (the
10251881Speter *    "License"); you may not use this file except in compliance
11251881Speter *    with the License.  You may obtain a copy of the License at
12251881Speter *
13251881Speter *      http://www.apache.org/licenses/LICENSE-2.0
14251881Speter *
15251881Speter *    Unless required by applicable law or agreed to in writing,
16251881Speter *    software distributed under the License is distributed on an
17251881Speter *    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18251881Speter *    KIND, either express or implied.  See the License for the
19251881Speter *    specific language governing permissions and limitations
20251881Speter *    under the License.
21251881Speter * ====================================================================
22251881Speter */
23251881Speter
24251881Speter#ifndef SVN_LOG_H
25251881Speter#define SVN_LOG_H
26251881Speter
27251881Speter#include <apr.h>
28251881Speter#include <apr_pools.h>
29251881Speter#include <apr_tables.h>
30251881Speter
31251881Speter#include "svn_types.h"
32251881Speter#include "svn_mergeinfo.h"
33251881Speter
34251881Speter#ifdef __cplusplus
35251881Speterextern "C" {
36251881Speter#endif /* __cplusplus */
37251881Speter
38251881Speter/**
39251881Speter * Return a log string for a reparent action.
40251881Speter *
41251881Speter * @since New in 1.6.
42251881Speter */
43251881Speterconst char *
44251881Spetersvn_log__reparent(const char *path, apr_pool_t *pool);
45251881Speter
46251881Speter/**
47251881Speter * Return a log string for a change-rev-prop action.
48251881Speter *
49251881Speter * @since New in 1.6.
50251881Speter */
51251881Speterconst char *
52251881Spetersvn_log__change_rev_prop(svn_revnum_t rev, const char *name, apr_pool_t *pool);
53251881Speter
54251881Speter/**
55251881Speter * Return a log string for a rev-proplist action.
56251881Speter *
57251881Speter * @since New in 1.6.
58251881Speter */
59251881Speterconst char *
60251881Spetersvn_log__rev_proplist(svn_revnum_t rev, apr_pool_t *pool);
61251881Speter
62251881Speter/**
63251881Speter * Return a log string for a rev-prop action.
64251881Speter *
65251881Speter * @since New in 1.6.
66251881Speter */
67251881Speterconst char *
68251881Spetersvn_log__rev_prop(svn_revnum_t rev, const char *name, apr_pool_t *pool);
69251881Speter
70251881Speter/**
71251881Speter * Return a log string for a commit action.
72251881Speter *
73251881Speter * @since New in 1.6.
74251881Speter */
75251881Speterconst char *
76251881Spetersvn_log__commit(svn_revnum_t rev, apr_pool_t *pool);
77251881Speter
78251881Speter/**
79251881Speter * Return a log string for a get-file action.
80251881Speter *
81251881Speter * @since New in 1.6.
82251881Speter */
83251881Speterconst char *
84251881Spetersvn_log__get_file(const char *path, svn_revnum_t rev,
85251881Speter                  svn_boolean_t want_contents, svn_boolean_t want_props,
86251881Speter                  apr_pool_t *pool);
87251881Speter
88251881Speter/**
89251881Speter * Return a log string for a get-dir action.
90251881Speter *
91251881Speter * @since New in 1.6.
92251881Speter */
93251881Speterconst char *
94251881Spetersvn_log__get_dir(const char *path, svn_revnum_t rev,
95251881Speter                 svn_boolean_t want_contents, svn_boolean_t want_props,
96251881Speter                 apr_uint64_t dirent_fields,
97251881Speter                 apr_pool_t *pool);
98251881Speter
99251881Speter/**
100251881Speter * Return a log string for a get-mergeinfo action.
101251881Speter *
102251881Speter * @since New in 1.6.
103251881Speter */
104251881Speterconst char *
105251881Spetersvn_log__get_mergeinfo(const apr_array_header_t *paths,
106251881Speter                       svn_mergeinfo_inheritance_t inherit,
107251881Speter                       svn_boolean_t include_descendants,
108251881Speter                       apr_pool_t *pool);
109251881Speter
110251881Speter/**
111251881Speter * Return a log string for a checkout action.
112251881Speter *
113251881Speter * @since New in 1.6.
114251881Speter */
115251881Speterconst char *
116251881Spetersvn_log__checkout(const char *path, svn_revnum_t rev, svn_depth_t depth,
117251881Speter                  apr_pool_t *pool);
118251881Speter
119251881Speter/**
120251881Speter * Return a log string for an update action.
121251881Speter *
122251881Speter * @since New in 1.6.
123251881Speter */
124251881Speterconst char *
125251881Spetersvn_log__update(const char *path, svn_revnum_t rev, svn_depth_t depth,
126251881Speter                svn_boolean_t send_copyfrom_args,
127251881Speter                apr_pool_t *pool);
128251881Speter
129251881Speter/**
130251881Speter * Return a log string for a switch action.
131251881Speter *
132251881Speter * @since New in 1.6.
133251881Speter */
134251881Speterconst char *
135251881Spetersvn_log__switch(const char *path, const char *dst_path, svn_revnum_t revnum,
136251881Speter                svn_depth_t depth, apr_pool_t *pool);
137251881Speter
138251881Speter/**
139251881Speter * Return a log string for a status action.
140251881Speter *
141251881Speter * @since New in 1.6.
142251881Speter */
143251881Speterconst char *
144251881Spetersvn_log__status(const char *path, svn_revnum_t rev, svn_depth_t depth,
145251881Speter                apr_pool_t *pool);
146251881Speter
147251881Speter/**
148251881Speter * Return a log string for a diff action.
149251881Speter *
150251881Speter * @since New in 1.6.
151251881Speter */
152251881Speterconst char *
153251881Spetersvn_log__diff(const char *path, svn_revnum_t from_revnum,
154251881Speter              const char *dst_path, svn_revnum_t revnum,
155251881Speter              svn_depth_t depth, svn_boolean_t ignore_ancestry,
156251881Speter              apr_pool_t *pool);
157251881Speter
158251881Speter/**
159251881Speter * Return a log string for a log action.
160251881Speter *
161251881Speter * @since New in 1.6.
162251881Speter */
163251881Speterconst char *
164251881Spetersvn_log__log(const apr_array_header_t *paths,
165251881Speter             svn_revnum_t start, svn_revnum_t end,
166251881Speter             int limit, svn_boolean_t discover_changed_paths,
167251881Speter             svn_boolean_t strict_node_history,
168251881Speter             svn_boolean_t include_merged_revisions,
169251881Speter             const apr_array_header_t *revprops, apr_pool_t *pool);
170251881Speter
171251881Speter/**
172251881Speter * Return a log string for a get-locations action.
173251881Speter *
174251881Speter * @since New in 1.6.
175251881Speter */
176251881Speterconst char *
177251881Spetersvn_log__get_locations(const char *path, svn_revnum_t peg_revision,
178251881Speter                       const apr_array_header_t *location_revisions,
179251881Speter                       apr_pool_t *pool);
180251881Speter
181251881Speter/**
182251881Speter * Return a log string for a get-location-segments action.
183251881Speter *
184251881Speter * @since New in 1.6.
185251881Speter */
186251881Speterconst char *
187251881Spetersvn_log__get_location_segments(const char *path, svn_revnum_t peg_revision,
188251881Speter                               svn_revnum_t start, svn_revnum_t end,
189251881Speter                               apr_pool_t *pool);
190251881Speter
191251881Speter/**
192251881Speter * Return a log string for a get-file-revs action.
193251881Speter *
194251881Speter * @since New in 1.6.
195251881Speter */
196251881Speterconst char *
197251881Spetersvn_log__get_file_revs(const char *path, svn_revnum_t start, svn_revnum_t end,
198251881Speter                       svn_boolean_t include_merged_revisions,
199251881Speter                       apr_pool_t *pool);
200251881Speter
201251881Speter/**
202251881Speter * Return a log string for a lock action.
203251881Speter *
204251881Speter * @since New in 1.6.
205251881Speter */
206251881Speterconst char *
207251881Spetersvn_log__lock(const apr_array_header_t *paths, svn_boolean_t steal,
208251881Speter              apr_pool_t *pool);
209251881Speter
210251881Speter/**
211251881Speter * Return a log string for an unlock action.
212251881Speter *
213251881Speter * @since New in 1.6.
214251881Speter */
215251881Speterconst char *
216251881Spetersvn_log__unlock(const apr_array_header_t *paths, svn_boolean_t break_lock,
217251881Speter                apr_pool_t *pool);
218251881Speter
219251881Speter/**
220251881Speter * Return a log string for a lock action on only one path; this is
221251881Speter * just a convenience wrapper around svn_log__lock().
222251881Speter *
223251881Speter * @since New in 1.6.
224251881Speter */
225251881Speterconst char *
226251881Spetersvn_log__lock_one_path(const char *path, svn_boolean_t steal,
227251881Speter                       apr_pool_t *pool);
228251881Speter
229251881Speter/**
230251881Speter * Return a log string for an unlock action on only one path; this is
231251881Speter * just a convenience wrapper around svn_log__unlock().
232251881Speter *
233251881Speter * @since New in 1.6.
234251881Speter */
235251881Speterconst char *
236251881Spetersvn_log__unlock_one_path(const char *path, svn_boolean_t break_lock,
237251881Speter                         apr_pool_t *pool);
238251881Speter
239251881Speter/**
240251881Speter * Return a log string for a replay action.
241251881Speter *
242251881Speter * @since New in 1.6.
243251881Speter */
244251881Speterconst char *
245251881Spetersvn_log__replay(const char *path, svn_revnum_t rev, apr_pool_t *pool);
246251881Speter
247251881Speter/**
248251881Speter * Return a log string for a get-inherited-props action.
249251881Speter *
250251881Speter * @since New in 1.8.
251251881Speter */
252251881Speterconst char *
253251881Spetersvn_log__get_inherited_props(const char *path,
254251881Speter                             svn_revnum_t rev,
255251881Speter                             apr_pool_t *pool);
256251881Speter#ifdef __cplusplus
257251881Speter}
258251881Speter#endif /* __cplusplus */
259251881Speter
260251881Speter#endif /* SVN_LOG_H */
261