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 2009/10/01 13:30:55 UTC

Re: svn commit: r39733 - in trunk/subversion: include/private libsvn_client libsvn_wc tests/cmdline

On Thu, Oct 1, 2009 at 08:44, Bert Huijben <rh...@sharpsvn.net> wrote:
>...
> +++ trunk/subversion/libsvn_client/merge.c      Thu Oct  1 05:44:40 2009        (r39733)
> @@ -417,13 +417,14 @@ obstructed_or_missing(const char *path,
>   svn_error_t *err;
>   const svn_wc_entry_t *entry;
>   svn_node_kind_t kind_expected, kind_on_disk;
> +  svn_boolean_t obstructed;
>   const char *local_abspath;
>
>   err = svn_dirent_get_absolute(&local_abspath, path, pool);
>
>   if (!err)
>     err = svn_wc__maybe_get_entry(&entry, merge_b->ctx->wc_ctx, local_abspath,
> -                                  svn_node_unknown, TRUE, FALSE, pool, pool);
> +                                  svn_node_unknown, FALSE, FALSE, pool, pool);

Why did you change the SHOW_HIDDEN parameter here? That seems quite
unrelated to the obstructed/missing question.

>   if (err)
>     {
>       svn_error_clear(err);
> @@ -433,6 +434,19 @@ obstructed_or_missing(const char *path,
>   if (entry && entry->absent)
>     return svn_wc_notify_state_missing;
>
> +  /* svn_wc__maybe_get_entry ignores node kind errors, so check if we
> +     didn't get the parent stub */
> +  if (entry && entry->kind == svn_node_dir && *entry->name != '\0')
> +    return svn_wc_notify_state_missing; /* Only found parent entry */
> +
> +  err = svn_wc__temp_node_obstructed(&obstructed, merge_b->ctx->wc_ctx,
> +                                     local_abspath, pool);
> +
> +  if (err)
> +    svn_error_clear(err);
> +  else if (obstructed)
> +    return svn_wc_notify_state_obstructed;

I'm not sure why you need a whole new API here. Can't you just look at
the node on the disk?

The "Only found parent entry" solves two cases: the subdir is missing,
or the subdir is obstructed by a file.

So you only need to test for: file is missing or obstructed by a
directory. Which is a simple svn_io_check_path().

>...

Cheers,
-g

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

Re: svn commit: r39733 - in trunk/subversion: include/private libsvn_client libsvn_wc tests/cmdline

Posted by Paul Burba <pt...@gmail.com>.
On Tue, Oct 20, 2009 at 2:13 PM, Greg Stein <gs...@gmail.com> wrote:
> On Tue, Oct 20, 2009 at 13:04, Paul Burba <pt...@gmail.com> wrote:
>> On Thu, Oct 1, 2009 at 9:30 AM, Greg Stein <gs...@gmail.com> wrote:
>>> On Thu, Oct 1, 2009 at 08:44, Bert Huijben <rh...@sharpsvn.net> wrote:
>>>>...
>>>> +++ trunk/subversion/libsvn_client/merge.c      Thu Oct  1 05:44:40 2009        (r39733)
>>>> @@ -417,13 +417,14 @@ obstructed_or_missing(const char *path,
>>>>   svn_error_t *err;
>>>>   const svn_wc_entry_t *entry;
>>>>   svn_node_kind_t kind_expected, kind_on_disk;
>>>> +  svn_boolean_t obstructed;
>>>>   const char *local_abspath;
>>>>
>>>>   err = svn_dirent_get_absolute(&local_abspath, path, pool);
>>>>
>>>>   if (!err)
>>>>     err = svn_wc__maybe_get_entry(&entry, merge_b->ctx->wc_ctx, local_abspath,
>>>> -                                  svn_node_unknown, TRUE, FALSE, pool, pool);
>>>> +                                  svn_node_unknown, FALSE, FALSE, pool, pool);
>>>
>>> Why did you change the SHOW_HIDDEN parameter here? That seems quite
>>> unrelated to the obstructed/missing question.
>>
>> Hi Bert,
>>
>> Did you by chance answer Greg's question on IRC?  I'm wondering
>> because this change caused merge_authz_tests.py 1 'skipped paths get
>> overriding mergeinfo' to start failing.  In that test,
>> obstructed_or_missing() gets called on a path which the user doesn't
>> have authorization for and instead of skipping the path a tree
>> conflict is raised.  Is that the behavior we want?  Tree conflicts on
>> paths the user can't access?  Not sure that is correct, but first want
>> to find out if that was your intention!
>
> Nope. It was never addressed. If changing that value makes the test
> pass, then Just Do It

It does indeed make the test pass, and doesn't cause any new failures
in the rest of the suite.  Did it, r40139.

> (since Bert is pseudo-available for a while :-P)

Yeah, I hear is is busy training future committers.

> Thanks,
> -g
>

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

Re: svn commit: r39733 - in trunk/subversion: include/private libsvn_client libsvn_wc tests/cmdline

Posted by Greg Stein <gs...@gmail.com>.
On Tue, Oct 20, 2009 at 13:04, Paul Burba <pt...@gmail.com> wrote:
> On Thu, Oct 1, 2009 at 9:30 AM, Greg Stein <gs...@gmail.com> wrote:
>> On Thu, Oct 1, 2009 at 08:44, Bert Huijben <rh...@sharpsvn.net> wrote:
>>>...
>>> +++ trunk/subversion/libsvn_client/merge.c      Thu Oct  1 05:44:40 2009        (r39733)
>>> @@ -417,13 +417,14 @@ obstructed_or_missing(const char *path,
>>>   svn_error_t *err;
>>>   const svn_wc_entry_t *entry;
>>>   svn_node_kind_t kind_expected, kind_on_disk;
>>> +  svn_boolean_t obstructed;
>>>   const char *local_abspath;
>>>
>>>   err = svn_dirent_get_absolute(&local_abspath, path, pool);
>>>
>>>   if (!err)
>>>     err = svn_wc__maybe_get_entry(&entry, merge_b->ctx->wc_ctx, local_abspath,
>>> -                                  svn_node_unknown, TRUE, FALSE, pool, pool);
>>> +                                  svn_node_unknown, FALSE, FALSE, pool, pool);
>>
>> Why did you change the SHOW_HIDDEN parameter here? That seems quite
>> unrelated to the obstructed/missing question.
>
> Hi Bert,
>
> Did you by chance answer Greg's question on IRC?  I'm wondering
> because this change caused merge_authz_tests.py 1 'skipped paths get
> overriding mergeinfo' to start failing.  In that test,
> obstructed_or_missing() gets called on a path which the user doesn't
> have authorization for and instead of skipping the path a tree
> conflict is raised.  Is that the behavior we want?  Tree conflicts on
> paths the user can't access?  Not sure that is correct, but first want
> to find out if that was your intention!

Nope. It was never addressed. If changing that value makes the test
pass, then Just Do It (since Bert is pseudo-available for a while :-P
)

Thanks,
-g

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

Re: svn commit: r39733 - in trunk/subversion: include/private libsvn_client libsvn_wc tests/cmdline

Posted by Paul Burba <pt...@gmail.com>.
On Thu, Oct 1, 2009 at 9:30 AM, Greg Stein <gs...@gmail.com> wrote:
> On Thu, Oct 1, 2009 at 08:44, Bert Huijben <rh...@sharpsvn.net> wrote:
>>...
>> +++ trunk/subversion/libsvn_client/merge.c      Thu Oct  1 05:44:40 2009        (r39733)
>> @@ -417,13 +417,14 @@ obstructed_or_missing(const char *path,
>>   svn_error_t *err;
>>   const svn_wc_entry_t *entry;
>>   svn_node_kind_t kind_expected, kind_on_disk;
>> +  svn_boolean_t obstructed;
>>   const char *local_abspath;
>>
>>   err = svn_dirent_get_absolute(&local_abspath, path, pool);
>>
>>   if (!err)
>>     err = svn_wc__maybe_get_entry(&entry, merge_b->ctx->wc_ctx, local_abspath,
>> -                                  svn_node_unknown, TRUE, FALSE, pool, pool);
>> +                                  svn_node_unknown, FALSE, FALSE, pool, pool);
>
> Why did you change the SHOW_HIDDEN parameter here? That seems quite
> unrelated to the obstructed/missing question.

Hi Bert,

Did you by chance answer Greg's question on IRC?  I'm wondering
because this change caused merge_authz_tests.py 1 'skipped paths get
overriding mergeinfo' to start failing.  In that test,
obstructed_or_missing() gets called on a path which the user doesn't
have authorization for and instead of skipping the path a tree
conflict is raised.  Is that the behavior we want?  Tree conflicts on
paths the user can't access?  Not sure that is correct, but first want
to find out if that was your intention!

Paul

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