Lo que me gusta, me interesa y me motiva…
RSS icon Home icon
  • Cliente CVS desde tu código Java

    Te explico como crear un cliente CVS desde tu código Java:
    Si necesitas conectarte a un CVS directamente desde tu código Java, puedes utilizar la librería Java CVS Client

    Te lo dejo este ejemplo para que observes cómo utilizar la librería.

     
    import java.io.PrintStream;
     
    import org.netbeans.lib.cvsclient.CVSRoot;
    import org.netbeans.lib.cvsclient.Client;
    import org.netbeans.lib.cvsclient.admin.StandardAdminHandler;
    import org.netbeans.lib.cvsclient.command.CommandAbortedException;
    import org.netbeans.lib.cvsclient.command.CommandException;
    import org.netbeans.lib.cvsclient.command.GlobalOptions;
    import org.netbeans.lib.cvsclient.command.checkout.CheckoutCommand;
    import org.netbeans.lib.cvsclient.connection.AuthenticationException;
    import org.netbeans.lib.cvsclient.connection.PServerConnection;
    import org.netbeans.lib.cvsclient.event.CVSAdapter;
    import org.netbeans.lib.cvsclient.event.MessageEvent;
     
    /**
      * @author peiretti
     */
    public class CVSCheckOut {
     
     
    	//http://javacvs.netbeans.org/library/
    	//http://javacvs.netbeans.org/library/GettingStarted.html
           //http://javacvs.netbeans.org/servlets/ProjectDocumentList
     
    	public static void main(String[] args) {
     
    		String user = "tuUserName";
    		String password = "tuPassword";
    		String host = "199.99.99.99";
    		String repository = "/var/cvs";
     
    		String module = "NombreDelModuloCvs";
    		String destinoPath = "c:/destinoCVS";
     
    		// comando cvs 
    		StringBuffer root = new StringBuffer();
    		root.append(":pserver");
    		root.append(":" + user);
    		if (password != null)
    			root.append(":" + password);
    		root.append("@" + host);
    		root.append(":" + repository);
     
    		//:pserver:gustavo:gustavo@199.99.99.99:/var/cvs
    		System.out.println(root.toString()); 
     
    		// comando checkout
    		CheckoutCommand command = new CheckoutCommand();
    		command.setModule(module);
     
    		// comando para update 
    		//UpdateCommand update = new UpdateCommand();
    		//
     
    		// conexion al server
    		PServerConnection conTest = new PServerConnection(CVSRoot.parse(root
    				.toString()));
     
    		// cvs client
    		Client client = new Client(conTest, new StandardAdminHandler());
    		client.setLocalPath(destinoPath);
    		client.getEventManager().addCVSListener(new CVSAdapter(){
    			public void messageSent(MessageEvent e) {
    				PrintStream stream = e.isError() ? System.err : System.out;
    				stream.println(e.getMessage()); // muestra los mensajes de ejecucion
    			}
    		});
     
    		// opciones globales (usuario, password, host, etc) 
    		GlobalOptions globalOptions = new GlobalOptions();
    		globalOptions.setCVSRoot(root.toString());
     
    		try {
    			client.executeCommand(command, globalOptions);
    		} catch (CommandAbortedException e) {
    			e.printStackTrace();
    		} catch (CommandException e) {
    			e.printStackTrace();
    		} catch (AuthenticationException e) {
    			e.printStackTrace();
    		}
     
    	}
     
    }