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

Re: Tree conflicts status/info API and JavaHL

From: Mark Phippard <mphippard_at_collab.net>
Date: Mon, 12 Jan 2009 17:39:00 -0500

Thanks!

On Mon, Jan 12, 2009 at 5:36 PM, Hyrum K. Wright
<hyrum_wright_at_mail.utexas.edu> wrote:
> Mark Phippard wrote:
>> On Mon, Jan 12, 2009 at 4:18 PM, Hyrum K. Wright
>> <hyrum_wright_at_mail.utexas.edu> wrote:
>>> Mark Phippard wrote:
>>>> On Mon, Jan 12, 2009 at 2:48 PM, C. Michael Pilato <cmpilato_at_collab.net> wrote:
>>>>> Mark Phippard wrote:
>>>>>> We are starting to look at implementing tree conflicts stuff in Subclipse.
>>>>>>
>>>>>> Using command line, when you run status you get output like this:
>>>>>>
>>>>>> $ svn st
>>>>>> C MyProject/src/com/test/myproject/builder
>>>>>> > local edit, incoming delete upon update
>>>>>> M MyProject/src/com/test/myproject/builder/SampleBuilder.java
>>>>>>
>>>>>> The "explanation" shown above - "local edit, incoming delete upon
>>>>>> update" does not seem to be available to us in JavaHL. Neither via
>>>>>> the Status or Info2 objects. I also do not see how we could
>>>>>> programatically determine it from the other information. Is this just
>>>>>> a case where there is more data in the C API that needs to be exposed
>>>>>> via JavaHL or something else? How does the command line produce the
>>>>>> above text?
>>>>>>
>>>>> Check out svn_cl__get_human_readable_tree_conflict_description() and
>>>>> reason_str() in subversion/svn/tree-conflicts.c. Looks to me like
>>>>> svn_wc_status2_t carries an svn_wc_conflict_description_t with the enums
>>>>> necessary for revealing this information.
>>>> Thanks. We have this class which looks like it has all the right values:
>>>>
>>>> http://svn.collab.net/repos/svn/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java
>>>>
>>>> So I will look at adding a method to turn those values into a string
>>>> (assuming I come up with a place in the UI where I want to show this).
>>>>
>>>> One possible problem is that we do not have this available to us when
>>>> we call Status API:
>>>>
>>>> http://svn.collab.net/repos/svn/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java
>>>>
>>>> I notice that it is contained in svn_wc_status2_t (as is a
>>>> file_externals boolean) so maybe we just need that stuff punched
>>>> through and we will be all set.
>>> Mark,
>>> If you can more explicitly enumerate "that stuff", I'd be happy to spend a
>>> couple hours punch it through.
>>
>> Looking at svn_wc_status2_t, I'd say these two items ought to exist in
>> Status.java:
>>
>> /** Non-NULL if the entry is the victim of a tree conflict.
>> * @since New in 1.6
>> */
>> svn_wc_conflict_description_t *tree_conflict;
>
> r35194.
>
>> /** If the item is a file that was added to the working copy with an
>> svn:externals; if file_external is TRUE, then switched is always
>> FALSE. */
>> svn_boolean_t file_external;
>>
>> I am assuming that the first item corresponds to the
>> ConflictDescriptor.java class that already exists and is currently
>> only used by the Info2 class.
>
> r35197.
>
> Cheers,
> -Hyrum
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1020389
>

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
Received on 2009-01-12 23:39:23 CET

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