r857577 | lundblad | 2005-11-23 23:32:17 +0000 (Wed, 23 Nov 2005) * www/hacking.html (tarball-signing): New section to document how the release signing works. Review by: steveking <steveking@gmx.ch> mbk malcolm danderson kfogel maxb Bruce DeVisser <bmdmail@sympatico.ca>
r858561 | lundblad | 2006-02-16 22:23:05 +0000 (Thu, 16 Feb 2006) Fix issue #2121: add options to ignore whitespace (all whitespace and changes in sequences of whitespace) and to ignore EOL style to our internal diff library. Use this functionality in the client diff functions. This commit also supports ignoring whitespace and EOL style for the diff3 and diff4 implementations, which is not used yet. Coming commits will use this new stuff in blame and merge as well. I will also add tests for this new functionality after refactoring the C diff tests somewhat. Review by: julianfoad rooneg Bruce DeVisser <bmdmail@sympatico.ca> * subversion/include/svn_diff.h (svn_diff_file_ignore_space_t): New enum. (svn_diff_file_options_t): New struct. (svn_diff_file_options_create, svn_diff_file_options_parse): New functions. (svn_diff_file_diff_2, svn_diff_file_diff3_2, svn_diff_file_diff4_2): New version of the corresponding existing function, with an options argument. (svn_diff_file_diff, svn_diff_file_diff3, svn_diff_file_diff4): Deprecate. * subversion/include/svn_error_codes.h (SVN_ERR_DIFF_CATEGORY_START): New error category. (SVN_ERR_DIFF_DATASOURCE_MODIFIED): New error code. * subversion/libsvn_diff/diff_file.c (svn_diff__file_token_t): Add raw_length field. Add docstrings. (normalize_state_t): New enum. (svn_diff__file_baton_t): Add options and normalize_state fields. Add some docstrings. (normalize): New function. (svn_diff__file_datasource_get_next_token): Normalize the read token. Initialize raw_length of the token. (svn_diff__file_token_compare): Normalize chunks when read from disk. (SVN_DIFF__OPT_IGNORE_EOL_STYLE): New macro. (diff_options): New array of options. (svn_diff_file_options_create, svn_diff_file_options_parse): New functions. (svn_diff_file_diff_2, svn_diff_file_diff3_2, svn_diff_file_diff4_2): New versions of the old APIs. Take care of the options. (svn_diff_file_diff, svn_diff_file_diff3, svn_diff_file_diff4): Wrap the new functions. (svn_diff3__file_output_common): Output lines from the modified file instead of the original. * subversion/libsvn_client/diff.c (diff_content_changed): Use the new APIs to support the new options.