Author: rinrab
Date: Sun Oct 27 19:29:58 2024
New Revision: 1921600

URL: http://svn.apache.org/viewvc?rev=1921600&view=rev
Log:
Move diff_driver_info_t structure definition from the diff.c file to a
private header svn_client_private.h, since it might be utilized by any
other diff writer, implemented in separate source file. Rename the struct
to include svn_client prefix in order to satisfy with naming conventions.

A comment describing the diff_driver_info_t structure states that
`used by the diff writer`, so should be accessible for the implementation.

This commit is a preparation to move a general diff writer (for unidiff)
to a separate file.

* subversion/include/private/svn_client_private.h
  (svn_client__diff_driver_info_t): Declare structure; moved from diff.c.
* subversion/libsvn_client/diff.c
  (diff_driver_info_t): Remove declaration; Moved to svn_client_private.h.
  (...everywhere): Adjust references to diff_driver_info_t to
   svn_client__diff_driver_info_t in order to deal with it renamed.

Modified:
    subversion/trunk/subversion/include/private/svn_client_private.h
    subversion/trunk/subversion/libsvn_client/diff.c

Modified: subversion/trunk/subversion/include/private/svn_client_private.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_client_private.h?rev=1921600&r1=1921599&r2=1921600&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_client_private.h (original)
+++ subversion/trunk/subversion/include/private/svn_client_private.h Sun Oct 27 
19:29:58 2024
@@ -160,6 +160,30 @@ const char *
 svn_client__pathrev_fspath(const svn_client__pathrev_t *pathrev,
                            apr_pool_t *result_pool);
 
+/* State provided by the diff drivers; used by the diff writer */
+typedef struct svn_client__diff_driver_info_t
+{
+  /* The anchor to prefix before wc paths */
+  const char *anchor;
+
+  /* Relative path of ra session from repos_root_url.
+
+     Used only in printing git diff headers. The repository-root-relative
+     path of ... ### what user-visible property of the diff? */
+  const char *session_relpath;
+
+  /* Used only in printing git diff headers. Used to find the
+     repository-root-relative path of a WC path. */
+  svn_wc_context_t *wc_ctx;
+
+  /* The original targets passed to the diff command.  We may need
+     these to construct distinctive diff labels when comparing the
+     same relative path in the same revision, under different anchors
+     (for example, when comparing a trunk against a branch). */
+  const char *orig_path_1;
+  const char *orig_path_2;
+} svn_client__diff_driver_info_t;
+
 /* Given PATH_OR_URL, which contains either a working copy path or an
    absolute URL, a peg revision PEG_REVISION, and a desired revision
    REVISION, create an RA connection to that object as it exists in

Modified: subversion/trunk/subversion/libsvn_client/diff.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/diff.c?rev=1921600&r1=1921599&r2=1921600&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/diff.c (original)
+++ subversion/trunk/subversion/libsvn_client/diff.c Sun Oct 27 19:29:58 2024
@@ -70,30 +70,6 @@
                           _("Path '%s' must be an immediate child of " \
                             "the directory '%s'"), path, relative_to_dir)
 
-/* State provided by the diff drivers; used by the diff writer */
-typedef struct diff_driver_info_t
-{
-  /* The anchor to prefix before wc paths */
-  const char *anchor;
-
-  /* Relative path of ra session from repos_root_url.
-
-     Used only in printing git diff headers. The repository-root-relative
-     path of ... ### what user-visible property of the diff? */
-  const char *session_relpath;
-
-  /* Used only in printing git diff headers. Used to find the
-     repository-root-relative path of a WC path. */
-  svn_wc_context_t *wc_ctx;
-
-  /* The original targets passed to the diff command.  We may need
-     these to construct distinctive diff labels when comparing the
-     same relative path in the same revision, under different anchors
-     (for example, when comparing a trunk against a branch). */
-  const char *orig_path_1;
-  const char *orig_path_2;
-} diff_driver_info_t;
-
 
 /* Calculate the repository relative path of DIFF_RELPATH, using
  * SESSION_RELPATH and WC_CTX, and return the result in *REPOS_RELPATH.
@@ -458,7 +434,7 @@ print_git_diff_header(svn_stream_t *os,
                       apr_hash_t *right_props,
                       const char *git_index_shas,
                       const char *header_encoding,
-                      const diff_driver_info_t *ddi,
+                      const svn_client__diff_driver_info_t *ddi,
                       apr_pool_t *scratch_pool)
 {
   const char *repos_relpath1;
@@ -613,7 +589,7 @@ display_prop_diffs(const apr_array_heade
                    svn_boolean_t show_diff_header,
                    svn_boolean_t use_git_diff_format,
                    svn_boolean_t pretty_print_mergeinfo,
-                   const diff_driver_info_t *ddi,
+                   const svn_client__diff_driver_info_t *ddi,
                    svn_cancel_func_t cancel_func,
                    void *cancel_baton,
                    apr_pool_t *scratch_pool)
@@ -748,7 +724,7 @@ typedef struct diff_writer_info_t
   svn_cancel_func_t cancel_func;
   void *cancel_baton;
 
-  struct diff_driver_info_t ddi;
+  struct svn_client__diff_driver_info_t ddi;
 } diff_writer_info_t;
 
 /* An helper for diff_dir_props_changed, diff_file_changed and diff_file_added
@@ -1917,7 +1893,7 @@ diff_wc_wc(const char *path1,
 
    All other options are the same as those passed to svn_client_diff7(). */
 static svn_error_t *
-diff_repos_repos(struct diff_driver_info_t *ddi,
+diff_repos_repos(struct svn_client__diff_driver_info_t *ddi,
                  const char *path_or_url1,
                  const char *path_or_url2,
                  const svn_opt_revision_t *revision1,
@@ -2095,7 +2071,7 @@ diff_repos_repos(struct diff_driver_info
 
    All other options are the same as those passed to svn_client_diff7(). */
 static svn_error_t *
-diff_repos_wc(struct diff_driver_info_t *ddi,
+diff_repos_wc(struct svn_client__diff_driver_info_t *ddi,
               const char *path_or_url1,
               const svn_opt_revision_t *revision1,
               const svn_opt_revision_t *peg_revision1,
@@ -2436,7 +2412,7 @@ diff_shelves(const apr_array_header_t *c
 
 /* This is basically just the guts of svn_client_diff[_summarize][_peg]6(). */
 static svn_error_t *
-do_diff(diff_driver_info_t *ddi,
+do_diff(svn_client__diff_driver_info_t *ddi,
         const char *path_or_url1,
         const char *path_or_url2,
         const svn_opt_revision_t *revision1,
@@ -2638,7 +2614,7 @@ create_diff_writer_info(diff_writer_info
  */
 static svn_error_t *
 get_diff_processor(svn_diff_tree_processor_t **diff_processor,
-                   struct diff_driver_info_t **ddi,
+                   struct svn_client__diff_driver_info_t **ddi,
                    const apr_array_header_t *options,
                    const char *relative_to_dir,
                    svn_boolean_t no_diff_added,
@@ -2720,7 +2696,7 @@ svn_client__get_diff_writer_svn(
                 svn_client_ctx_t *ctx,
                 apr_pool_t *pool)
 {
-  struct diff_driver_info_t *ddi;
+  struct svn_client__diff_driver_info_t *ddi;
 
   SVN_ERR(get_diff_processor(diff_processor, &ddi,
                              options,
@@ -2804,7 +2780,7 @@ svn_client_diff7(const apr_array_header_
 {
   svn_opt_revision_t peg_revision;
   svn_diff_tree_processor_t *diff_processor;
-  struct diff_driver_info_t *ddi;
+  struct svn_client__diff_driver_info_t *ddi;
 
   if (ignore_properties && properties_only)
     return svn_error_create(SVN_ERR_INCORRECT_PARAMS, NULL,
@@ -2867,7 +2843,7 @@ svn_client_diff_peg7(const apr_array_hea
                      apr_pool_t *pool)
 {
   svn_diff_tree_processor_t *diff_processor;
-  struct diff_driver_info_t *ddi;
+  struct svn_client__diff_driver_info_t *ddi;
 
   if (ignore_properties && properties_only)
     return svn_error_create(SVN_ERR_INCORRECT_PARAMS, NULL,


Reply via email to