anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Versionsverwaltung https://anpera.dyndns.org/phpbb3/viewtopic.php?f=25&t=3325 |
Seite 1 von 1 |
Autor: | Eliwood [ Sa 27 Jan, 2007 16:26 ] |
Betreff des Beitrags: | Versionsverwaltung |
So.. Nightborn nervt ja schon seit ne Weilchen damit *g* Also dachte ich, ich probier das Ding mal aus: Subversion (SVN). Es ist soweit einfach zu bedienen (Naja. Kommandozeilentool. Gibt aber auch ne Shellerweiterung, die das Menü in den Windowsexplorer setzt, nennt sich TortoiseSVN). Zuerst müsst ihr das Programm herunterladen. Die Datei heisst " svn-1.4.2-setup.exe" und findet sich hier wieder (Für Windows). Dann führt ihr das Setupprogramm aus. Bei den 3 Optionen (Verknüpfung Desktop, Schnellstartleiste und "Apache konfigurieren") deaktiviert ihr das unterste; Die anderen 2 könnt ihr frei wählen. Wenn ihr einen Apache auf dem Computer installiert habt, der nicht die Version 2.0 ist (Also Apache 1, Apache 2.2), dann müsst ihr noch eine Änderung an der httpd.conf vornehmen, damit ihr den Apache richtig starten könnt: $this->bbcode_second_pass_code('', 'LoadModule dav_svn_module "C:/Programme/Subversion/bin/mod_dav_svn.so" LoadModule authz_svn_module "C:/Programme/Subversion/bin/mod_authz_svn.so"') ERsetzen mit $this->bbcode_second_pass_code('', '#LoadModule dav_svn_module "C:/Programme/Subversion/bin/mod_dav_svn.so" #LoadModule authz_svn_module "C:/Programme/Subversion/bin/mod_authz_svn.so"') (Achtung! Die Pfade können abweichen. Orientiert euch an den Dateinamen!) Ist das geschafft, kann man nun SVN gebrauchen. Alle Befehle werden über die Kommandozeile eingegeben. Um die Erklärungen zu vereinfachen, setzen wir uns Gedanklich 2 Variablen: <Repesitorypfad> und <Workspace>. Der Repesitorypfad ist der Pfad zum Repesitory, Workspace der Pfad zum Ordner, in dem ihr die Dateien bearbeiten wollt (Lasst die Finger vom Repesitory!). <Repesitorypfad> = C:/Repesitory <RepesitoryProjektpfad> = C:/Repesitory/LoGD <Workspace> = C:/logd Zuerst müsst ihr ein Repesitory erzeugen: $this->bbcode_second_pass_code('', 'svnadmin create <Repesitorypfad>') Dann die Dateien importieren. Die, sagen wir mal, befinden sich im Ordner "C:/import": $this->bbcode_second_pass_code('', 'svn import C:/import <RepesitoryProjektpfad>/logd -m "initial import"') Nun könnt ihr die Dateien auschecken: $this->bbcode_second_pass_code('', 'svn checkout file:///<RepesitoryProjektpfad> <Workspace>') Dort könnt ihr die Dateien bearbeiten, wie ihr wollt. Wenn ihr fertig seit mit der Überarbeitung gebt ihr folgendes ein, um die Dateien im Repesitory zu aktualisieren: $this->bbcode_second_pass_code('', 'svn commit <Workspace> -m "blah" ') Habt ihr nun einen Bug drin, der ihr nicht findet, kann man eine frühere Revision einspielen: $this->bbcode_second_pass_code('', 'svn update <Workspace> -r NUMMER') Anstatt NUMMER setzt ihr eine Revisionsnummer ein *G* Wenn ihr euch nicht sicher seit, lasst ihr zuerst -r NUMMER weg. Die Kommandozeile spielt dann die letzte Revision ein und gibt auch aus, welche Nummer das ist. Dann geht ihr Nummer um Nummer zurück, um rauszufinden, welche Version den Bug nicht mehr hatte... ![]() |
Autor: | Nightborn [ Sa 27 Jan, 2007 16:43 ] |
Betreff des Beitrags: | |
![]() ![]() ich kanns nur weiterempfehlen: SVN ist einfach prima. Ihr könnt auch das auf einen Webserver (VPS mind.) spielen, und dann können mehrere dran werkeln... geht alles, verrechtet usw. Im Repository liegen nur die Datendateien, wie Eliwood meinte, da muß man nicht hinlangen. Hier ist die linux Kurzausgabe für svn: Aufruf: svn <Unterbefehl> [Optionen] [Parameter] Subversion-Kommandozeilenclient, Version 1.4.2. Geben Sie »svn help <Unterbefehl>« ein, um Hilfe zu einem Unterbefehl zu erhalten. Geben Sie »svn --version« ein, um die Programmversion und die Zugriffsmodule oder »svn --version --quiet«, um nur die Versionsnummer zu sehen. Die meisten Unterbefehle akzeptieren Datei- und/oder Verzeichnisparameter, wobei die Verzeichnisse rekursiv durchlaufen werden. Wenn keine Parameter angegeben werden, durchläuft der Befehl das aktuelle Verzeichnis rekursiv. $this->bbcode_second_pass_code('', 'Verfügbare Unterbefehle: add blame (praise, annotate, ann) cat checkout (co) cleanup commit (ci) copy (cp) delete (del, remove, rm) diff (di) export help (?, h) import info list (ls) lock log merge mkdir move (mv, rename, ren) propdel (pdel, pd) propedit (pedit, pe) propget (pget, pg) proplist (plist, pl) propset (pset, ps) resolved revert status (stat, st) switch (sw) unlock update (up)') Will man nur auf die letzte *eingecheckte* Version zurückspulen, reicht ein $this->bbcode_second_pass_code('', 'svn revert <filename>') will man sehen, wo die Änderungen zwischen der letzten eingecheckten Version und der aktuellen version einer Datei sind, heißt es $this->bbcode_second_pass_code('', 'svn diff <filename>') eine schöne runde Sache. Allen 0.97 Freunden kann ich das nur wärmstens ans Herz legen. Änderungen bei Fehlern rückgängig machen in 2 Sekunden, Änderungsverfolgung par excellence inklusive. ![]() |
Autor: | Morpheus [ Sa 27 Jan, 2007 17:52 ] |
Betreff des Beitrags: | |
Ich denke, wen nich jetz alles wieder auf der Reihe habe, werde ich mich mal vorsichtig da ran tasten, nach den letzten Erfahrungen auf jeden Fall von Nöten, und wenn es wirklich so klasse ist, empfehle ich es jetzt schon mal jedem, der sich viel Nerven und Arbeit sparen will, ich weiß, wovon ich da spreche... |
Autor: | Lestat [ Sa 27 Jan, 2007 23:26 ] |
Betreff des Beitrags: | |
Ich persönlich finde Subversion auch recht gut, nur ist es für ein "einfaches" LoGD an dem nur eine Person arbeitet vielleicht etwas überdimensioniert. Daher ist für den einen oder anderen evtl. auch TrackMyFiles interessant. Gerade für kleine Projekte durchaus angenehmer, und arbeitet zudem automatisch. Natürlich hat das ganze Ding auch leider so seine Nachteile: - Nur unter Windows 2000/XP lauffähig - lediglich als 60 Tage Testversion, Lizenz kostet WIMRE 34$ (was allerdings ein recht fairer Preis ist) |
Autor: | Lestat [ Mo 16 Apr, 2007 21:13 ] |
Betreff des Beitrags: | |
Um nochmal auf Subversion zu kommen: Manche schrecken sicher davor zurück es zu installieren, da man doch recht viel manuell machen muss. Für die konfig-faulen User gibt es inzwischen auch eine Art "Komplettpaket" ähnlich wie xampp. Das ganze nennt sich SVN1Click, und beinhaltet den Subversion-Server, sowie TortoiseSVN, also muss man auch nichts in der Kommandozeile machen. Schauts euch einfach mal an. ![]() |
Autor: | Eliwood [ Mo 16 Apr, 2007 21:33 ] |
Betreff des Beitrags: | |
Achja. TortoiseSVN. Ganz gut das Ding ![]() |
Autor: | dragonslayer [ Mi 18 Apr, 2007 18:27 ] |
Betreff des Beitrags: | |
Wir benutzen Subversion jetzt seit...lass mich lügen...2 Jahren? Das hat uns schon einige Arbeit erleichtert, besonders wenn mehr als 2 Leute am Code rumgraben. Jeder bekommt seinen eigenen Codebranch und kann schalten und walten. Wenn irgendwas fertig ist werden die Branches in den trunk gemerged. Zugegebenermaßen, das "mergen" und die Konfliktauflösung ist schwierig und manchmal will ich einfach nur reintreten, aber ohne das Repository wär ich wahrscheinlich schon früher gestorben. Mal wieder ohne nachzudenken eine Änderung gemacht und hochgeladen: Upps, nichts geht mehr. Schnell ein revert auf die letzte Version-alles wieder prima! Subversion, ick liebe Dir! Aber NUR mit Tortoise SVN Frontend, schließlich bin ich ein fauler Mausschubser! Ach, aus eigener Erfahrung: Macht auch Backups vom Repository! Ich Blödhammel hab bei einer Serverneuinstallation leider alle 2000 commits gelöscht...und dann die lokalen Kopien wieder auf einen Stand zu bringen ist...sagen wir es so: nervige Nachtschicht! |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |