[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 16:24:11 -0500

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;

  /** 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.

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
Received on 2009-01-12 22:24:30 CET

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