~ubuntu-branches/debian/sid/subversion/sid

« back to all changes in this revision

Viewing changes to subversion/libsvn_wc/props.h

  • Committer: Package Import Robot
  • Author(s): James McCoy, Peter Samuelson, James McCoy
  • Date: 2014-01-12 19:48:33 UTC
  • mfrom: (0.2.10)
  • Revision ID: package-import@ubuntu.com-20140112194833-w3axfwksn296jn5x
Tags: 1.8.5-1
[ Peter Samuelson ]
* New upstream release.  (Closes: #725787) Rediff patches:
  - Remove apr-abi1 (applied upstream), rename apr-abi2 to apr-abi
  - Remove loosen-sqlite-version-check (shouldn't be needed)
  - Remove java-osgi-metadata (applied upstream)
  - svnmucc prompts for a changelog if none is provided. (Closes: #507430)
  - Remove fix-bdb-version-detection, upstream uses "apu-config --dbm-libs"
  - Remove ruby-test-wc (applied upstream)
  - Fix “svn diff -r N file” when file has svn:mime-type set.
    (Closes: #734163)
  - Support specifying an encoding for mod_dav_svn's environment in which
    hooks are run.  (Closes: #601544)
  - Fix ordering of “svnadmin dump” paths with certain APR versions.
    (Closes: #687291)
  - Provide a better error message when authentication fails with an
    svn+ssh:// URL.  (Closes: #273874)
  - Updated Polish translations.  (Closes: #690815)

[ James McCoy ]
* Remove all traces of libneon, replaced by libserf.
* patches/sqlite_3.8.x_workaround: Upstream fix for wc-queries-test test
  failurse.
* Run configure with --with-apache-libexecdir, which allows removing part of
  patches/rpath.
* Re-enable auth-test as upstream has fixed the problem of picking up
  libraries from the environment rather than the build tree.
  (Closes: #654172)
* Point LD_LIBRARY_PATH at the built auth libraries when running the svn
  command during the build.  (Closes: #678224)
* Add a NEWS entry describing how to configure mod_dav_svn to understand
  UTF-8.  (Closes: #566148)
* Remove ancient transitional package, libsvn-ruby.
* Enable compatibility with Sqlite3 versions back to Wheezy.
* Enable hardening flags.  (Closes: #734918)
* patches/build-fixes: Enable verbose build logs.
* Build against the default ruby version.  (Closes: #722393)

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
extern "C" {
38
38
#endif /* __cplusplus */
39
39
 
40
 
/* BASE_MERGE is a pre-1.7 concept on property merging. It allowed callers
41
 
   to alter the pristine properties *outside* of an editor drive. That is
42
 
   very dangerous: the pristines should always correspond to something from
43
 
   the repository, and that should only arrive through the update editor.
44
 
 
45
 
   For 1.7, we're removing this support. Some old code is being left around
46
 
   in case we decide to change this.
47
 
 
48
 
   For more information, see ^/notes/api-errata/wc006.txt
49
 
*/
50
 
#undef SVN__SUPPORT_BASE_MERGE
51
 
 
52
40
/* Internal function for diffing props. See svn_wc_get_prop_diffs2(). */
53
41
svn_error_t *
54
42
svn_wc__internal_propdiff(apr_array_header_t **propchanges,
68
56
                         apr_pool_t *result_pool,
69
57
                         apr_pool_t *scratch_pool);
70
58
 
 
59
/* Validate and canonicalize the PROPS like svn_wc_prop_set4() does;
 
60
 * see that function for details of the SKIP_SOME_CHECKS option.
 
61
 *
 
62
 * The properties are checked against the node at LOCAL_ABSPATH (which
 
63
 * need not be under version control) of kind KIND.  This text of this
 
64
 * node may be read (if it is a file) in order to validate the
 
65
 * svn:eol-style property.
 
66
 *
 
67
 * Only regular props are accepted; WC props and entry props raise an error
 
68
 * (unlike svn_wc_prop_set4() which accepts WC props).
 
69
 *
 
70
 * Set *PREPARED_PROPS to the resulting canonicalized properties,
 
71
 * allocating any new data in RESULT_POOL but making shallow copies of
 
72
 * keys and unchanged values from PROPS.
 
73
 */
 
74
svn_error_t *
 
75
svn_wc__canonicalize_props(apr_hash_t **prepared_props,
 
76
                           const char *local_abspath,
 
77
                           svn_node_kind_t node_kind,
 
78
                           const apr_hash_t *props,
 
79
                           svn_boolean_t skip_some_checks,
 
80
                           apr_pool_t *result_pool,
 
81
                           apr_pool_t *scratch_pool);
 
82
 
71
83
 
72
84
/* Given LOCAL_ABSPATH/DB and an array of PROPCHANGES based on
73
85
   SERVER_BASEPROPS, calculate what changes should be applied to the working
74
86
   copy.
75
87
 
76
 
   Return working queue operations in WORK_ITEMS and a new set of actual
77
 
   (NEW_ACTUAL_PROPS) and pristine properties (NEW_PRISTINE_PROPS).
78
 
 
79
88
   We return the new property collections to the caller, so the caller
80
89
   can combine the property update with other operations.
81
90
 
82
91
   If SERVER_BASEPROPS is NULL then use the pristine props as PROPCHANGES
83
92
   base.
84
93
 
85
 
   If BASE_MERGE is FALSE then only change working properties; if TRUE,
86
 
   change both the pristine and working properties. (Only the update editor
87
 
   should use BASE_MERGE is TRUE)
88
 
 
89
 
   If conflicts are found when merging, create a temporary .prej file,
90
 
   and provide working queue operations to write the conflict information
91
 
   into the .prej file later. Modify base properties unconditionally,
92
 
   if BASE_MERGE is TRUE, they do not generate conficts.
93
 
 
94
 
   TODO ### LEFT_VERSION and RIGHT_VERSION ...
95
 
 
96
 
   TODO ### DRY_RUN ...
97
 
 
98
 
   TODO ### CONFLICT_FUNC/CONFLICT_BATON ...
 
94
   Return the new set of actual properties in *NEW_ACTUAL_PROPS.
 
95
 
 
96
   Append any conflicts of the actual props to *CONFLICT_SKEL.  (First
 
97
   allocate *CONFLICT_SKEL from RESULT_POOL if it is initially NULL.
 
98
   CONFLICT_SKEL itself must not be NULL.)
99
99
 
100
100
   If STATE is non-null, set *STATE to the state of the local properties
101
 
   after the merge.  */
 
101
   after the merge, one of:
 
102
 
 
103
     svn_wc_notify_state_unchanged
 
104
     svn_wc_notify_state_changed
 
105
     svn_wc_notify_state_merged
 
106
     svn_wc_notify_state_conflicted
 
107
 */
102
108
svn_error_t *
103
 
svn_wc__merge_props(svn_skel_t **work_items,
 
109
svn_wc__merge_props(svn_skel_t **conflict_skel,
104
110
                    svn_wc_notify_state_t *state,
105
 
                    apr_hash_t **new_pristine_props,
106
111
                    apr_hash_t **new_actual_props,
107
112
                    svn_wc__db_t *db,
108
113
                    const char *local_abspath,
109
 
                    svn_wc__db_kind_t kind,
110
 
                    const svn_wc_conflict_version_t *left_version,
111
 
                    const svn_wc_conflict_version_t *right_version,
112
 
                    apr_hash_t *server_baseprops,
113
 
                    apr_hash_t *pristine_props,
114
 
                    apr_hash_t *actual_props,
 
114
                    /*const*/ apr_hash_t *server_baseprops,
 
115
                    /*const*/ apr_hash_t *pristine_props,
 
116
                    /*const*/ apr_hash_t *actual_props,
115
117
                    const apr_array_header_t *propchanges,
116
 
                    svn_boolean_t base_merge,
117
 
                    svn_boolean_t dry_run,
118
 
                    svn_wc_conflict_resolver_func2_t conflict_func,
119
 
                    void *conflict_baton,
120
 
                    svn_cancel_func_t cancel_func,
121
 
                    void *cancel_baton,
122
118
                    apr_pool_t *result_pool,
123
119
                    apr_pool_t *scratch_pool);
124
120
 
135
131
                       const char *local_abspath,
136
132
                       apr_pool_t *scratch_pool);
137
133
 
138
 
/* Internal version of svn_wc_get_pristine_props().  */
139
 
svn_error_t *
140
 
svn_wc__get_pristine_props(apr_hash_t **props,
141
 
                           svn_wc__db_t *db,
142
 
                           const char *local_abspath,
143
 
                           apr_pool_t *result_pool,
144
 
                           apr_pool_t *scratch_pool);
145
 
 
146
 
 
147
134
/* Internal version of svn_wc_prop_list2().  */
148
135
svn_error_t *
149
136
svn_wc__get_actual_props(apr_hash_t **props,
153
140
                         apr_pool_t *scratch_pool);
154
141
 
155
142
svn_error_t *
156
 
svn_wc__get_prejfile_abspath(const char **prejfile_abspath,
157
 
                             svn_wc__db_t *db,
158
 
                             const char *local_abspath,
159
 
                             apr_pool_t *result_pool,
160
 
                             apr_pool_t *scratch_pool);
161
 
 
162
 
svn_error_t *
163
143
svn_wc__create_prejfile(const char **tmp_prejfile_abspath,
164
144
                        svn_wc__db_t *db,
165
145
                        const char *local_abspath,
167
147
                        apr_pool_t *result_pool,
168
148
                        apr_pool_t *scratch_pool);
169
149
 
170
 
 
171
 
/* Just like svn_wc_merge_props3(), but WITH a BASE_MERGE parameter.  */
172
 
svn_error_t *
173
 
svn_wc__perform_props_merge(svn_wc_notify_state_t *state,
174
 
                            svn_wc__db_t *db,
175
 
                            const char *local_abspath,
176
 
                            const svn_wc_conflict_version_t *left_version,
177
 
                            const svn_wc_conflict_version_t *right_version,
178
 
                            apr_hash_t *baseprops,
179
 
                            const apr_array_header_t *propchanges,
180
 
                            svn_boolean_t base_merge,
181
 
                            svn_boolean_t dry_run,
182
 
                            svn_wc_conflict_resolver_func2_t conflict_func,
183
 
                            void *conflict_baton,
184
 
                            svn_cancel_func_t cancel_func,
185
 
                            void *cancel_baton,
186
 
                            apr_pool_t *scratch_pool);
187
 
 
188
150
#ifdef __cplusplus
189
151
}
190
152
#endif /* __cplusplus */