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

« back to all changes in this revision

Viewing changes to subversion/svn/cl.h

  • Committer: Package Import Robot
  • Author(s): James McCoy
  • Date: 2015-08-07 21:32:47 UTC
  • mfrom: (0.2.15) (4.1.7 experimental)
  • Revision ID: package-import@ubuntu.com-20150807213247-ozyewtmgsr6tkewl
Tags: 1.9.0-1
* Upload to unstable
* New upstream release.
  + Security fixes
    - CVE-2015-3184: Mixed anonymous/authenticated path-based authz with
      httpd 2.4
    - CVE-2015-3187: svn_repos_trace_node_locations() reveals paths hidden
      by authz
* Add >= 2.7 requirement for python-all-dev Build-Depends, needed to run
  tests.
* Remove Build-Conflicts against ruby-test-unit.  (Closes: #791844)
* Remove patches/apache_module_dependency in favor of expressing the
  dependencies in authz_svn.load/dav_svn.load.
* Build-Depend on apache2-dev (>= 2.4.16) to ensure ap_some_authn_required()
  is available when building mod_authz_svn and Depend on apache2-bin (>=
  2.4.16) for runtime support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
158
158
  /* Was --no-unlock specified? */
159
159
  svn_boolean_t no_unlock;
160
160
 
161
 
  const char *message;           /* log message */
 
161
  const char *message;           /* log message (not converted to UTF-8) */
162
162
  svn_boolean_t force;           /* be more forceful, as in "svn rm -f ..." */
163
163
  svn_boolean_t force_log;       /* force validity of a suspect log msg file */
164
164
  svn_boolean_t incremental;     /* yield output suitable for concatenation */
167
167
  svn_boolean_t version;         /* print version information */
168
168
  svn_boolean_t verbose;         /* be verbose */
169
169
  svn_boolean_t update;          /* contact the server for the full story */
170
 
  svn_boolean_t strict;          /* do strictly what was requested */
171
 
  svn_stringbuf_t *filedata;     /* contents of file used as option data */
172
 
  const char *encoding;          /* the locale/encoding of the data*/
 
170
  svn_stringbuf_t *filedata;     /* contents of file used as option data
 
171
                                    (not converted to UTF-8) */
 
172
  const char *encoding;          /* the locale/encoding of 'message' and of
 
173
                                    'filedata' (not converted to UTF-8) */
173
174
  svn_boolean_t help;            /* print usage message */
174
 
  const char *auth_username;     /* auth username */ /* UTF-8! */
175
 
  const char *auth_password;     /* auth password */ /* UTF-8! */
176
 
  const char *extensions;        /* subprocess extension args */ /* UTF-8! */
177
 
  apr_array_header_t *targets;   /* target list from file */ /* UTF-8! */
 
175
  const char *auth_username;     /* auth username */
 
176
  const char *auth_password;     /* auth password */
 
177
  const char *extensions;        /* subprocess extension args */
 
178
  apr_array_header_t *targets;   /* target list from file */
178
179
  svn_boolean_t xml;             /* output in xml, e.g., "svn log --xml" */
179
180
  svn_boolean_t no_ignore;       /* disregard default ignores & svn:ignore's */
180
181
  svn_boolean_t no_auth_cache;   /* do not cache authentication information */
181
182
  struct
182
183
    {
183
 
  const char *diff_cmd;              /* the external diff command to use */
 
184
  const char *diff_cmd;              /* the external diff command to use
 
185
                                        (not converted to UTF-8) */
184
186
  svn_boolean_t internal_diff;       /* override diff_cmd in config file */
185
187
  svn_boolean_t no_diff_added;       /* do not show diffs for deleted files */
186
188
  svn_boolean_t no_diff_deleted;     /* do not show diffs for deleted files */
197
199
  svn_boolean_t stop_on_copy;    /* don't cross copies during processing */
198
200
  svn_boolean_t dry_run;         /* try operation but make no changes */
199
201
  svn_boolean_t revprop;         /* operate on a revision property */
200
 
  const char *merge_cmd;         /* the external merge command to use */
201
 
  const char *editor_cmd;        /* the external editor command to use */
 
202
  const char *merge_cmd;         /* the external merge command to use
 
203
                                    (not converted to UTF-8) */
 
204
  const char *editor_cmd;        /* the external editor command to use
 
205
                                    (not converted to UTF-8) */
202
206
  svn_boolean_t record_only;     /* whether to record mergeinfo */
203
207
  const char *old_target;        /* diff target */
204
208
  const char *new_target;        /* diff target */
210
214
  const char *native_eol;        /* override system standard eol marker */
211
215
  svn_boolean_t remove;          /* deassociate a changelist */
212
216
  apr_array_header_t *changelists; /* changelist filters */
213
 
  const char *changelist;        /* operate on this changelist
214
 
                                    THIS IS TEMPORARY (LAST OF CHANGELISTS) */
215
217
  svn_boolean_t keep_changelists;/* don't remove changelists after commit */
216
218
  svn_boolean_t keep_local;      /* delete path only from repository */
217
219
  svn_boolean_t all_revprops;    /* retrieve all revprops */
218
220
  svn_boolean_t no_revprops;     /* retrieve no revprops */
219
 
  apr_hash_t *revprop_table;     /* table of revision properties to get/set */
 
221
  apr_hash_t *revprop_table;     /* table of revision properties to get/set
 
222
                                    (not converted to UTF-8) */
220
223
  svn_boolean_t parents;         /* create intermediate directories */
221
224
  svn_boolean_t use_merge_history; /* use/display extra merge information */
222
225
  svn_cl__accept_t accept_which;   /* how to handle conflicts */
223
226
  svn_cl__show_revs_t show_revs;   /* mergeinfo flavor */
224
227
  svn_depth_t set_depth;           /* new sticky ambient depth value */
225
228
  svn_boolean_t reintegrate;      /* use "reintegrate" merge-source heuristic */
226
 
  svn_boolean_t trust_server_cert; /* trust server SSL certs that would
227
 
                                      otherwise be rejected as "untrusted" */
 
229
  /* trust server SSL certs that would otherwise be rejected as "untrusted" */
 
230
  svn_boolean_t trust_server_cert_unknown_ca;
 
231
  svn_boolean_t trust_server_cert_cn_mismatch;
 
232
  svn_boolean_t trust_server_cert_expired;
 
233
  svn_boolean_t trust_server_cert_not_yet_valid;
 
234
  svn_boolean_t trust_server_cert_other_failure;
228
235
  int strip; /* number of leading path components to strip */
229
236
  svn_boolean_t ignore_keywords;   /* do not expand keywords */
230
237
  svn_boolean_t reverse_diff;      /* reverse a diff (e.g. when patching) */
235
242
  svn_boolean_t include_externals; /* Recurses (in)to file & dir externals */
236
243
  svn_boolean_t show_inherited_props;  /* get inherited properties */
237
244
  apr_array_header_t* search_patterns; /* pattern arguments for --search */
 
245
  svn_boolean_t mergeinfo_log;     /* show log message in mergeinfo command */
 
246
  svn_boolean_t remove_unversioned;/* remove unversioned items */
 
247
  svn_boolean_t remove_ignored;    /* remove ignored items */
 
248
  svn_boolean_t no_newline;        /* do not output the trailing newline */
 
249
  svn_boolean_t show_passwords;    /* show cached passwords */
 
250
  svn_boolean_t pin_externals;     /* pin externals to last-changed revisions */
 
251
  const char *show_item;           /* print only the given item */
238
252
} svn_cl__opt_state_t;
239
253
 
240
254
 
248
262
/* Declare all the command procedures */
249
263
svn_opt_subcommand_t
250
264
  svn_cl__add,
 
265
  svn_cl__auth,
251
266
  svn_cl__blame,
252
267
  svn_cl__cat,
253
268
  svn_cl__changelist,
310
325
 *
311
326
 * Typically, error codes like SVN_ERR_UNVERSIONED_RESOURCE,
312
327
 * SVN_ERR_ENTRY_NOT_FOUND, etc, are supplied in varargs.  Don't
313
 
 * forget to terminate the argument list with SVN_NO_ERROR.
 
328
 * forget to terminate the argument list with 0 (or APR_SUCCESS).
314
329
 */
315
330
svn_error_t *
316
331
svn_cl__try(svn_error_t *err,
347
362
                                const char *path_local,
348
363
                                svn_wc_conflict_kind_t conflict_kind);
349
364
 
 
365
/* Print the conflict stats accumulated in CONFLICT_STATS.
 
366
 *
 
367
 * Return any error encountered during printing.
 
368
 * See also svn_cl__notifier_print_conflict_stats().
 
369
 */
 
370
svn_error_t *
 
371
svn_cl__print_conflict_stats(svn_cl__conflict_stats_t *conflict_stats,
 
372
                             apr_pool_t *scratch_pool);
350
373
 
351
374
/* Create and return an baton for use with svn_cl__conflict_func_interactive
352
375
 * in *B, allocated from RESULT_POOL, and initialised with the values
514
537
/* Like svn_cl__merge_file_externally, but using a built-in merge tool
515
538
 * with help from an external editor specified by EDITOR_CMD. */
516
539
svn_error_t *
517
 
svn_cl__merge_file(const char *base_path,
 
540
svn_cl__merge_file(svn_boolean_t *remains_in_conflict,
 
541
                   const char *base_path,
518
542
                   const char *their_path,
519
543
                   const char *my_path,
520
544
                   const char *merged_path,
522
546
                   const char *path_prefix,
523
547
                   const char *editor_cmd,
524
548
                   apr_hash_t *config,
525
 
                   svn_boolean_t *remains_in_conflict,
 
549
                   svn_cancel_func_t cancel_func,
 
550
                   void *cancel_baton,
526
551
                   apr_pool_t *scratch_pool);
527
552
 
528
553
 
571
596
                                              apr_pool_t *pool);
572
597
 
573
598
/* Print the conflict stats accumulated in BATON, which is the
574
 
 * notifier baton from svn_cl__get_notifier().
 
599
 * notifier baton from svn_cl__get_notifier().  This is just like
 
600
 * calling svn_cl__print_conflict_stats().
 
601
 *
575
602
 * Return any error encountered during printing.
576
603
 */
577
604
svn_error_t *
828
855
                                     svn_client_ctx_t *ctx,
829
856
                                     apr_pool_t *pool);
830
857
 
 
858
 
 
859
/* Forward declaration of the similarity check context. */
 
860
typedef struct svn_cl__simcheck_context_t svn_cl__simcheck_context_t;
 
861
 
 
862
/* Token definition for the similarity check. */
 
863
typedef struct svn_cl__simcheck_t
 
864
{
 
865
  /* The token we're checking for similarity. */
 
866
  svn_string_t token;
 
867
 
 
868
  /* User data associated with this token. */
 
869
  const void *data;
 
870
 
 
871
  /*
 
872
   * The following fields are populated by svn_cl__similarity_check.
 
873
   */
 
874
 
 
875
  /* Similarity score [0..SVN_STRING__SIM_RANGE_MAX] */
 
876
  apr_size_t score;
 
877
 
 
878
  /* Number of characters of difference from the key. */
 
879
  apr_size_t diff;
 
880
 
 
881
  /* Similarity check context (private) */
 
882
  svn_cl__simcheck_context_t *context;
 
883
} svn_cl__simcheck_t;
 
884
 
 
885
/* Find the entries in TOKENS that are most similar to KEY.
 
886
 * TOKEN_COUNT is the number of entries in the (mutable) TOKENS array.
 
887
 * Use SCRATCH_POOL for temporary allocations.
 
888
 *
 
889
 * On return, the TOKENS array will be sorted according to similarity
 
890
 * to KEY, in descending order. The return value will be zero if the
 
891
 * first token is an exact match; otherwise, it will be one more than
 
892
 * the number of tokens that are at least two-thirds similar to KEY.
 
893
 */
 
894
apr_size_t
 
895
svn_cl__similarity_check(const char *key,
 
896
                         svn_cl__simcheck_t **tokens,
 
897
                         apr_size_t token_count,
 
898
                         apr_pool_t *scratch_pool);
 
899
 
831
900
#ifdef __cplusplus
832
901
}
833
902
#endif /* __cplusplus */