[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH v3] issue 1493 - use libsvndiff for diffing properties

From: Daniel Näslund <daniel_at_longitudo.com>
Date: Tue, 4 Aug 2009 19:55:25 +0200

> Hi Daniel,
>
> I've attached an updated patch this time which includes my suggested
> changes. Please check my version of the patch to see if you are happy
> with it.

I have no objections to your changes, Stefan.

> Every change I made is documented in the comments below.
>
> I've slightly tested the attached patch now and produces splendid
> diffs for multi-line property values. Thanks a lot! :)

You're welcome, but it's more the other way around. Thanks for taking
time enough to write at least two patches of this size on your own.
 
> In the future, please take more care about indentation. It takes
> a lot of time to fix it up, and the less time your patches take
> to process, the quicker they will get committed.

Sorry about all the indentations and other style fixes you had to do.
I'm a beginnner and as such enthusiastic but sometimes careless. I will
try hard to save time for my tutors in my work to come. Perhaps there is
some script to use for checking style in the code? I use the c.vim file
from the tools directory but unfortunately it has its flaws. can not
just do a ggvG= and everything is adjusted to meet the GNU standard.
 
> Before we commit this, as a final verification step, can you take the
> time to run 'make check' on the patch and clean up any fallout in the
> test suite? Or have you run the regression tests on this already?

There were 12 errors. Two required me to change the order of diff
targets. The --depth option for some reasson behaves differently now but
if you are correct that there is no standard order then we're fine.

The old diff format always added a newline at the end of each target.
The new format does not.

Two tests failed for svnlook. I set them to XFail and plan to implement
the new diff format in svnlook as soon as this patch is committed.

Now make check detects no failures.

> Thanks,
> Stefan

Due to bug in tigris my patch propable will have the first diff header
on the same line as the '=====':s. A manual edit should fix it.

[[[
Fix part of issue 1493: Property diffs/merge should use libsvn_diff.
For properties I have removed the diff headers and replaced the @@-characters
with ##.

*subversion/libsvn_diff/diff_memory.c
(output_unified_flush_hunk2): Added parameter for choosing delimiter, for
instance '##' instead of '@@'.

*subversion/libsvn_diff/diff_memory.c
(svn_diff_mem_string_output_unified2): Added parameter for choosing if the diff
should be formatted as a property diff, '##' as delimiters.

*subversion/include/svn_diff.h
(output_unified_flush_hunk2): Declaration
(svn_diff_mem_string_output_unified2): Declaration

*subversion/libsvn_client/diff.c
(maybe_append_eol): Appends an end of line character if missing.

*subversion/libsvn_client/diff.c
(display_prop_diffs): Use libsvn_diff for diffing properties.

*subversion/tests/cmdline/diff_tests.py
(diff_only_property_change): Use the new diff format.
(diff_prop_change_local_edit): Use the new diff format.
(diff_prop_on_named_dir): Use the new diff format.
(diff_property_changes_to_base): Use the new diff format.
(diff_prop_change_local_propmod): Use the new diff format.
(diff_repos_wc_add_with_props): Use the new diff format.
(diff_with_depth): Use the new diff format. Change order of targets.

*subversion/tests/cmdline/depth_tests.py
(diff_in_depthy_wc): Use the new diff format. Change order of targets.

*subversion/tests/cmdline/merge_tests.py
(merge_in_new_file_and_diff): Use the new diff format.

*subversion/tests/cmdline/special_tests.py
(diff_symlink_to_dir): Use the new diff format.

*subversion/tests/cmdline/svnlook_tests.py
(test_print_property_diffs): Set to XFAIL until prop diffs is
  implemented in svnlook.
(diff_ignore_eolstyle): Set to XFAIL until prop diffs is implemented in
  svnlook.
]]]

Received on 2009-08-04 19:55:51 CEST

This is an archived mail posted to the Subversion Dev mailing list.