Re: Problem with CheckoutCommand

Martin Entlicher <[email protected]> Thu, 12 Aug 2004 12:24:53 +0200
Newsgroups gmane.comp.java.netbeans.modules.javacvs.devel
Message-ID <[email protected]>
Benoit Maisonny wrote:

> Hi,
>
> The warning seems to be "normal": javacvs must mean "do as I say, not 
> as I do", because it itself re-uses an open connection during 
> execution of certain cvs sub-commands. I wish a javacvs developer 
> would comment on this, though (but seems like they haven't been around 
> for a while).


There is already an issue on this: 
http://www.netbeans.org/issues/show_bug.cgi?id=33920
It's just a warning, it does not break anything, but I know that it's 
annoying when it's printed even when there is no misuse.

> As for your NullPointerException, you need to give your CVSRoot to 
> GlobalOptions when you create it. There is not much doc, but this is 
> in there: http://javacvs.netbeans.org/library/GettingStarted.html
>
> GlobalOptions globalOptions = new GlobalOptions();
> globalOptions.setCVSRoot(getCVSRoot());  // or whatever way you have 
> to get it
> client.executeCommand(checkoutcommand, globalOptions);


This can be considered as a defect IMO. It should not end up with an 
exception, I would expect that it will use empty global options. Feel 
free to file a defect on javacvs.

Regards,
Martin

> Cheers,
> Benoit
>
>
>
>
> J Z wrote:
>
>> All,
>>
>> I'm getting this warning and this error message when
>> running the checkout command.
>>
>>
>> WARNING TO DEVELOPERS:
>> Please be warned that attempting to reuse one open
>> connection for more commands is not supported by cvs
>> servers very well.
>> You are advised to open a new Connection each time.
>> If you still want to proceed, please do:
>> System.setProperty("javacvs.multiple_commands_warning",
>> "false")
>> That will disable this message.
>>
>>
>> java.lang.NullPointerException
>>     at java.io.Writer.write(Unknown Source)
>>     at
>> org.netbeans.lib.cvsclient.admin.StandardAdminHandler.updateAdminData(StandardAdminHandler.java:59) 
>>
>>     at
>> org.netbeans.lib.cvsclient.Client.updateAdminData(Client.java:591)
>>     at
>> org.netbeans.lib.cvsclient.response.ClearStickyResponse.process(ClearStickyResponse.java:39) 
>>
>>     at
>> org.netbeans.lib.cvsclient.Client.handleResponse(Client.java:485)
>>     at
>> org.netbeans.lib.cvsclient.Client.processRequests(Client.java:439)
>>     at
>> org.netbeans.lib.cvsclient.command.checkout.CheckoutCommand.postExpansionExecute(CheckoutCommand.java:375)DONE 
>>
>>
>>     at
>> org.netbeans.lib.cvsclient.command.checkout.CheckoutCommand.execute(CheckoutCommand.java:283) 
>>
>>     at
>> org.netbeans.lib.cvsclient.Client.executeCommand(Client.java:533)
>>
>> <local client code>
>>
>>
>> My end goal is to check out a complete module into an
>> empty directory.
>>
>> Here is a rough look at what code it takes me to
>> duplicate it.
>>
>> CVSConnection is a PServerConnection with those
>> variables set at the constructor level, and
>> openconnection opens it and returns the Connection
>> class.
>>
>>         client = new Client(new
>> CVSConnection("cvsserver.name.com", "username",
>> "password", "/cvs").openConnection(), new
>> StandardAdminHandler());
>>
>>         client.setLocalPath("d:/cvstester");
>>        
>>         checkoutcommand = new CheckoutCommand(true, module);
>>         checkoutcommand.setResetStickyOnes(true);
>>         //checkoutcommand.setPipeToOutput(true);
>>        
>>         try
>>         {
>>             client.executeCommand(checkoutcommand, new
>> GlobalOptions());
>>         }
>>         catch (Exception e)
>>         {
>>             e.printStackTrace();
>>         }
>>
>>
>>
>> The catch will contain the exception, and it happens
>> when it gets done checking out the first directory
>> (and files contained in it).
>>
>> I can recursively call it over and over upon error and
>> it works fine (checks out all files correctly in the
>> end), but throws an exception each directory.  Once a
>> directory is checked out, it can handle it fine.
>>
>> If I uncomment the setPipeToOutput line, it can dump
>> all of the information for the whole module to a
>> BasicListener just fine, but it wont check any out (of
>> course).
>>
>> I'm not able to find this listed anywhere so I believe
>> it is something simple I'm just not doing.
>>
>>
>>     
>>        
>> __________________________________
>> Do you Yahoo!?
>> New and Improved Yahoo! Mail - 100MB free storage!
>> http://promotions.yahoo.com/new_mail
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>  
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>