Re: Datei wiederherstellen



Hallo Mike,
Herfried K. Wagner [MVP] schrieb:
Naja... Wenn VS abstürzt, dann lassen sich m.E.n. Dateien über VS wiederherstellen. Für alles andere bietet sich die Verwendung eines CVS an, welches ein zurückgehen zu einer älteren Version erlaubt.
Bei einer solchen Konvertierung arbeite ich persönlich auch nie mit den Originaldateien, sondern immer mit einer Kopie ;) Dann hat man immer noch das Original als Backup.

In einer deiner Anwtworten auf Franks Posting hast du gesagt:
Ein Extra CVS wollte ich zunächst nicht einrichten, da es als Single-Programmierer nicht unbedingt gebraucht wird
Dem möchte ich widersprechen, denn das ist m. E. die einzig sinnvolle Möglichkeit, Quellcode zu sichern und sich vor solchen Verlusten zu schützen. Das bringt natürlich nur etwas, wenn man von dem Repository (egal ob VSS, CVS, SVN, ...) regelmäßig Backups auf einen anderen Datenträger macht, es braucht ja nicht gleich täglich oder wöchentlich zu sein, für einen einzelnen Programmierer. Das kommt natürlich auch auf das Projekt an, wie wichtig es ist, welche Bedeutung es hat etc.
Hm, nach den Antworten aus der NG bisher, sieht es fast so aus, als ob ich mir das CVS doch nochmal installiere ;-)
Sicher eine gute Idee, eine Source Code Verwaltung zu installieren.

Hatte mal Subversion und TurtoiseSVN installiert. Hat jemand Erfahrugen damit oder ist CVS doch besser?
Vorab, ich kenne CVS nicht, nur VSS 6.0 und SVN. VSS 2005 habe ich mir schon mal angeschaut, aber noch nicht mit gearbeitet.

Also ich bin mit SVN und TortoiseSVN sehr zufrieden, und wenn du nicht gerade ein Apache laufen hast empfehle ich dir, SVNService [1] zu benutzen. Das vereinfacht den Zugriff auf das Repo wenn dieses auf einem Server statt deinem Entwicklungsrechner liegt, oder wenn doch dort, dann wie bei mir auch den Zugriff vom Laptop aus. Dann brauchst du nämlich keine Netzwerkfreigaben zu verwalten und kannst einfach via svn://reposerver/projekt/ o. ä. auf dein SVN zugreifen.

Aber mit dieser Kombination kannst du zwar deine Codedateien im SVN archivieren und natürlich auch mit VS 2005 entwickeln, jedoch sind das noch zwei getrennte Welten. Wenn du SVN ins VS integrieren willst, brauchst du noch ein weiteres Tool wie z. B. den SVN Proxy [2] oder eine der unter [3] aufgelisteten Alternativen. Mit dem SVN Proxy sind dann die Funktionen der Quellcodeverwaltung im VS genau so nutzbar als wenn du VSS verwendest, abgesehen vielleicht von ein paar wesentlichen Unterschieden dieser Produkte.

Ein Vorteil ist aber, dass der Proxy Umbenennen, Verschieben, Löschen von verwalteten Dateien und Ordnern erkennt und diese Änderungen (auf Nachfrage) ins Archiv überträgt. D. h. man muss eine Datei vorm Umbenennen oder verschieben nicht erst aus dem Projekt entfernen, im Archiv (oder über TortoiseSVN) umbenennen/verschieben, dann neu abrufen und die Datei wieder ins Projekt aufnehmen. Das kann direkt im VS gemacht werden.

Allerdings muss ich auch vor diesem Feature warnen! Es arbeitet aus mir unbekannten Gründen mit temporären Dateinamen die nach GUIDs oder Ähnlichem aussehen. Ich habe eine Reihe von Fremdassemblies (log4net etc.) die ich in allen Projekten brauche. Diese liegen in einem Solution-Ordner, der über die Property "svn:externals" in alle Projektordner geshared wird, damit die Assemblies nur an einer Stelle aktualisiert werden müssen. Wenn man diesen "externen" lib-Ordner nun abgerufen hat und ins Projekt aufnimmt, werden die Dateien darin zwangsweise ausgecheckt. Dabei gibt der Proxy ihnen einen solchen temporären Namen und anschließend den neuen (alten) Namen. Manchmal bleibt er da aber hängen (NUR bei externen Ordnern) und die log4net.dll hat dann auch im Archiv einen kryptischen Namen. Man kann diesen Problem aber dadurch umgehen, dass man die Überwachung von Umbenennungen einfach abschaltet. Der Proxy wird auch gerade überarbeitet und ich werde das Problem noch melden. Die Chance dass es bald behoben wird ist also gut. Und die 19 Euro für eine Lizenz ist sicher nicht zu viel. Die Lizenz gilt für drei Rechner einer Person.

[1] http://dark.clansoft.dk/~mbn/svnservice/
[2] http://pushok.com/soft_svn.php
[3] http://subversion.tigris.org/project_links.html#clients


Gruß, Marco .



Relevant Pages