~svn/ubuntu/oneiric/subversion/ppa

« back to all changes in this revision

Viewing changes to subversion/libsvn_wc/adm_files.h

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2006-12-13 17:57:16 UTC
  • mfrom: (1.1.6 upstream) (0.1.3 etch)
  • Revision ID: james.westby@ubuntu.com-20061213175716-2ysv6z4w5dpa2r2f
Tags: 1.4.2dfsg1-2ubuntu1
* Merge with Debian unstable; remaining changes:
  - Create pot file on build.

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 * Return path to the thing in the tmp area if TMP is non-zero.
37
37
 * Varargs are (const char *)'s, the final one must be NULL.
38
38
 */
39
 
const char * svn_wc__adm_path (const char *path,
40
 
                               svn_boolean_t tmp,
41
 
                               apr_pool_t *pool,
42
 
                               ...);
 
39
const char * svn_wc__adm_path(const char *path,
 
40
                              svn_boolean_t tmp,
 
41
                              apr_pool_t *pool,
 
42
                              ...);
43
43
 
44
44
 
45
45
/* Return TRUE if a thing in the administrative area exists, FALSE
46
46
   otherwise. */
47
 
svn_boolean_t svn_wc__adm_path_exists (const char *path,
48
 
                                       svn_boolean_t tmp,
49
 
                                       apr_pool_t *pool,
50
 
                                       ...);
 
47
svn_boolean_t svn_wc__adm_path_exists(const char *path,
 
48
                                      svn_boolean_t tmp,
 
49
                                      apr_pool_t *pool,
 
50
                                      ...);
51
51
 
52
52
 
53
53
/* Make `PATH/<adminstrative_subdir>/THING'. */
54
 
svn_error_t *svn_wc__make_adm_thing (svn_wc_adm_access_t *adm_access,
55
 
                                     const char *thing,
56
 
                                     svn_node_kind_t type,
57
 
                                     apr_fileperms_t perms,
58
 
                                     svn_boolean_t tmp,
59
 
                                     apr_pool_t *pool);
 
54
svn_error_t *svn_wc__make_adm_thing(svn_wc_adm_access_t *adm_access,
 
55
                                    const char *thing,
 
56
                                    svn_node_kind_t type,
 
57
                                    apr_fileperms_t perms,
 
58
                                    svn_boolean_t tmp,
 
59
                                    apr_pool_t *pool);
60
60
 
61
61
/* Atomically rename a temporary text-base file to its canonical
62
62
   location.  The tmp file should be closed already. */
63
63
svn_error_t *
64
 
svn_wc__sync_text_base (const char *path, apr_pool_t *pool);
 
64
svn_wc__sync_text_base(const char *path, apr_pool_t *pool);
65
65
 
66
66
 
67
67
/* Return a path to PATH's text-base file.
68
68
   If TMP is set, return a path to the tmp text-base file. */
69
 
const char *svn_wc__text_base_path (const char *path,
70
 
                                    svn_boolean_t tmp,
71
 
                                    apr_pool_t *pool);
 
69
const char *svn_wc__text_base_path(const char *path,
 
70
                                   svn_boolean_t tmp,
 
71
                                   apr_pool_t *pool);
 
72
 
 
73
 
 
74
/* Return a path to PATH's revert file.
 
75
   If TMP is set, return a path to the tmp revert file. */
 
76
const char *
 
77
svn_wc__text_revert_path(const char *path,
 
78
                         svn_boolean_t tmp,
 
79
                         apr_pool_t *pool);
72
80
 
73
81
 
74
82
/* Return a path to the 'wcprop' file for PATH, possibly in TMP area.
75
 
   ADM_ACCESS is an access baton set that contains PATH. */
76
 
svn_error_t *svn_wc__wcprop_path (const char **wcprop_path,
77
 
                                  const char *path,
78
 
                                  svn_wc_adm_access_t *adm_access,
79
 
                                  svn_boolean_t tmp,
80
 
                                  apr_pool_t *pool);
 
83
   Valid values for KIND are svn_node_dir and svn_node_file. */
 
84
svn_error_t *svn_wc__wcprop_path(const char **wcprop_path,
 
85
                                 const char *path,
 
86
                                 svn_node_kind_t kind,
 
87
                                 svn_boolean_t tmp,
 
88
                                 apr_pool_t *pool);
81
89
 
82
90
 
83
91
/* Set *PROP_PATH to PATH's working properties file.
84
92
   If TMP is set, return a path to the tmp working property file. 
85
93
   PATH can be a directory or file, and even have changed w.r.t. the
86
 
   working copy's adm knowledge. ADM_ACCESS is an access baton set
87
 
   that contains PATH. */
88
 
svn_error_t *svn_wc__prop_path (const char **prop_path,
89
 
                                const char *path,
90
 
                                svn_wc_adm_access_t *adm_access,
91
 
                                svn_boolean_t tmp,
92
 
                                apr_pool_t *pool);
 
94
   working copy's adm knowledge. Valid values for KIND are svn_node_dir
 
95
   and svn_node_file. */
 
96
svn_error_t *svn_wc__prop_path(const char **prop_path,
 
97
                               const char *path,
 
98
                               svn_node_kind_t kind,
 
99
                               svn_boolean_t tmp,
 
100
                               apr_pool_t *pool);
93
101
 
94
102
 
95
103
/* Set *PROP_PATH to PATH's `pristine' properties file.
96
104
   If TMP is set, return a path to the tmp working property file. 
97
105
   PATH can be a directory or file, and even have changed w.r.t. the
98
 
   working copy's adm knowledge. ADM_ACCESS is an access baton set
99
 
   that contains PATH. */
100
 
svn_error_t *svn_wc__prop_base_path (const char **prop_path,
101
 
                                     const char *path,
102
 
                                     svn_wc_adm_access_t *adm_access,
103
 
                                     svn_boolean_t tmp,
104
 
                                     apr_pool_t *pool);
105
 
 
 
106
   working copy's adm knowledge. Valid values for KIND are svn_node_dir
 
107
   and svn_node_file. */
 
108
svn_error_t *svn_wc__prop_base_path(const char **prop_path,
 
109
                                    const char *path,
 
110
                                    svn_node_kind_t kind,
 
111
                                    svn_boolean_t tmp,
 
112
                                    apr_pool_t *pool);
 
113
 
 
114
 
 
115
/* Set *PROP_PATH to PATH's revert properties file.
 
116
   If TMP is set, return a path to the tmp working property file. 
 
117
   PATH can be a directory or file, and even have changed w.r.t. the
 
118
   working copy's adm knowledge. Valid values for KIND are svn_node_dir
 
119
   and svn_node_file. */
 
120
svn_error_t *svn_wc__prop_revert_path(const char **prop_path,
 
121
                                      const char *path,
 
122
                                      svn_node_kind_t kind,
 
123
                                      svn_boolean_t tmp,
 
124
                                      apr_pool_t *pool);
106
125
 
107
126
 
108
127
/*** Opening all kinds of adm files ***/
125
144
 */
126
145
 
127
146
/* Open `PATH/<adminstrative_subdir>/FNAME'. */
128
 
svn_error_t *svn_wc__open_adm_file (apr_file_t **handle,
 
147
svn_error_t *svn_wc__open_adm_file(apr_file_t **handle,
 
148
                                   const char *path,
 
149
                                   const char *fname,
 
150
                                   apr_int32_t flags,
 
151
                                   apr_pool_t *pool);
 
152
 
 
153
 
 
154
/* Close `PATH/<adminstrative_subdir>/FNAME'. */
 
155
svn_error_t *svn_wc__close_adm_file(apr_file_t *fp,
129
156
                                    const char *path,
130
157
                                    const char *fname,
131
 
                                    apr_int32_t flags,
 
158
                                    int sync,
132
159
                                    apr_pool_t *pool);
133
160
 
134
 
 
135
 
/* Close `PATH/<adminstrative_subdir>/FNAME'. */
136
 
svn_error_t *svn_wc__close_adm_file (apr_file_t *fp,
137
 
                                     const char *path,
138
 
                                     const char *fname,
139
 
                                     int sync,
140
 
                                     apr_pool_t *pool);
141
 
 
142
161
/* Remove `PATH/<adminstrative_subdir>/THING'. */
143
 
svn_error_t *svn_wc__remove_adm_file (const char *path,
144
 
                                      apr_pool_t *pool,
145
 
                                      ...);
146
 
 
147
 
/* Return the path to the empty file in the adm area of PATH */
148
 
const char *svn_wc__empty_file_path (const char *path,
149
 
                                     apr_pool_t *pool);
150
 
 
151
 
 
152
 
/* Open *readonly* the empty file in the in adm area of PATH */
153
 
svn_error_t *svn_wc__open_empty_file (apr_file_t **handle,
154
 
                                      const char *path,
155
 
                                      apr_pool_t *pool);
156
 
 
157
 
/* Close the empty file in the adm area of PATH. FP was obtain from
158
 
 * svn_wc__open_empty_file().
159
 
 */
160
 
svn_error_t *svn_wc__close_empty_file (apr_file_t *fp,
161
 
                                       const char *path,
162
 
                                       apr_pool_t *pool);
163
 
 
 
162
svn_error_t *svn_wc__remove_adm_file(const char *path,
 
163
                                     apr_pool_t *pool,
 
164
                                     ...);
164
165
 
165
166
/* Open the text-base for FILE.
166
167
 * FILE can be any kind of path ending with a filename.
167
168
 * Behaves like svn_wc__open_adm_file(), which see.
168
169
 */
169
 
svn_error_t *svn_wc__open_text_base (apr_file_t **handle,
170
 
                                     const char *file,
171
 
                                     apr_int32_t flags,
172
 
                                     apr_pool_t *pool);
 
170
svn_error_t *svn_wc__open_text_base(apr_file_t **handle,
 
171
                                    const char *file,
 
172
                                    apr_int32_t flags,
 
173
                                    apr_pool_t *pool);
 
174
 
 
175
/* Open the revert-base for FILE.
 
176
 * FILE can be any kind of path ending with a filename.
 
177
 * Behaves like svn_wc__open_adm_file(), which see.
 
178
 */
 
179
svn_error_t *svn_wc__open_revert_base(apr_file_t **handle,
 
180
                                      const char *file,
 
181
                                      apr_int32_t flags,
 
182
                                      apr_pool_t *pool);
173
183
 
174
184
/* Close the text-base for FILE.
175
185
 * FP was obtained from svn_wc__open_text_base().
176
186
 * Behaves like svn_wc__close_adm_file(), which see.
177
187
 */
178
 
svn_error_t *svn_wc__close_text_base (apr_file_t *fp,
179
 
                                      const char *file,
180
 
                                      int sync,
181
 
                                      apr_pool_t *pool);
 
188
svn_error_t *svn_wc__close_text_base(apr_file_t *fp,
 
189
                                     const char *file,
 
190
                                     int sync,
 
191
                                     apr_pool_t *pool);
 
192
 
 
193
/* Close the revert-base for FILE.
 
194
 * FP was obtained from svn_wc__open_revert_base().
 
195
 * Behaves like svn_wc__close_adm_file(), which see.
 
196
 */
 
197
svn_error_t *svn_wc__close_revert_base(apr_file_t *fp,
 
198
                                       const char *file,
 
199
                                       int sync,
 
200
                                       apr_pool_t *pool);
182
201
 
183
202
/* Open the property file for PATH.
184
203
 * PATH can be any kind of path, either file or dir.
188
207
 *
189
208
 * (Don't set BASE and WCPROPS at the same time; this is meaningless.)
190
209
 */
191
 
svn_error_t *svn_wc__open_props (apr_file_t **handle,
192
 
                                 const char *path,
193
 
                                 apr_int32_t flags,
194
 
                                 svn_boolean_t base,
195
 
                                 svn_boolean_t wcprops,
196
 
                                 apr_pool_t *pool);
 
210
svn_error_t *svn_wc__open_props(apr_file_t **handle,
 
211
                                const char *path,
 
212
                                apr_int32_t flags,
 
213
                                svn_boolean_t base,
 
214
                                svn_boolean_t wcprops,
 
215
                                apr_pool_t *pool);
197
216
 
198
217
/* Close the property file for PATH.
199
218
 * FP was obtained from svn_wc__open_props().
203
222
 * Like svn_wc__close_adm_file(), SYNC indicates the file should be
204
223
 * atomically written.
205
224
 */
206
 
svn_error_t *svn_wc__close_props (apr_file_t *fp,
207
 
                                  const char *path,
208
 
                                  svn_boolean_t base,
209
 
                                  svn_boolean_t wcprops,
210
 
                                  int sync,
211
 
                                  apr_pool_t *pool);
 
225
svn_error_t *svn_wc__close_props(apr_file_t *fp,
 
226
                                 const char *path,
 
227
                                 svn_boolean_t base,
 
228
                                 svn_boolean_t wcprops,
 
229
                                 int sync,
 
230
                                 apr_pool_t *pool);
212
231
 
213
232
/* Atomically rename a temporary property file to its canonical
214
233
   location.  The tmp file should be closed already. 
215
234
 
216
235
   Again, BASE and WCPROPS flags should be identical to those used to
217
236
   open the file. */
218
 
svn_error_t *svn_wc__sync_props (const char *path, 
219
 
                                 svn_boolean_t base,
220
 
                                 svn_boolean_t wcprops,
221
 
                                 apr_pool_t *pool);
 
237
svn_error_t *svn_wc__sync_props(const char *path, 
 
238
                                svn_boolean_t base,
 
239
                                svn_boolean_t wcprops,
 
240
                                apr_pool_t *pool);
222
241
 
223
242
/* Blow away the admistrative directory associated with the access baton
224
243
   ADM_ACCESS. This closes ADM_ACCESS, but it is safe to close ADM_ACCESS
225
244
   again, after calling this function. */
226
 
svn_error_t *svn_wc__adm_destroy (svn_wc_adm_access_t *adm_access,
227
 
                                  apr_pool_t *pool);
 
245
svn_error_t *svn_wc__adm_destroy(svn_wc_adm_access_t *adm_access,
 
246
                                 apr_pool_t *pool);
228
247
 
229
248
 
230
249
/* Cleanup the temporary storage area of the administrative
231
250
   directory. */
232
 
svn_error_t *svn_wc__adm_cleanup_tmp_area (svn_wc_adm_access_t *adm_access,
233
 
                                           apr_pool_t *pool);
234
 
 
235
 
/* Carries out platform specific operations needed before a file is
236
 
 * replaced via a rename or copy.  Currently it only runs 
237
 
 * svn_io_set_file_read_write() on Windows. */
238
 
svn_error_t *svn_wc__prep_file_for_replacement (const char *path,
239
 
                                                svn_boolean_t ignore_enoent,
240
 
                                                apr_pool_t *pool);
 
251
svn_error_t *svn_wc__adm_cleanup_tmp_area(svn_wc_adm_access_t *adm_access,
 
252
                                          apr_pool_t *pool);
241
253
 
242
254
 
243
255
#ifdef __cplusplus