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

Re: svn commit: r966822 - in /subversion/trunk/subversion: libsvn_client/repos_diff.c tests/cmdline/merge_tests.py

From: Paul Burba <ptburba_at_gmail.com>
Date: Thu, 22 Jul 2010 17:56:11 -0400

On Thu, Jul 22, 2010 at 5:04 PM, Bert Huijben <bert_at_qqmail.nl> wrote:
>
>
>> -----Original Message-----
>> From: pburba_at_apache.org [mailto:pburba_at_apache.org]
>> Sent: donderdag 22 juli 2010 21:43
>> To: commits_at_subversion.apache.org
>> Subject: svn commit: r966822 - in /subversion/trunk/subversion:
>> libsvn_client/repos_diff.c tests/cmdline/merge_tests.py
>>
>> Author: pburba
>> Date: Thu Jul 22 19:43:08 2010
>> New Revision: 966822
>>
>> URL: http://svn.apache.org/viewvc?rev=966822&view=rev
>> Log:
>> Fix issue #3657 'phantom svn:eol-style changes cause spurious merge
>> text
>> conflicts'.
>>
>> * subversion/libsvn_client/repos_diff.c
>>
>>   (change_file_prop): Only stash true property differences in the file
>>    baton. The DAV RA providers may be sending us all the properties on
>> a
>>    file, not just the differences.
>
> Shouldn't this be fixed in the ra layer implementations then?

From what Mike told me in
http://subversion.tigris.org/issues/show_bug.cgi?id=3657#desc9 I
didn't think so. I assumed that some users of the svn_delta_editor_t
rely on this behavior, since we are quite purposeful about it...but
looking again at the docstring for change_file_prop, it seems clear
that if anybody is relying on this behavior, they are wrong:

  /** Change the value of a file's property.
   * - @a file_baton specifies the file whose property should change.
   * - @a name is the name of the property to change.
   * - @a value is the new (final) value of the property, or @c NULL if the
   * property should be removed altogether.
   *
   * The callback is guaranteed to be called exactly once for each property
   * whose value differs between the start and the end of the edit.
   *
   * All allocations should be performed in @a pool.
   */
  svn_error_t *(*change_file_prop)(void *file_baton,
                                   const char *name,
                                   const svn_string_t *value,
                                   apr_pool_t *pool);

I'll revisit this tomorrow.

Thanks,

Paul

> This would be just 'guessing' if it is a change or a complete set.
>
>        Bert
>
>
>
Received on 2010-07-22 23:56:48 CEST

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