Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cvs Kommandos mit der Netbeans Bibliothek erstellen ( org.netbeans.lib.cvsclient )

0 views
Skip to first unread message

Frank Harter

unread,
Feb 17, 2003, 10:42:29 AM2/17/03
to
Hi Leute,

ich habe folgendes Problem:
Ich habe mir die freie Bibliothek zu Cvs von http://www.netbeans.org
heruntergeladen und bin nach der Anleitung unter Docs --> Getting
started vorgegangen.
Alles hat soweit wunderbar geklappt, dann wollte ich an einem
Checkout-Event die Funktionalität prüfen und irgendwie bekomme ich ab
da gar nix mehr hin. Ich liste hier mal den Code den ich geschrieben
hat und vielleicht kann mir ja einer sgen, was ich falsch gemacht habe
oder was ich noch machen muss, um Ergebnisse zu bekommen. Was das
Checkout bisher gemacht hat war lediglich in meinem Testordner die
Verzeichnisstruktur aufzubauen und die CVS-Daten (Cvs-Root,
Entry-Datei usw.) in zugehörige Dateien schreiben. Aber warum werden
keine Dateien in diese Ordner kopiert? Wäre nett wenn ich zu einer
Erklärung vielleicht auch ein paar Zeilen Code bekommen könnte.

Danke, hier der Code:

------ Verbindung besteht bereits ---------
------ Global Options sind gesetzt (bisher nur mit local Path) -------

CheckoutCommand command = new CheckoutCommand();
command.setBuilder(null);
command.setRecursive(true);
command.setModule("Patchbuilder");
command.setPruneDirectories(true);

try {
cvsManager.getClient().executeCommand(command,
cvsManager.getGlobalOptions());
} catch (CommandAbortedException e) {
} catch (CommandException e) {
} catch (AuthenticationException e) {
}

Das wäre auch schon alles was ich dazu habe :(

Nico Seessle

unread,
Feb 17, 2003, 6:41:09 PM2/17/03
to
Frank Harter wrote:

> try {
> cvsManager.getClient().executeCommand(command,
> cvsManager.getGlobalOptions());
> } catch (CommandAbortedException e) {
> } catch (CommandException e) {
> } catch (AuthenticationException e) {
> }

Wenn ich solchen Code sehe, dann habe ich immer nicht mehr so recht Lust
mich weiter damit zu beschäftigen...

Mache doch bitte *irgendwas* mit den Exceptions. Im einfachsten Fall
einfach nur ein System.out.println("Fehler: " + e.getMessage()) um
sicherzustellen, das du *nicht* einfach sinnvolle Fehlermeldungen
verschluckst.

Nico

Frank Harter

unread,
Feb 18, 2003, 3:37:02 AM2/18/03
to
Nico Seessle <nsee...@expires-2003-02-28.arcornews.de> wrote in message news:<b2rrlo$1fvm9v$1...@ID-105150.news.dfncis.de>...

> Frank Harter wrote:
>
> > try {
> > cvsManager.getClient().executeCommand(command,
> > cvsManager.getGlobalOptions());
> > } catch (CommandAbortedException e) {
> > } catch (CommandException e) {
> > } catch (AuthenticationException e) {
> > }
>
> Wenn ich solchen Code sehe, dann habe ich immer nicht mehr so recht Lust
>
> mich weiter damit zu besch ftigen...

>
> Mache doch bitte *irgendwas* mit den Exceptions. Im einfachsten Fall
> einfach nur ein System.out.println("Fehler: " + e.getMessage()) um
> sicherzustellen, das du *nicht* einfach sinnvolle Fehlermeldungen
> verschluckst.
>
> Nico

Hi nochmal.

An den Exceptions soll es ja auch nicht scheitern, da steht dann schon
irgendwas drinne, z.b. n System.out.println aber darum geht es ja in
dem falle auch nicht, ich will ja nur in etwa wissen wie oder was man
im groben (auch gern genauer) machen muss, um z.b. diesen Checkout
Befehl hinzubekommen.

Wäre also immer noch froh um eine nette Hilfe...

Nico Seessle

unread,
Feb 18, 2003, 5:12:40 AM2/18/03
to
Frank Harter wrote:
>
> An den Exceptions soll es ja auch nicht scheitern, da steht dann schon
> irgendwas drinne, z.b. n System.out.println aber darum geht es ja in
> dem falle auch nicht, ich will ja nur in etwa wissen wie oder was man
> im groben (auch gern genauer) machen muss, um z.b. diesen Checkout
> Befehl hinzubekommen.

Das hast du leider in deinem Original-Posting nicht erwähnt. Und da es
durchaus öfters mal vorkommt das hier Fragen zu Problemen gestellt
werden die sich vermutlich von selbst erledigen würden, wenn jemand sich
auch seine Exceptions anschaut... Na gut.

Deinem Wunsch nach einer Erklärung kann ich nicht nachkommen, und der
folgende Code funktioniert auch irgendwie nicht ganz sauber (vielleicht
läuft deiner genau so, und du weisst es nur noch nicht? Beim ersten mal
bekomme ich eine Exception[1], beim zweiten Mal läuft der co).

Es ist nun auch keine lokale Verbindung mehr, sondern eine
pserver-Connection durch SSH getunnelt - was anderes habe ich aber nicht
Verfügbar.

PServerConnection con = new PServerConnection();
con.setHostName("localhost");
con.setRepository("/var/lib/cvs/testing");
con.setUserName("seessle");
con.setEncodedPassword(StandardScrambler.getInstance().scramble("sajsajksa"));

CheckoutCommand command = new CheckoutCommand();
command.setBuilder(null);
command.setRecursive(true);

command.setModule("irgendwas");
command.setPruneDirectories(true);

Client client = new Client(con, new StandardAdminHandler());
client.setLocalPath("C:\\temp\\cvslib");

GlobalOptions options = new GlobalOptions();
options.setCheckedOutFilesReadOnly(false);
options.setTraceExecution(true);

try {
client.executeCommand(command, options);
} catch (CommandAbortedException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} catch (CommandException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} catch (AuthenticationException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}

[1] Und zwar diese:

java.lang.NullPointerException
at java.io.Writer.write(Unknown Source)
at
org.netbeans.lib.cvsclient.admin.StandardAdminHandler.updateAdminData(StandardAdminHandler.java:58)
at org.netbeans.lib.cvsclient.Client.updateAdminData(Client.java:537)
at
org.netbeans.lib.cvsclient.response.ClearStickyResponse.process(ClearStickyResponse.java:39)

Frank Harter

unread,
Feb 18, 2003, 12:39:06 PM2/18/03
to
> Frank Harter wrote:
> >
> > An den Exceptions soll es ja auch nicht scheitern, da steht dann schon
> > irgendwas drinne, z.b. n System.out.println aber darum geht es ja in
> > dem falle auch nicht, ich will ja nur in etwa wissen wie oder was man
> > im groben (auch gern genauer) machen muss, um z.b. diesen Checkout
> > Befehl hinzubekommen.
>

> Das hast du leider in deinem Original-Posting nicht erw hnt.

Jo, das hatte ich nicht sry, war mein erster post, der nächste wird
bestimmt besser :)



> PServerConnection con = new PServerConnection();
> con.setHostName("localhost");
> con.setRepository("/var/lib/cvs/testing");
> con.setUserName("seessle");
> con.setEncodedPassword(StandardScrambler.getInstance().scramble("sajsajks
> a"));
>
> CheckoutCommand command = new CheckoutCommand();
> command.setBuilder(null);
> command.setRecursive(true);
> command.setModule("irgendwas");
> command.setPruneDirectories(true);
>
> Client client = new Client(con, new StandardAdminHandler());
> client.setLocalPath("C:\\temp\\cvslib");
>
> GlobalOptions options = new GlobalOptions();
> options.setCheckedOutFilesReadOnly(false);
> options.setTraceExecution(true);
>
> try {
> client.executeCommand(command, options);

> } catch .....

Genau so habe ich das auch gemacht, habe mich nun aber seit dem
Vergehen der Stunden auf eine andere Bibliothek konzentriert mit der
mir alles ein bisschen leichter fällt.
(http://javacvs.sourceforge.net/). Mit der habe ich den Checkout mit
ein paar wenigen Zeilen hinbekommen.

Das nächste ist, dass ich gerade mein Praktikum mache und nur noch
diese Woche Zeit habe das jetztige projekt abzuschliessen. Deshalb
werde ich jetzt auch nicht mehr weiter mit der Netbeans Bibliothek
herumexperimentieren, weil mir dazu nun einfach die Zeit fehlt
(leider).

Jedoch sollte das keinen davon abhalten weiter Posts zu machen zu
diesem Thread, da ich

1. wohl nach dem Praktikum mir die Library noch mal ansehen werde.

2. ich sehr wenig gefunden habe über eine gescheite Anwendung dieser
Bibliothek.

Aber ich weiss deine Mühe sehr zu schätzen "Nico" und bedanke mich für
deine Hilfe. Ob dein Programmcode funktioniert werde ich wie gesagt
demnächst überprüfen und falls sich ein Erfolg herausstellt werde ich
den Thread hier mit einer Lösung erweitern.

Grüsse und bis bald, Frank

0 new messages