Sven Wagener: CVS und Repositories ;-)

Moin,

bin gerade dabei meinen CVS Server einzurichten. Dazu mal ne allgemeine Frage zu "Repositories" und "Modulen":

Legt man für gewöhnlicherweise eine Repository für jedes Projekt an oder legt man alle Projekte in eine Repository und importiert für jedes Projekt ein Modul???

Wie macht Ihr es???

Danke!

Mit freundlichen Grüssen,

Sven Wagener

  1. Hallo,

    bin gerade dabei meinen CVS Server einzurichten. Dazu mal ne allgemeine Frage zu "Repositories" und "Modulen":

    Legt man für gewöhnlicherweise eine Repository für jedes Projekt an oder legt man alle Projekte in eine Repository und importiert für jedes Projekt ein Modul???

    je nachdem wie Du Dein Projekt aufgeteilt hast, musst Du entsprechend die Repositories anlegen.

    Im Regelfall wird ein Projekt als Produkt zusammengefasst d.H.
    Webgine_3_0 wobei das Produkt die Webgine ist und das aktuelle Release 3.0.
    Das ist nur ein Beispiel in anderen Unternehmen wird es auch so gehandhabt:

    Projekt -- Rel1.0
            -- Rel2.0

    etc. Je nachdem legst du das eine oder andere als Repository ab.
    Es kommt ebenfalls noch darauf an, wie und in welchem Umfang Du rechte für die entsprechenden Branches vergibst.

    Verwendest Du einen PServer?
    Falls ja, solltest Du die Projekte möglichst kleicn halten (Anzahl)
    da für jedes Projekt ein eigene PServer gestartet wird.

    Andreé

  2. Moin!

    Legt man für gewöhnlicherweise eine Repository für jedes Projekt an oder legt man alle Projekte in eine Repository und importiert für jedes Projekt ein Modul???

    Ich würde es so machen, wie es für den einzelnen Fall sinnvoll ist. (Haha, Superantwort, nicht?)

    Mit anderen Worten: Es hängt davon ab, was du willst und machst.

    Ich setze CVS (derzeit leider nicht - muß mal wieder einen CVS-Server aufsetzen) üblicherweise für Websites ein. Da macht es Sinn, die gesamte Website als ein CVS-Modul zu behandeln, mit allen Unterverzeichnissen etc. Es mag sogar sinnvoll sein, auch über die reine Site hinausgehende Infos noch mit in dieses Modul hereinzunehmen. Aber Vorsicht: CVS nimmt zwar auch Binärdateien, aber keine Megabytes davon (bzw. damit wird das Handling ziemlich serverbelastend). Außerdem fallen dabei fast alle Vorteile von CVS flach.

    Was als Strategie aber ebenfalls Sinn machen kann: Wenn du gewisse Elemente auf verschiedenen Websites immer wieder verwendest (wie z.B. den "Ultimativen Formmailer[tm]"), dann macht es mehr Sinn, diese Elemente als ein Modul in CVS zu behandeln und dann einfach mehrfach in die einzelnen Web-Projekte zu exportieren. So kann man die Updates (und Downdates!) recht schnell und einfach hinkriegen.

    Ich denke, es gibt hierfür keinen Königsweg.

    - Sven Rautenberg

    --
    SELFTREFFEN 2003 - http://selftreffen.kuemmi.ch/
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
  3. Hallo Sven,

    in allen mir bekannten Fällen hat ein Repository pro Unternehmen gereicht.
    Wenn mehr nötig wahren, dann um noch ein Test-CVS-System zu haben.

    CYa
    GONZO

  4. Hi,

    Legt man für gewöhnlicherweise eine Repository für jedes Projekt an oder legt man alle Projekte in eine Repository und importiert für jedes Projekt ein Modul???

    Ich hab für jedes Website-Projekt ein eigenes Repository unter der
    CVS-Wurzel.
    Die CVS-Wurzel hab ich unter /proj/cvs gelegt.

    Bei grossen Websites, die Subdomains haben, benutze ich ausserdem Unterverzeichnisse. Beispielsweise:

    /proj/cvs/xwolf/www.xwolf.de
    /proj/cvs/xwolf/cgi.xwolf.de

    Daneben gibt es dann Alias-Module, die ich in der Datei modules (/proj/cvs/CVSROOT) definiert habe, wie z.B.:

    "
    memberxwolf -a xwolf/www.xwolf.de/member
    "

    Ciao,
      Wolfgang

    1. Hi,

      Btw: Kennst du schon dies:
      http://www.xwolf.de/artikel/cvstutor/
      ?

      Ciao,
        Wolfgang

      1. Moin!

        Btw: Kennst du schon dies:
        http://www.xwolf.de/artikel/cvstutor/
        ?

        Interessant.

        Kennst du schon dies:
        http://www.rtbg.de/cvs/
        ?

        Nicht ganz so umfangreich ;), und auch mit vollkommen anderer Zielsetzung. Hört praktisch da auf, wo dein Artikel anfängt.

        - Sven Rautenberg

        --
        SELFTREFFEN 2003 - http://selftreffen.kuemmi.ch/
        ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
    2. Hi,

      Ich hab für jedes Website-Projekt ein eigenes Repository unter der
      CVS-Wurzel.
      Die CVS-Wurzel hab ich unter /proj/cvs gelegt.

      Das Verzeichnis und seine Kinder, welches der Variablen $CVSROOT zugewiesen ist - ich nehme an, in Deinem Falle /proj/cvs - _ist_ das Repository (noch genauer: das Elternverzeichnis von /CVSROOT).

      repository: /proj/cvs
      'implizites modul': xwolf

      Viele Grüße,
      Martin Jung

  5. Guten Morgen,

    erst mal vielen Dank für die ganzen Antworten! Ich denke, dass ich jetzt weis, wie ich es einrichten werde.

    Ich werde eine Repository für alle kleinen Website Entwicklungen einrichten und jeweils eine Repository für grosse Langzeitprojekte.

    Auf jeden Fall nochmal vielen Dank für die Infos!

    =====================================================

    ... eine Frage hab ich da noch:

    Wenn ich in der inetd.conf jetzt die einzelnen repositories mittels

    --allow-root=/var/cvs/meingrossprojekt

    angebe, hab ich ein Problem, wenn die Zeile zu lang wird. Stehen dort zu viele Projekte hintereinander, scheint der pserver Stress zu machen. Ich kann mich nirgends mehr einloggen. Irgendwie eigenartig. Hat jemand ne Idee zur Schreibweise?

    Vielen Dank

    1. Hi

      angebe, hab ich ein Problem, wenn die Zeile zu lang wird. Stehen dort zu viele Projekte hintereinander, scheint der pserver Stress zu machen. Ich kann mich nirgends mehr einloggen. Irgendwie eigenartig. Hat jemand ne Idee zur Schreibweise?

      Sorry, keine direkte Loesung und vielleicht eher nervig, aber:
      Nutz am besten *kein PSERVER*:
      Du sendest damit deine Zugangsdaten unverschluesselt uebers Netz.
      Nimm lieber SSH. Dann hast du auch das Problem mit langen Pfadnahmen nicht.

      Und der Vorteil von CVS ist es ja auch gerade, dass viele Leute von unterschiedlichen Orten aus (und ggf. ueber Netzgrenzen hinaus) arbeiten koennen. Weswegen das ARgument mit Intranet nicht so viel wert ist...

      Ciao,
        Wolfgang

      1. Du sendest damit deine Zugangsdaten unverschluesselt uebers Netz.
        Nimm lieber SSH. Dann hast du auch das Problem mit langen Pfadnahmen nicht.

        Vielen Dank für die Info!

        MfG,

        Sven Wagener