Franco: Erster Versuch mit TortoiseSVN

Hallo,

ich habe ein etwas größeres Webseitenprojekt und möchte seine Versionen gerne mit TortoiseSVN verwalten.
Programm ist installiert und fügt sich auch in den Explorer ein.

Nun habe ich einen leeren Ordner auf c:\ erstellt und ihn als Projektarchiv bestimmt. Die Hilfe sagt, es sei vorteilhaft, innerhalb eines Projektes die Unterordner trunk, branches und tags zu haben. Also habe ich sie mithilfe des Projektarchivbetrachters erstellt (mal sehen, wozu die später gut sind)

  1. War das bis hierher korrekt?

Dann habe ich mein Webprojekt auf dem Hauptordner rechtsgeklickt und ihn über das Kontextmenü--> Import hinzugefügt.

Laut Projektarchivbetrachter hat auch der Import stattgefunden.

  1. Bis hierhin korrekt?

  2. Die Daten selber liegen aber noch im Originalverzeichniss, darf ich die hier nun nicht mehr verändern?

  3. Wie ist die gängige Methode, nun an meinen Dateien zu arbeiten? Ich weiß, es muss über eine Arbeitskopie sein, aber alle Versuche bringen mich derzeit nicht ans gewünschte Ziel.

Leider komme ich mit dem beigefügten Manual auch überhaupt nicht klar. Das ist zwar gut gegliedert, aber ich für mich in den einzelnen Punkten nicht Schritt-für-Schritt genug (bzw. es fehlen mir die Hintegründe, auf die diese Hilfe dann nicht eingeht)

Nochmal zusammengefasst, ich möchte mein Webprojekt, dass im Ordner "MeinProjekt" liegt und bisher keine Versionskontrolle hat, in TortoiseSVN integrieren, am liebsten eine Versionsnummer 4.0 vorgen können (das ist meine bisherige intern vergebene Versionsnummer) und danach über TortoiseSVN Änderungen vornehmen und versionieren lassen.

Bisher scheiterts es aber anscheinend schon am Import und der Bearbeitung meiner Dateien :-(

Vielleicht arbeitet ja einer hier auch damit und ich verstehe ihn besser als das Manual.

Viele Grüße, Frank

  1. Hallo Frank,

    möchte seine Versionen gerne mit TortoiseSVN verwalten.

    Gute Idee

    [..] trunk, branches und tags [...] mal sehen, wozu die später gut sind

    Trunk ist die Hauptentwicklungsrichtung, Branches sind Varianten davon, mit Tags habe ich auch keine Erfahrung. Du arbeitest normalerweise nur auf dem Trunk, braeuchtest also diese Unterstruktur nicht unbedingt. Andererseits ist es nicht verkehrt, gleich so zu arbeiten, als haettest du ein grosses Projekt mit mehreren Entwicklern.

    1. War das bis hierher korrekt?

    Ja

    Laut Projektarchivbetrachter hat auch der Import stattgefunden.

    Ich habe Tortoise nur auf englisch, und gehe davon aus dass der Repo Browser und der Projektarchivbetrachter identisch sind. Insofern ist bis hierher alles gut gelaufen und du hast alles richtig gemacht.

    1. Die Daten selber liegen aber noch im Originalverzeichniss, darf ich die hier nun nicht mehr verändern?

    Die Originaldateien kannst du jetzt eigentlich loeschen, die wirst du nicht mehr brauchen (Backup!). Du loeschst jetzt also alle Dateien in deinem Projekt, machst im leeren Ordner einen Rechtsklick und laedst mit Tortoise Checkout alle Daten aus dem Repositorium. Diese dateien bearbeitest Du wie gewohnt und machst nach getaner Arbeit ein Tortoise Commit. Vorsicht ist geboten, wenn du mit mehreren Leuten arbeitest, dann musst du jeweils vor Arbeitsbeginn ein Tortoise Update machen.
    Ebenfalls kritisch sind Dinge wie Dateien loeschen, umbenennen etc, das musst du alles ueber den Tortoise Dialog machen.

    Frohes Schaffen

    Dieter

    1. Die Originaldateien kannst du jetzt eigentlich loeschen, die wirst du nicht mehr brauchen (Backup!). Du loeschst jetzt also alle Dateien in deinem Projekt, machst im leeren Ordner einen Rechtsklick und laedst mit Tortoise Checkout alle Daten aus dem Repositorium. Diese dateien bearbeitest Du wie gewohnt und machst nach getaner Arbeit ein Tortoise Commit.

      Hallo Dieter,

      aha, das habe ich verstanden und ich habe nun inzwischen auch schon meine ersten Commits gemacht.

      Natürlich habe ich noch keinen Schimmer, wie ich dann mit den Versionen der Dateien jonglieren kann usw, aber das kommt schon noch.

      2 Fragen habe ich aber ganz aktuell noch:

      1. Wo kann ich nun die Versionsnummer des gesamten Projekts erfahren?
      2. Kann ich die beeinflussen, also einen Anfangswert setzen?

      Gruß, Frank

      1. Hallo

        Natürlich habe ich noch keinen Schimmer, wie ich dann mit den Versionen der Dateien jonglieren kann usw, aber das kommt schon noch.

        1. Wo kann ich nun die Versionsnummer des gesamten Projekts erfahren?

        Du hast mit SVN eine fortlaufende Nummerierung *des gesamten Projekts*, nicht einzelner Dateien. Wo die bei Tortoise zu finden ist, kann ich dir aber leider nicht sagen. Das hat aber nichts mit der üblichen Versionsnummerierung (wie 1.0.12) zu tun. Die vergibst du nach Gutdünken, was du beim versionierten Projekt mit einem Tag erreichst. Beispiel: Versionsstand 815 wird zum Tag erklärt und entspricht Version 1.0.12.

        Tschö, Auge

        --
        Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
        Terry Pratchett, "Wachen! Wachen!"
        Veranstaltungsdatenbank Vdb 0.3
        1. Das hat aber nichts mit der üblichen Versionsnummerierung (wie 1.0.12) zu tun. Die vergibst du nach Gutdünken, was du beim versionierten Projekt mit einem Tag erreichst. Beispiel: Versionsstand 815 wird zum Tag erklärt und entspricht Version 1.0.12.

          Hallo Auge,

          verstehe. :-)

          Mal am Rande...wird das denn immer so gemacht oder nur bei SVN?

          Grüße, Frank

          1. Moin Moin!

            Das ist gängige Praxis. Vor allem, weil Versionsnummern immer mehr Marketing-Instrument werden, aber auch, um den Stand durch eine "magische" Versionsnummer zu dokumentieren.

            Das erste Release nennt man in aller Regel 1.0, die Pre-Releases entsprechend 0.9x. Siehe auch Semantic Versioning.

            Es spricht natürlich nichts dagegen, umgekehrt die SVN-Revisions-ID als Versionsnummer zu benutzen, wenigstens als letzten, unbedeutensten Teil.

            Alexander

            --
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
          2. Hallo

            Das hat aber nichts mit der üblichen Versionsnummerierung (wie 1.0.12) zu tun. Die vergibst du nach Gutdünken, was du beim versionierten Projekt mit einem Tag erreichst. Beispiel: Versionsstand 815 wird zum Tag erklärt und entspricht Version 1.0.12.

            Mal am Rande...wird das denn immer so gemacht oder nur bei SVN?

            Ich arbeite mit Git, wo man das mit den Tags und Branches ebenso tut. Der auf den ersten Blick augenfälligste Unterschied ist, dass die Versionstände dort nicht über eine fortlaufende Nummerierung wie bei SVN sondern über einen SHA1-String benamst werden.

            Um ein Beispiel für ein Projekt, das SVN benutzt, zu bringen, nehme ich mal Openttd. Die aktuelle Stable (Stand heute (04.07.2010)) ist 1.0.2, der Trunk, also der aktuelle(re) Entwicklungsstand laut SVN ist die Revision 20080. Auf der Downloadseite für den Trunk gibt es auch einen Link zum Changelog der letzten paar Commits. Vielleicht gibt dir das ja auch einen Einblick, wie man seine Commits dokumentiert.

            Tschö, Auge

            --
            Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
            Terry Pratchett, "Wachen! Wachen!"
            Veranstaltungsdatenbank Vdb 0.3