![]() |
Backup/Restore von VisualSVN Server
Hallo,
VisualSVN Server erstellt ja eine Datenbank für die Ordner und Dateien. Bei Firebird zum Beispiel gibt es ein Befehl um ein Backup/Restore von der Datenbank zu ziehen, wie sieht es mit der Datenbank vom VisualSVN Server aus? Die DB muss ja auch irgendwie gesichert werden, ist das auch im laufenden Betrieb möglich? Oder müssen alle Clients abgemeldet werden und anschließend die DB kopiert werden? Bis bald Chemiker |
AW: Backup/Restore von VisualSVN Server
Einfach das Repo-Verzeichnis komplett sichern und gut. In der Zeit sollte allerdings am Besten kein Einchecken erfolgen
|
AW: Backup/Restore von VisualSVN Server
ansonsten gibt es noch dieses cli-tool:
Code:
USAGE: svn-hot-backup [OPTIONS] REPOS_PATH BACKUP_PATH
Create a backup of the repository at REPOS_PATH in a subdirectory of the BACKUP_PATH location, named after the youngest revision. Options: --archive-type=FMT Create an archive of the backup. FMT can be one of: bz2 : Creates a bzip2 compressed tar file. gz : Creates a gzip compressed tar file. zip : Creates a compressed zip file. --num-backups=N Number of prior backups to keep around (0 to keep all). --help -h Print this help message and exit. |
AW: Backup/Restore von VisualSVN Server
Portable Sicherungen mache ich mit
![]() Zitat:
|
AW: Backup/Restore von VisualSVN Server
Zitat:
|
AW: Backup/Restore von VisualSVN Server
Zitat:
|
AW: Backup/Restore von VisualSVN Server
Hallo,
@ nachti1505: Zippen usw. ist nicht das Problem der Server hat 4 x 1TB Platten zur Verfügung das sollte auch ohne Komprimierung für den Anfang genug sein. @Sir Rufo: Muss eigentlich der Server für das Kopieren auch runtergefahren werden? @generic/mjustin: Ist es möglich auch von einem Client das Backup anzustoßen? Bis bald Chemiker |
AW: Backup/Restore von VisualSVN Server
So wie ich das sehe werden die Verbindungen zu den einzelnen Repo-DBs nur zum Zeitpunkt des Zugriffs aktiv und werden dann wieder geschlossen.
Wenn du nur alleine mit SVN arbeiten möchtest, dann brauchst du nicht zwingend einen SVN-Server, sondern kannst mit TortoiseSVN auch eine Repository anlegen (lokal oder Netzwerkfestplatte ist egal). Willst du dann irgendwann doch einen SVN-Server einsetzen, dann kopiere die Repos einfach in das Repo-Verzeichnis vom Server und schon geht es los. Zum Thema Platz: Sind die Änderungen nur sehr gering, so speichert SVN auch nur die Änderungen (auch bei Binärfiles). Somit hält sich der Platzverbrauch auch in Grenzen. Ausschließen würde ich immer die Dateien mit der Endung dcu, local, bak sowie das _history Verzeichnis (die Ignore-List lege ich bei mir aber pro Repo fest und nicht global, würde ich auch nicht empfehlen, sonst fehlt nachher etwas, das doch wichtig war) |
AW: Backup/Restore von VisualSVN Server
Zitat:
|
AW: Backup/Restore von VisualSVN Server
Hallo,
Zitat:
Der Platz ist nicht das Problem, aber es vergeht schon einige Zeit um größere Projekte in die SVN zu bekommen. Ich habe schon einiges in den letzten 2 Wochen über SVN gelesen, aber was mir immer noch etwas Kopfschmerzen bereit ist eine Vernünftige Ordnerstruktur damit ist jetzt nicht tags, trunk, und branches gemeint. z.B: habe ich ein Projekt1 in dem 3 Forms sind dafür habe ich jeweils ein getrennter Ordner angelegt. In diesen Ordner befinden sich auch einzelne Projekte, wo diese Forms getrennt voneinander getestet worden sind. Jetzt könnte man die Ordner-Struktur so anlegen:
Code:
Oder so:
Repository
Project1 branches tags Project1 Version 1.00 trunk Form1 Test-Ordner für Form1 Dokumentation für Form1 Form2 Test-Ordner für Form2 Dokumentation für Form2 Form3 Test-Ordner für Form3 Dokumentation für Form2
Code:
Ich bin da etwas ratlos, was der beste Weg ist. In diesem Kontext gehört auch, wie erstellt man die Ordnerstrukturen von Units die fast in jedem Programm eingebunden werden. Zum Beispiel eine Unit die in der Lage ist die Windows-Version zu ermitteln auf der grade das Programm läuft. Sie wird zwar selten aber bei jeder neuen Windows-Version angepasst.
Repository
Project1 branches tags Project1 Version 1.00 trunk Form1 branches tags trunk Test-Ordner für Form1 Dokumentation für Form1 Form2 branches tags trunk Test-Ordner für Form2 Dokumentation für Form2 Form3 branches tags trunk Test-Ordner für Form3 Dokumentation für Form3 Im Forum gibt es einige Beiträge darüber, aber irgendwie sind diese zu grob gehalten. Ein komplettes Beispiel das sich im Alltag bewährt hat könnte da weiterhelfen. Zitat:
Aber vielleicht habe ich aber auch Deine Antwort nicht richtig verstanden. Bis bald Chemiker |
AW: Backup/Restore von VisualSVN Server
Innerhalb eines Projekts keine weiteren Unter-Trunks/Branches etc.
Das Projekt gehört ja zusammen und bildet eine Einheit. Ob es da nun noch integrierte Neben-Projekte zum Testen gibt ist egal. Anders wäre es, wenn du z.B. eine Form hast und die benötigst du in mehreren Projekten. Dann legst du für diese Form ein eigenes Repo an und entwickelst das dort. In die anderen Projekte kannst du dir dieses nun per svn:external hinzufügen In einigen Projekten benutze ich z.B. die Units von Synapse (Alternative zu den Indys) Meine Struktur sieht dabei so aus
Code:
Bei svn:external kann man auch die Revision angeben, die man haben möchte.
trunk
bin ext synapse <- via svn:external src Ich programmiere also mit der aktuell verfügbaren Revision von synapse. In ein paar Monaten kann es aber sein, dass die Jungs dort etwas verändert haben, was mit meiner Anwendung inkompatibel ist. Also trage ich bei svn:external auch noch die von mir getestete Revision mit ein. Hole ich mir dann irgendwann das Projekt wieder aus meinem SVN wird auch automatisch die entsprechende Revision von synapse geholt (damit muss das laufen) Testweise entferne ich die Revisionsnummer für synapse und aktualisiere. Mit der neuesten Version kann ich nun meine Anwendung erzeugen. Wenn es nicht funktioniert, dann trage ich die alte Revision wieder ein, aktualisieren und alles wieder gut. Sobald man Zeit hat, passt man entweder die Anwendung an, oder schickt einen Bug-Report. Die Anwendung wird aber nicht versemmelt, somit bleibe ich entspannt. |
AW: Backup/Restore von VisualSVN Server
Zitat:
Meine Repo-Struktur ist übrigens
Code:
...
branches
Projekt1 feature1 feature2 Projekt2 ... tags Projekt1 1.0 1.1 ... trunk Projekt1 Projekt2 Projekt3 Third party libraries wie Synapse halte ich ausserhalb des Repositories (ausser bei angepassten Versionen), dort liegen sie dann in eindeutig benannten Verzeichnissen wie x:\Delphi\indy-10.5.8 oder synapse-39. |
AW: Backup/Restore von VisualSVN Server
Da SVN (und auch andere) einem nicht wirklich vorschreiben wie man seine Verzeichnisse organisiert (auch branches, tags, trunk sind nicht zwingend notwendig) ist es Geschmackssache und kann nach den eigenen Bedürfnissen angepasst werden.
Die Third-Party-Libs in einem definierten Verzeichnis zu halten ist eben auch eine Möglichkeit und ist immer abhängig von dem, was man erreichen möchte oder will/muss. Meine Entwicklungen laufen auf unterschiedlichen Entwicklungsrechnern (unterschiedliche Delphi-Versionen) und es hat sich dabei (bei mir) als Vorteil herausgestellt, die Third-Patry-Libs als External einzubinden. Vor allem die, die eh auf einem SVN verfügbar sind. Dadurch habe ich die Möglichkeit die ausgelieferte Version immer korrekt nachstellen zu können. Zudem muss ich nicht jede Delphi-Umgebung mit den entsprechenden Libs versorgen und auch noch aktuell halten (obwohl man das auch per SVN machen kann ;) ) Es gibt keine allgemeingültige Vorgehensweise wie man die Organisation mit einem SVN realisiert. Es ist und bleibt Philosophie und hängt viel von der eigenen Arbeitsweise und Organisation ab. Möglich, dass du auch nach einiger Zeit feststellst, dass das alles Bullshit ist und du es komplett anders organisierst. So ist das im Leben. Meine Vorhänge habe ich vor kurzem auch komplett getauscht. Vorher kam ein neues Sofa und umgeräumt habe ich auch. Trotzdem war es vorher nicht falsch und muss jetzt nicht für alle Ewigkeit richtig sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz