<commit_before>/**
 * svn_diff_private.h: libsvn_diff related functions
 *
 * ====================================================================
 *    Licensed to the Subversion Corporation (SVN Corp.) under one
 *    or more contributor license agreements.  See the NOTICE file
 *    distributed with this work for additional information
 *    regarding copyright ownership.  The SVN Corp. licenses this file
 *    to you under the Apache License, Version 2.0 (the
 *    "License"); you may not use this file except in compliance
 *    with the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing,
 *    software distributed under the License is distributed on an
 *    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 *    KIND, either express or implied.  See the License for the
 *    specific language governing permissions and limitations
 *    under the License.
 * ====================================================================
 */

#ifndef SVN_DIFF_PRIVATE_H
#define SVN_DIFF_PRIVATE_H

#include "svn_io.h"
#include "svn_string.h"
#include "svn_error.h"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* --- Diff parsing --- */

/* A single hunk inside a patch */
typedef struct svn_hunk_t {
  /* The hunk's unidiff text as it appeared in the patch file,
   * without range information. */
  svn_stream_t *diff_text;

  /* The original and modified texts in the hunk range.
   * Derived from the diff text. The lines are read verbatim
   * from the patch file, so the first character of each line
   * read from these streams is a space or a '-' in case of
   * the original text, or a space and a '+' in case of the
   * modified text. */
  svn_stream_t *original_text;
  svn_stream_t *modified_text;

  /* Hunk ranges as they appeared in the patch file.
   * All numbers are lines, not bytes. */
  svn_linenum_t original_start;
  svn_linenum_t original_length;
  svn_linenum_t modified_start;
  svn_linenum_t modified_length;
} svn_hunk_t;

/* Data type to manage parsing of patches. */
typedef struct svn_patch_t {
  /* Path to the patch file. */
  const char *path;
<commit_msg>* subversion/include/private/svn_diff_private.h   (svn_hunk_t): Update an outdated comment describing the ORIGINAL_TEXT    and MODIFIED_TEXT members. Provide an example illustrating what they    represent.<commit_after>/**
 * svn_diff_private.h: libsvn_diff related functions
 *
 * ====================================================================
 *    Licensed to the Subversion Corporation (SVN Corp.) under one
 *    or more contributor license agreements.  See the NOTICE file
 *    distributed with this work for additional information
 *    regarding copyright ownership.  The SVN Corp. licenses this file
 *    to you under the Apache License, Version 2.0 (the
 *    "License"); you may not use this file except in compliance
 *    with the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing,
 *    software distributed under the License is distributed on an
 *    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 *    KIND, either express or implied.  See the License for the
 *    specific language governing permissions and limitations
 *    under the License.
 * ====================================================================
 */

#ifndef SVN_DIFF_PRIVATE_H
#define SVN_DIFF_PRIVATE_H

#include "svn_io.h"
#include "svn_string.h"
#include "svn_error.h"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* --- Diff parsing --- */

/* A single hunk inside a patch */
typedef struct svn_hunk_t {
  /* The hunk's unidiff text as it appeared in the patch file,
   * without range information. */
  svn_stream_t *diff_text;

  /* The original and modified texts in the hunk range.
   * Derived from the diff text.
   *
   * For example, consider a hunk such as:
   *   @@ -1,5 +1,5 @@
   *    #include <stdio.h>
   *    int main(int argc, char *argv[])
   *    {
   *   -        printf("Hello World!\n");
   *   +        printf("I like Subversion!\n");
   *    }
   *
   * Then, the "original" text described by the hunk is:
   *   #include <stdio.h>
   *   int main(int argc, char *argv[])
   *   {
   *           printf("Hello World!\n");
   *   }
   *
   * And the modified text described by the hunk is:
   *   #include <stdio.h>
   *   int main(int argc, char *argv[])
   *   {
   *           printf("I like Subversion!\n");
   *   }
   */
  svn_stream_t *original_text;
  svn_stream_t *modified_text;

  /* Hunk ranges as they appeared in the patch file.
   * All numbers are lines, not bytes. */
  svn_linenum_t original_start;
  svn_linenum_t original_length;
  svn_linenum_t modified_start;
  svn_linenum_t modified_length;
} svn_hunk_t;

/* Data type to manage parsing of patches. */
typedef struct svn_patch_t {
  /* Path to the patch file. */
  const char *path;

{'fraction_non_alphanumeric': 0.13645339652448657, 'fraction_numerical': 0.002369668246445498, 'mean_word_length': 3.2349498327759196, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5517692', 'n_tokens_mistral': 1536, 'n_tokens_neox': 1491, 'n_words': 561}