Markus: Versionsverwaltung von Softwarecode

Hi,
 da ich demnächst ein etwas größeres PHP-Projekt vor mir habe, wird eine Versionsverwaltung mal nötig

Ich habe zunächst an CVS in Verbindung mit einem Server (z.B. mein Router) und Cervisia auf dem Client/den Clients. Nur blicke ich durch CVS noch nicht wirklich durch. Was muss ich genau tun, um einen CVS-Server aufzusetzen und damit mit Cervisia zu arbeiten? Die Doku, die ich gefunden habe, geht davon aus, dass man mit Cervisia auf einen öffentlichen CVS-Server zugreifen will. Ich möchte aber natürlich meinen eigenen

Oder gibt es noch andere, vielleicht bessere Versionsverwaltungstools? Gab es nicht mal eine Diskussion daraum, dass Linus Torvalds ein closed-Source-Tool einsetzt? Wie heißt das?

Kann mir jemand entweder etwas konkretes empfeheln oder mir mal CVS erklären, bitte

Dankeschön,
 Kosmos

  1. Hi,

    Nabend!

    da ich demnächst ein etwas größeres PHP-Projekt vor mir habe, wird eine Versionsverwaltung mal nötig

    Habe ich bei mir mittlerweile auch gemerkt und bin gerade in der sukzessiven Umstellung.

    Ich habe zunächst an CVS in Verbindung mit einem Server (z.B. mein Router) und Cervisia auf dem Client/den Clients. Nur blicke ich durch CVS noch nicht wirklich durch. Was muss ich genau tun, um einen CVS-Server aufzusetzen und damit mit Cervisia zu arbeiten? Die Doku, die ich gefunden habe, geht davon aus, dass man mit Cervisia auf einen öffentlichen CVS-Server zugreifen will. Ich möchte aber natürlich meinen eigenen

    Mit CVS habe ich mich noch nicht beschäftigt, aber so weit ich weiß, ist das Programm dafür gedacht, wenn viele Entwickler an einem Projekt arbeiten, dass alles irgendwie zu koordinieren, dass hinterher eine brauchbare Software bei herauskommt. Wenn ich mir die Projekte bei Sourceforge anschaue, scheint das auch gut zu funktionieren.

    Oder gibt es noch andere, vielleicht bessere Versionsverwaltungstools? Gab es nicht mal eine Diskussion daraum, dass Linus Torvalds ein closed-Source-Tool einsetzt? Wie heißt das?

    Davon habe ich nichts mitbekommen, aber was für eine Ein-Mann-Sache vielleicht besser, d.h. einfacher ist, ist RCS. Es ist relativ einfach zu durchschauen und wenn man nur alleine an einer Datei arbeitet, sehr zuverlässig. Selbst bei kleineren Projekten kann man es noch einsetzen, aber hunderten von Entwicklern wird's kritisch: Wenn du eine Datei bearbeitest, kann das gleichzeitig kein anderer, aber dafür funktioniert das ganze auch. Ich nehme jedenfalls RCS, weil ich es kenne und ich denke, dass ich den CVS-Overhead nicht brauche.

    Kann mir jemand entweder etwas konkretes empfeheln oder mir mal CVS erklären, bitte

    Es gibt für Unix das RCS-CVS-Howto, schau da mal rein, es werden beide Systeme sehr gut erklärt.

    Dankeschön,
    Kosmos

    Keine Ursache, Robert

    1. Hi,

      Es gibt für Unix das RCS-CVS-Howto, schau da mal rein, es werden beide Systeme sehr gut erklärt.

      Gibt es denn auch für RCS ein so schönes Frontend wie Cervisia? Das wäre mir schon wichtig.

      Liebe Grüße,
      Kosmos

    2. Moin!

      Davon habe ich nichts mitbekommen, aber was für eine Ein-Mann-Sache vielleicht besser, d.h. einfacher ist, ist RCS.

      Haha. RCS ist integraler Bestandteil von CVS. Und wenn ich mir TortoiseCVS angucke, was eine super in Windows integrierte Shellerweiterung ist, dann kann ich mir nicht vorstellen, dass RCS allein da irgendwie rankommt.

      RCS für eine einzelne Datei - ok. Aber wann besteht ein eigenes Projekt aus einer einzelnen Datei?

      Ich rate zu CVS. Das, was man täglich braucht, Commit und Update, ist so easy, dass ich kaum glauben kann, wie man das kompliziert finden könnte.

      - Sven Rautenberg

      1. Hallo,

        RCS für eine einzelne Datei - ok. Aber wann besteht ein eigenes Projekt aus einer einzelnen Datei?

        Nein, eher fuer ein Ein-Mann-Projekt. Wenn man alleine an einem Projekt arbeitet, schrumpfen die Vorteile von CVS gegenueber RCS ziemlich zusammen. Arbeitet man dann noch mit "GNU make", hat RCS noch einen Vorteil: es wird von make nativ unterstuetzt, d. h. evtl. fehlende Dateien werden automatisch ausgecheckt.

        Gruss
        Thomas

      2. Moin!

        Haha. RCS ist integraler Bestandteil von CVS.

        AFAIK haben die CVS-Leute mittlerweile ein eigenes System eingebaut, ohne drunterliegendem RCS. Ich kann mir sonst auch nicht so recht vorstellen, wie dass sonst so funktionierte.

        Und wenn ich mir TortoiseCVS angucke, was eine super in Windows integrierte Shellerweiterung ist, dann kann ich mir nicht vorstellen, dass RCS allein da irgendwie rankommt.

        Es kommt darauf an, was du machen willst. Für meine Zwecke reicht RCS vollkommen aus, abgesehen davon, dass mir DOSen am A*** vorbeigehen. Ich hab lieber in jedem Verzeichnis einen RCS-Ordner, statt _irgendwo im System_ ein zentrales Repository.

        RCS für eine einzelne Datei - ok. Aber wann besteht ein eigenes Projekt aus einer einzelnen Datei?

        Nein, in RCS werden die Logs für jede Datei seperat gespeichert, aber das ist bei CVS genauso. RCS ist dafür gedacht, dass an _einer_ Datei immer nur _einer zur gleichen Zeit_ arbeitet, während bei CVS an _einer_ Datei gleichzeitig _viele_ Entwickler basteln können.

        Ich rate zu CVS. Das, was man täglich braucht, Commit und Update, ist so easy, dass ich kaum glauben kann, wie man das kompliziert finden könnte.

        Ich denke, dass sich sämtliche Versionskontrollsysteme so leicht verwalten lassen, sonst würde sie keiner benutzen.

        Robert

  2. Hallo!

    Oder gibt es noch andere, vielleicht bessere Versionsverwaltungstools? Gab es nicht mal eine Diskussion daraum, dass Linus Torvalds ein closed-Source-Tool einsetzt? Wie heißt das?

    Bitkeeper. Ist aber nicht wirklich frei einsetzbar.

    "Der CVS Nachfolger", wie die Autoren es gerne nennen (mit welchem Recht auch immer) ist Subvision (http://subversion.tigris.org/), was seit kurzem "stable" geworden ist. Es hat wohl ein paar Vorteile gegenüber CVS, so Sachen dass man Dateien/Verzeichnisse verschieben kann usw...

    Ich habe es noch nie verwendet, das einzige Problem was ich damit habe:

    Ein Versionskontroll-System soll funktionieren. Es wäre ja der Super-Gau wenn Du aufgrund irgendeines Bugs auf einmal Dein komplettes Archiv wegschmeißen kannst...
    Und da mag es so viel besser sein als CVS, aber ich warte lieber noch ein Weilchen...

    Kann mir jemand entweder etwas konkretes empfeheln oder mir mal CVS erklären, bitte

    http://www.xwolf.de/artikel/cvstutor/
    http://www.sitepoint.com/print/harness-power-cvs-site

    Und sonst helfen Dir möglicherweise die man-pages/manuals der von Dir verwendeten Software.

    Grüße
    Andreas

    1. Hallo!

      "Der CVS Nachfolger", wie die Autoren es gerne nennen (mit welchem Recht auch immer) ist Subvision (http://subversion.tigris.org/),

      "Subversion" natürlich ;-)

      Grüße
      Andreas

    2. Hallo,

      Und da mag es so viel besser sein als CVS, aber ich warte lieber noch ein Weilchen...

      Subversion verwaltet sich seit 2001 selber [http://subversion.tigris.org/project_faq.html#stable]
      und duerfte mittlerweile auch die ersten Stresstests hinter sich haben.

      Gruss
      Thomas

      1. Hallo!

        Und da mag es so viel besser sein als CVS, aber ich warte lieber noch ein Weilchen...
        Subversion verwaltet sich seit 2001 selber [http://subversion.tigris.org/project_faq.html#stable]
        und duerfte mittlerweile auch die ersten Stresstests hinter sich haben.

        Zumindest gibt es schon "1.0.1" ;-)

        Hm, vielleicht sind meine Bedenken auch unbegründet. Ich denke nur, dass gerade an die Versionskontrolle außergewöhnlich hohe Anforderungen bzgl. Zuverlässigkeit gestellt werden (sollten). Und da frage ich mich ob das eine Software, welche erst seit gut einem Monat aus der Beta-Phase ist, wirklich leisten kann. Theoretisch schon, aber wie hoch ist das Risiko? Dass der Hersteller darauf vertraut sollte klar sein, er wird Dir aber auch nicht sagen wenn es vor X Monaten mal sein ganzes Archiv zerschossen hat.

        Dem nach was man so alles darüber liest würde ich es liebend gerne einsetzen. Denn ich muss mich in den nächsten Wochen auch für CVS/SVN entscheiden. Und ich bin mir bisher wirklich überhaupt nicht sicher.
        Ich denke das einzige was mich überzeugen würde wären genügend Erfolgsberichte von Unbeteiligten ;-)

        Grüße
        Andreas

        1. Hallo,

          Dem nach was man so alles darüber liest würde ich es liebend gerne einsetzen. Denn ich muss mich in den nächsten Wochen auch für CVS/SVN entscheiden. Und ich bin mir bisher wirklich überhaupt nicht sicher.

          Da Du so schwankst, wuerde ich mich fuer CVS entscheiden. Wenn die Nachteile, die SVN in CVS ausbuegelt, fuer Dich gravierend werden, kannst Du immernoch auf SVN umschwenken. Dann wirst Du Dich vielleicht aergern, die Entscheidung nicht vorher getroffen zu haben, aber bis dahin arbeitest Du mit einem ziemlich ausgereiftem Tool, fuer das auch jede Menge Quellen und Hilfen im Netz zu finden sind.

          Gruss
          Thomas (der fuer seine Dipl-Arbeit nur RCS nutzt)

  3. Hallo Markus,

    Ich möchte aber natürlich meinen eigenen

    Dann solltest Du mal einen blick in die CVS-Doku werfen: http://www.cvshome.org/docs/manual/cvs-1.11.14/cvs.html

    Oder gibt es noch andere, vielleicht bessere Versionsverwaltungstools?

    Sicher gibt es bessere, CVS hat eine Reihe von Problemen.
    Subversion ist ebenfalls OSS und wurde mit dem Ziel entwickelt diese Probleme zu beheben. Mittlerweile gibt es davon auch die Version 1.0 und ich habe viel gutes darüber gehört, mich aber damit bisher noch nicht auseinander gesetzt.

    http://subversion.tigris.org/

    Grüße

    Daniel