You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Näslund <da...@longitudo.com> on 2009/08/04 17:55:25 UTC

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

> 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.
]]]

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

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Daniel Näslund wrote on Tue, 4 Aug 2009 at 19:55 +0200:
> > 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.
>  

I've posted about my configuration before[1]; the relevant line is

    setlocal textwidth=79 tabstop=2 shiftwidth=2 expandtab cindent cinoptions=>2sn-s{s^-s:s

though I never tested it with gg=G; I'm only sure that it takes care of
formatting correctly the code as it's written.


(It's not perfect.. it probably wants +=t0(0, and maybe others)


[1] http://article.gmane.org/gmane.comp.version-control.subversion.devel/105238

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2380238