[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: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Mon, 12 Jan 2009 16:36:57 -0600

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
Received on 2009-01-12 23:37:15 CET

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