Versionsverwaltungen

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
BlackJack

henning hat geschrieben: - Ich möchte die Möglichkeit haben, z.B. an einem update länger zu arbeiten bevor ich es hochlade, zwischendurch aber z.B. bugfixes hochzuschieben.
Wenn ich dann mit der längeren Sache fertig bin, sollen die Bugfixes natürlich nicht weg sein. (Müsste man IMHO mit ziemlich jedem System hinkriegen, oder?)
Dazu macht man ja ab und zu updates bei den Quellen mit denen man, in diesem Fall längere Zeit, arbeitet.
- Ich möchte ab und zu "Releases" machen, spätestens dann brauche ich eine Versionsnummer, die kann (muss aber nicht) auch schon vorher mitlaufen.
Branches und Tags werden bei SVN einfach durch Kopien innerhalb des Repository gelöst. Man kopiert bei einem Release also im Repository vom "HEAD" z.B. `../projektname/trunk/` nach `../projektname/releases/version_x.y.z/`. Dort hat man dann den "eingefrorenen" Zustand zum aktuellen Zeitpunkt.

Wenn man mit mehreren Leuten an einem Projekt arbeitet kann es natürlich vorkommen, das zwischen dem Zeitpunkt wo Du meinst der aktuelle Stand sollte ein Release werden und dem Kopieren, ein anderer Entwickler noch etwas eincheckt. Deshalb sollte man die Revisionsnummer des "Releasezustandes" für das Kopieren angeben.

An diesem Punkt finde ich die globale Revisionsnummer von SVN gegenüber CVS sehr praktisch weil jede Rev-Nummer quasi einen Schnappschuss/Gesamtzustand des Repository kennzeichnet.
- Ich hab mir subversion mal angeguckt (und mir ist aufgefallen, dass ich damit noch nicht gearbeitet hatte, da muss früher wohl echt cvs gewesen sein) und muss sagen, dass mir diese Datenbank-kramerei ein bisschen missfällt im repository. Spart zwar ordentlich Platz, ist nach meinem Geschmack zu Black-Box-mäßig.
Das sollte ein Versionsverwaltung doch eigentlich auch sein!? "Hinter" der API die nach aussen angeboten wird, sollte niemand an den Daten herumpfuschen können.

Datenbank muss übrigens nicht sein, es gibt auch ein alternatives Backend das glaube ich `filefs` oder so heisst.
Da kann ich mich aber eohl schnell dran gewöhnen, zumal man backups ja mit nem checkout machen kann.
Backups mache ich immer per ``svnadmin dump``. Damit bekommt man den gesamten Repositoryinhalt, also inklusiver der "Historie" als Textformat das unabhängig vom Backend ist.

Noch zur Frage warum `svn+ssh://`: Es gibt auch `svn://`, das ist das SVN eigene Protokoll ohne SSH.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:Datenbank muss übrigens nicht sein, es gibt auch ein alternatives Backend das glaube ich `filefs` oder so heisst.
Es heißt FSFS und ist soweit ich mich erinnern kann, in Subversion 1.1 dazugekommen, neben dem BSDDB-Backend, welches es schon seit immer gab.

Ich muss sagen, das arbeiten mit Subversion ist durchaus angenehm, es hat ein paar Vorteile gegenüber CVS, ohne komplett neue Wege zu gehen, sondern es hat aus den Fehlern von CVS gelernt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten