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

Re: svn commit: r39911 - trunk/subversion/libsvn_wc

From: Greg Stein <gstein_at_gmail.com>
Date: Fri, 9 Oct 2009 21:16:07 -0400

Oh, and for the curious:

In my new commit logic, I set the 'repos_id' and 'repos_relpath'
columns to null when appropriate. The old code pretty much always
fills those values in. So... with the different values stored, some
code tried to find the inherited values, but *that* logic was
incorrect.

IOW, I simply set up a scenario that revealed an otherwise hidden bug.
And since this stuff is (empirically/obviously) a bit tricky to get
right, we'll encapsulate it into a utility function.

Cheers,
-g

On Fri, Oct 9, 2009 at 21:13, Greg Stein <gstein_at_gmail.com> wrote:
> Heh. ENOTMYFAULT
>
> There is a buggy use of svn_wc__db_scan_addition() in the translation
> code. Basically, it tries to call that on not-added nodes. That's
> wrong.
>
> I'm going to write a little helper function to get repos information
> [properly], and just call that from the several places we need the
> info.
>
> Cheers,
> -g
>
> On Fri, Oct 9, 2009 at 18:00, Greg Stein <gstein_at_gmail.com> wrote:
>> Oops. Looks like a couple failures in the merge tests. I'll get to
>> this later tonite.
>>
>> On Fri, Oct 9, 2009 at 17:51, Greg Stein <gstein_at_gmail.com> wrote:
>>> Author: gstein
>>> Date: Fri Oct  9 14:51:23 2009
>>> New Revision: 39911
>>>
>>> Log:
>>> Turn on the adds/replaces. It all works now...
>>>
>>> * subversion/libsvn_wc/adm_ops.c:
>>>  (process_committed_leaf): enable NG commits on files for anything but
>>>    delete.
>>>
>>> * subversion/libsvn_wc/log.c:
>>>  (log_do_committed): enable NG commits for all files.
>>>
>>> Modified:
>>>   trunk/subversion/libsvn_wc/adm_ops.c
>>>   trunk/subversion/libsvn_wc/log.c
>>>
>>> Modified: trunk/subversion/libsvn_wc/adm_ops.c
>>> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_wc/adm_ops.c?pathrev=39911&r1=39910&r2=39911
>>> ==============================================================================
>>> --- trunk/subversion/libsvn_wc/adm_ops.c        Fri Oct  9 14:23:31 2009        (r39910)
>>> +++ trunk/subversion/libsvn_wc/adm_ops.c        Fri Oct  9 14:51:23 2009        (r39911)
>>> @@ -375,8 +375,8 @@ process_committed_leaf(int log_number,
>>>
>>>   if (entry->kind == svn_node_file)
>>>     {
>>> -      /* ### only for files, and only for replaces.  */
>>> -      using_ng = (entry->schedule == svn_wc_schedule_replace);
>>> +      /* ### only for files, and anything but deletes.  */
>>> +      using_ng = (entry->schedule != svn_wc_schedule_delete);
>>>
>>>       /* If the props or text revert file exists it needs to be deleted when
>>>        * the file is committed. */
>>>
>>> Modified: trunk/subversion/libsvn_wc/log.c
>>> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_wc/log.c?pathrev=39911&r1=39910&r2=39911
>>> ==============================================================================
>>> --- trunk/subversion/libsvn_wc/log.c    Fri Oct  9 14:23:31 2009        (r39910)
>>> +++ trunk/subversion/libsvn_wc/log.c    Fri Oct  9 14:51:23 2009        (r39911)
>>> @@ -1096,8 +1096,8 @@ log_do_committed(struct log_runner *logg
>>>       svn_boolean_t keep_changelist = FALSE;
>>>       svn_wc_entry_t tmp_entry;
>>>
>>> -      /* ### only for files, and only for replaces.  */
>>> -      using_ng = (entry->schedule == svn_wc_schedule_replace);
>>> +      /* ### only for files, and anything but delete (handled above).  */
>>> +      using_ng = TRUE;
>>>
>>>       if (using_ng)
>>>         SVN_ERR(svn_wc__db_global_commit(loggy->db, local_abspath,
>>>
>>> ------------------------------------------------------
>>> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=495&dsMessageId=2405693
>>>
>>
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2405739
Received on 2009-10-10 03:16:12 CEST

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