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

Re: [PATCH] JavaHL: Factor out common context to be shared between SVNClient and SVNRa classes

From: Hyrum K Wright <hyrum.wright_at_wandisco.com>
Date: Mon, 11 Jun 2012 12:56:33 +0200

On Thu, Jun 7, 2012 at 5:09 AM, Vladimir Berezniker <vmpn_at_hitechman.com> wrote:
> Greetings,
>
> This patch signifies a point post which I can merge the existing logic on
> the
> javahl-ra branch with starting parts of my proposed enhancements. So I hope
> people still have some patience left to review them.
>
> This patch moves parts of client context that are shared with ra context
> into
> common classes.  As I cannot get svn to generate patches that deal with
> copies
> of existing file, before applying below the following svn copy command have
> to
> be issued:
>
> svn cp
> subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
> subversion/bindings/javahl/src/org/apache/subversion/javahl/CommonContext.java
> svn cp subversion/bindings/javahl/native/ClientContext.h
> subversion/bindings/javahl/native/CommonContext.h
> svn cp subversion/bindings/javahl/native/ClientContext.cpp
> subversion/bindings/javahl/native/CommonContext.cpp
>
>
> Also please note that java part of this patch is already applied in r1343452
> & r1347345
> on javahl-ra branch, due to my earlier mistake.

If this work is specific to the things happening on the branch, I
think you're fine committing it directly there.

One question, though. The ClientContext object directly mirrors the
svn_client_context_t struct in the C layer (the analogs are probably
obvious). To my knowledge, we don't have a similar struct for the C
ra layer. I'm just a little confused why we need to break this clear
correlation with the C layer in Java, when we don't need to in C.
I'll need to think on this a bit...

-Hyrum

>
> Thank you for your help,
>
> Vladimir
>
> [[[
> JavaHL: Factor out common context to be shared between SVNClient and SVNRa
> classes
>
> [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]
>
> * CommonContext.java,
>   SVNClient.java
>   (ClientContext): Move to progress listener into CommonContext
>
> [ in subversion/bindings/javahl/native ]
>
> * CommonContext.cpp,
>   CommonContext.h,
>   ClientContext.cpp,
>   ClientContext.h
>   (username, password, getConfigDirectory, setConfigDirectory, setPrompt,
>    cancelOperation, progress): Move from ClientContext to CommonContext
>
> * CommonContext.cpp,
>   CommonContext.h
>   (attachJavaObject): New function to hold common logic of attaching to the
>     java CommonContext class used for callbacks
>   (getConfigData, getAuthBaton): Split getContext into separate
> configuration
>     data setup and authentication data setup to better reflect their
> different life cycles
>   (getClientName): New function providing client name to be used in
> callbacks
>
> * ClientContext.cpp,
>   ClientContext.h
>   (ClientContext, getContext): Use the factored out CommonContext member
>     variables and functions
> ]]]
>

-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com/
Received on 2012-06-11 12:57:07 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.