You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Greg Stein <gs...@gmail.com> on 2011/03/24 18:33:45 UTC

Re: svn commit: r1084971 - /subversion/trunk/subversion/libsvn_wc/update_editor.c

On Thu, Mar 24, 2011 at 10:39,  <rh...@apache.org> wrote:
>...
> +++ subversion/trunk/subversion/libsvn_wc/update_editor.c Thu Mar 24 14:39:55 2011
>...
> @@ -3615,10 +3609,10 @@ merge_file(svn_skel_t **work_items,
>   *install_pristine = FALSE;
>   *install_from = NULL;
>
> -  if (new_text_base_sha1_checksum != NULL)
> +  if (fb->new_text_base_sha1_checksum != NULL)
>     SVN_ERR(svn_wc__db_pristine_get_path(&new_text_base_tmp_abspath,
> -                                         eb->db, fb->local_abspath,
> -                                         new_text_base_sha1_checksum,
> +                                         eb->db, pb->local_abspath,
> +                                         fb->new_text_base_sha1_checksum,
>                                          pool, scratch_pool));

Euh... I don't think you meant to replace fb->local_abspath with pb->
... did you? That sounds quite incorrect. IIRC, that would be asking
for the pristine path of the containing directory.

And assuming that... why did this not create test failures?

>...

Cheers,
-g

RE: svn commit: r1084971 - /subversion/trunk/subversion/libsvn_wc/update_editor.c

Posted by Bert Huijben <be...@qqmail.nl>.

> -----Original Message-----
> From: Greg Stein [mailto:gstein@gmail.com]
> Sent: donderdag 24 maart 2011 18:37
> To: dev@subversion.apache.org
> Subject: Re: svn commit: r1084971 -
> /subversion/trunk/subversion/libsvn_wc/update_editor.c
> 
> On Thu, Mar 24, 2011 at 13:33, Greg Stein <gs...@gmail.com> wrote:
> > On Thu, Mar 24, 2011 at 10:39,  <rh...@apache.org> wrote:
> >>...
> >> +++ subversion/trunk/subversion/libsvn_wc/update_editor.c Thu Mar 24
> 14:39:55 2011
> >>...
> >> @@ -3615,10 +3609,10 @@ merge_file(svn_skel_t **work_items,
> >>   *install_pristine = FALSE;
> >>   *install_from = NULL;
> >>
> >> -  if (new_text_base_sha1_checksum != NULL)
> >> +  if (fb->new_text_base_sha1_checksum != NULL)
> >>     SVN_ERR(svn_wc__db_pristine_get_path(&new_text_base_tmp_abs
> path,
> >> -                                         eb->db, fb->local_abspath,
> >> -                                         new_text_base_sha1_checksum,
> >> +                                         eb->db, pb->local_abspath,
> >> +                                        
fb->new_text_base_sha1_checksum,
> >>                                          pool, scratch_pool));
> >
> > Euh... I don't think you meant to replace fb->local_abspath with pb->
> > ... did you? That sounds quite incorrect. IIRC, that would be asking
> > for the pristine path of the containing directory.
> 
> Ah... never mind. That is the WRI_ABSPATH. The checksum is the key input.

Yes, this was intended.

And the parent directory is in the wc_db hashtable, while the files aren't.
So this could avoid a disk stat in the current implementation, while it
should still be safe in the future.

	Bert


Re: svn commit: r1084971 - /subversion/trunk/subversion/libsvn_wc/update_editor.c

Posted by Greg Stein <gs...@gmail.com>.
On Thu, Mar 24, 2011 at 13:33, Greg Stein <gs...@gmail.com> wrote:
> On Thu, Mar 24, 2011 at 10:39,  <rh...@apache.org> wrote:
>>...
>> +++ subversion/trunk/subversion/libsvn_wc/update_editor.c Thu Mar 24 14:39:55 2011
>>...
>> @@ -3615,10 +3609,10 @@ merge_file(svn_skel_t **work_items,
>>   *install_pristine = FALSE;
>>   *install_from = NULL;
>>
>> -  if (new_text_base_sha1_checksum != NULL)
>> +  if (fb->new_text_base_sha1_checksum != NULL)
>>     SVN_ERR(svn_wc__db_pristine_get_path(&new_text_base_tmp_abspath,
>> -                                         eb->db, fb->local_abspath,
>> -                                         new_text_base_sha1_checksum,
>> +                                         eb->db, pb->local_abspath,
>> +                                         fb->new_text_base_sha1_checksum,
>>                                          pool, scratch_pool));
>
> Euh... I don't think you meant to replace fb->local_abspath with pb->
> ... did you? That sounds quite incorrect. IIRC, that would be asking
> for the pristine path of the containing directory.

Ah... never mind. That is the WRI_ABSPATH. The checksum is the key input.

Cheers,
-g