Arbeitet wer von euch mit CVS?
Markus Bauer
- projektverwaltung
Hallo!
Ich arbeite jetzt unter CVS, jedoch finde ich die cvs command line alles andere als benutzerfreundlich.
In Wirklichkeit muss x Befehle eingeben.
z.B. ein login, dann ein add dann vielleicht noch ein update und zum Schluss erst ein commit.
Gibt es ein Script/Tool, dass entfernte/hinzugefügte Dateien *automatisch* mit einem Befehl ins CVS übernimmt, ohne dass ich es explizit machen muss? Das ist mehr als lästig bei vielen Dateien.
Hallo Markus,
Ich arbeite jetzt unter CVS, jedoch finde ich die cvs command line alles andere als benutzerfreundlich.
Mit etwas Übung kommt man schon auch mit der Kommandozeilenoberfläche klar.
Es gibt aber auch jede Menge grafische Bedienoberflächen dafür.
Bei freshmeat.net findest Du etliche Werkzeuge: http://freshmeat.net/browse/53/
Mitlerweile bevorzuge ich allerdigs svn auch wenn die Werkzeugunterstüzung dafür noch nicht so gut ist.
Grüße
Daniel
Hi,
Mit etwas Übung kommt man schon auch mit der Kommandozeilenoberfläche klar.
Das ist mir schon klar. Aber wenn ich z.B. per FTP auf meinem Testbereich bin und dort herumwerkle, wäre es mir recht, wenn ich zum commit nicht per putty in das Verzeichnis gehn muss und deppert jede einzelne Datei, die ich vielleicht ginzugefügt habe aufnumerieren muss, sondern eben *ein einziger* Befehl reichen würde. Den könnte ich dann (z.B. mit htaccess) gesichert, als php-Script ausführen und könnte vom Client direkt ohne Shell arbeiten.
Es gibt aber auch jede Menge grafische Bedienoberflächen dafür.
Bei freshmeat.net findest Du etliche Werkzeuge: http://freshmeat.net/browse/53/
Nein, will ich gar nicht. Unter Windows habe ich TortoiseCVS, aber nachdem ich beim PHP Developement sowieso einen Server brauche, muss ich ja vom Server aus einchecken. Und dort ist glaub ich nicht mal X11 oben.
Mitlerweile bevorzuge ich allerdigs svn auch wenn die Werkzeugunterstüzung dafür noch nicht so gut ist.
Hätte ich auch gerne, nur der braucht soweit ich weiss Apache2 für den Remotezugriff, ausserdem gibts fürs Woody nur backports dafür.
Hallo Markus,
Das ist mir schon klar. Aber wenn ich z.B. per FTP auf meinem Testbereich bin und dort herumwerkle, wäre es mir recht, wenn ich zum commit nicht per putty in das Verzeichnis gehn muss und deppert jede einzelne Datei, die ich vielleicht ginzugefügt habe aufnumerieren muss, sondern eben *ein einziger* Befehl reichen würde.
Wenn Du in einem Verzeichnis cvs commit ausführst, wird eigentlich alles commitet, was dort geändert wurde.
Nein, will ich gar nicht. Unter Windows habe ich TortoiseCVS, aber nachdem ich beim PHP Developement sowieso einen Server brauche, muss ich ja vom Server aus einchecken.
Nein wieso? CVS kann problemlos auf ein entferntes Repository zugreifen, z.B. per ssh.
Hätte ich auch gerne, nur der braucht soweit ich weiss Apache2 für den Remotezugriff, ausserdem gibts fürs Woody nur backports dafür.
Man kann das auch ohne den Apache machen, es gibt irgendwie einen einfachen svn-Server. Hab' aber noch nie ausprobiert, wie gut das funktioniert.
Es sollte auch kein Problem sein, das svn aus sid zu installieren. Bei mir funktioniert das ausgezeichnet.
Grüße
Daniel
你好 Daniel,
Man kann das auch ohne den Apache machen, es gibt irgendwie einen
einfachen svn-Server.
Man kann entweder svenserve benutzen oder mit denselben Mechanismen
arbeiten wie CVS: svn ueber ssh tunneln. Beides funktioniert eigentlich
ganz gut, beim Tunneln muss man nur aufpassen mit den Zugriffsrechten.
Hab' aber noch nie ausprobiert, wie gut das funktioniert.
Funktioniert recht gut.
再见,
CK
Man kann das auch ohne den Apache machen, es gibt irgendwie einen
einfachen svn-Server.Man kann entweder svenserve benutzen oder mit denselben Mechanismen
arbeiten wie CVS: svn ueber ssh tunneln. Beides funktioniert eigentlich
ganz gut, beim Tunneln muss man nur aufpassen mit den Zugriffsrechten.
Aja, svnserve wär einen Blick wert, ja. Ich hoffe nur, dass es nicht sowas' unverschlüsseltes wie pserver ist, das ist mir nämlich etwas suspekt.
Zu ssh: Ja genau das ist das was mir bei CVS suspekt ist. Im Prinzip begrüße ich das Tunneln über ssh, da ich kein weiteres Service starten muss, aber ich finde die Rechteverwaltung bei CVS etwas sehr konfus.
Ich würde nämlich gerne wichtige Projekte verwalten, auf die keiner Zugriff haben soll (auch nicht lesend als normaler Systemuser) und durchaus Sachen, bei denen auch andere mit entwickeln sollten. Nur dass man dazu auch wieder einen eigenen Systemaccount brauch ist auch wieder konfus.
Genau in dem Bereich würde ich hoffen, das SVN besser ist.
Achja, Ganz check ichs auch nicht, ob und wenn ja wie CVS die Rechte speichert und auscheckt.
Da bei mir aus Sicherheitsgründen systemweit (für alle Benutzer) eine sehr restriktive umask gesetzt worden ist, ist das z.B. ein Problem, wenn ich das Projekte im Webroot auschecke. Denn dann muss ich jedesmal sowas wie find . -type d | xargs chmod 755 machen.
Hallo Markus,
Das ist mir schon klar. Aber wenn ich z.B. per FTP auf meinem Testbereich bin und dort herumwerkle, wäre es mir recht, wenn ich zum commit nicht per putty in das Verzeichnis gehn muss und deppert jede einzelne Datei, die ich vielleicht ginzugefügt habe aufnumerieren muss, sondern eben *ein einziger* Befehl reichen würde.
Wenn Du in einem Verzeichnis cvs commit ausführst, wird eigentlich alles commitet, was dort geändert wurde.
Hmm, naja, hinzugefügte Dateien muss man ja trotzdem explizit mit "add" hinzufügen. Und das gleiche mit entfernten Dateien :-(
Nein, will ich gar nicht. Unter Windows habe ich TortoiseCVS, aber nachdem ich beim PHP Developement sowieso einen Server brauche, muss ich ja vom Server aus einchecken.
Nein wieso? CVS kann problemlos auf ein entferntes Repository zugreifen, z.B. per ssh.
Ich weiss. So wollte ich es ursprünglich auch machen, nur das werden dann irgendwie zu viele Commits, davon wird abgeraten. Wenn ich z.B. etwas ausprobieren will, dann fallen dafür sicher 50 Commits an, die eigentlich unnötig sind und die History verwirrend machen.
Hätte ich auch gerne, nur der braucht soweit ich weiss Apache2 für den Remotezugriff, ausserdem gibts fürs Woody nur backports dafür.
Man kann das auch ohne den Apache machen, es gibt irgendwie einen einfachen svn-Server. Hab' aber noch nie ausprobiert, wie gut das funktioniert.
Ja, aber AFAIK braucht man eben für den Remotezugriff das Apache Modul. Dafür gibt es zwar auch backports, nur will ich den Apache2 nicht.
Es sollte auch kein Problem sein, das svn aus sid zu installieren. Bei mir funktioniert das ausgezeichnet.
Ja, svn selbst habe ich durch Backports installiert nur eben ohne Remotezugriff.
Und was andres als woody mag ich nicht verwenden, da ich einen Produktivserver betreibe (auch wenns mein eigener ist).
Hallo Markus,
Hmm, naja, hinzugefügte Dateien muss man ja trotzdem explizit mit "add" hinzufügen. Und das gleiche mit entfernten Dateien :-(
Erstens kann man mit add auch ganze Verzeichnisse auf einen Schlag hinzufügen, und zweitens fügt man ja nicht so oft Dateien hinzu oder löscht welche.
Wenn ich z.B. etwas ausprobieren will, dann fallen dafür sicher 50 Commits an, die eigentlich unnötig sind und die History verwirrend machen.
So langsam verstehe ich Dein Problem. Wenn Du keine lokale Testinstallation machen kannst, dann trenne das doch. Zum testen synchronisierts Du Dein Arbeitsverzeichnis per ftp mit der Testumgebung auf dem Server und testest da. Das kannst Du auch mit einem kurzen Script automatisieren.
Und CVS verwendest Du unabhängig davon um die Dateien zu verwalten.
Ja, aber AFAIK braucht man eben für den Remotezugriff das Apache Modul. Dafür gibt es zwar auch backports, nur will ich den Apache2 nicht.
Nein, braucht man wie gesagt nicht.
Grüße
Daniel
Hallo Markus,
Und was andres als woody mag ich nicht verwenden, da ich einen Produktivserver betreibe (auch wenns mein eigener ist).
Es ist generell eine schlechte Idee, auf einem Produktivserver zu entwickeln. Was hindert dich daran, lokal einen Webserver einzurichten? Dann hättest du auch das Problem nicht mehr, dass du dich immer auf dem Server einloggen musst, um ein commit durchzuführen.
Schöne Grüße,
Johannes
你好 Markus,
Ich arbeite jetzt unter CVS, jedoch finde ich die cvs command line alles
andere als benutzerfreundlich.
Geschmacksache.
In Wirklichkeit muss x Befehle eingeben.
z.B. ein login, dann ein add dann vielleicht noch ein update und zum
Schluss erst ein commit.
Das cvs login ist nur ein einziges mal notwendig.
Gibt es ein Script/Tool, dass entfernte/hinzugefügte Dateien
*automatisch* mit einem Befehl ins CVS übernimmt, ohne dass ich es
explizit machen muss? Das ist mehr als lästig bei vielen Dateien.
Warum? Bei mir sind es zwei Befehle fuer beliebig viele Files:
cvs add file1 file2 file3 files/*.html
cvs commit
Whatever, es gibt fuer Windows TortoiesCVS und fuer Linux
gibt es z. B. Cervisia. Wer also eher auf Grafik steht,
kann ja damit arbeiten.
再见,
CK
Ich arbeite jetzt unter CVS, jedoch finde ich die cvs command line alles
andere als benutzerfreundlich.Geschmacksache.
Naja, sicher. Trotzdem werd' ich dir meinen Grund gleich nennen.
In Wirklichkeit muss x Befehle eingeben.
z.B. ein login, dann ein add dann vielleicht noch ein update und zum
Schluss erst ein commit.Das cvs login ist nur ein einziges mal notwendig.
Ich weiss.
Gibt es ein Script/Tool, dass entfernte/hinzugefügte Dateien
*automatisch* mit einem Befehl ins CVS übernimmt, ohne dass ich es
explizit machen muss? Das ist mehr als lästig bei vielen Dateien.Warum? Bei mir sind es zwei Befehle fuer beliebig viele Files:
cvs add file1 file2 file3 files/*.html
cvs commit
Eben. Und genau das meine ich.
Ich greife per FTP auf den Testbereich zu und muss mich danach per putty einloggen und deppert jede einzelne hinzugefügte/gelöschte Datei aufzählen.
Es wäre nett, wenn das mit EINEM Kommando gehen würde. Um dann auch nicht jedesmal mich mit putty einloggen zu müssen, würde mich mir dann nämlich gerne ein Script schreiben, dass per Browser funktioniert (mit htaccess geschützt), dass mir den commit regelt.
Whatever, es gibt fuer Windows TortoiesCVS und fuer Linux
gibt es z. B. Cervisia. Wer also eher auf Grafik steht,
kann ja damit arbeiten.
Unter Windows verwende ich bereits TortoiseCVS, aber für PHP Entwicklung brauche ich es ja nicht, da ich am Server arbeite.
Und für Linux brauch ich nix graphisches, weil ich dort kein X11 verwende.