2009-06-26 15 views
2

Ich lerne mit SVN mit Visual Studio.NET arbeiten. Alles funktioniert gut und alles, aber ich konnte nicht herausfinden, etwas:Wo speichert Subversion?

ich meine ursprünglichen Quellcode in C: \ source

ich ein Repository in C: \ repo (svn: // localhost)

ich habe meine Lösung mit VS.NET bei sVN Repository: // localhost/MyProject/trunk

ich aus dem Repository/Stamm c eine Arbeitskopie ausgecheckt: \ Kopie arbeiten

ich machte ein einige Änderungen an myfile.cs dieser Arbeitskopie und ohne Verpflichtung t irgendwelche Fehler. Ich habe mich auf den neuesten Stand gebracht, wieder ausgecheckt usw. und es ist alles gut.

Aber ich habe die gleiche Datei unter c: \ source \ myfile.cs vom Windows Explorer überprüft und es ist die alte Version. Es wurden keinerlei Änderungen daran vorgenommen. Ich dachte, die Arbeit würde die ursprüngliche Stammversion verändern? Fehle ich hier etwas? Oder verstehe ich das Quellcode-Management alles falsch?

+1

Schauen Sie sich die Subversion Buch http://svnbook.red-bean.com/en/1.5/index.html Es wird Sie durch die Grundlagen der Verwendung von Svn führen. – ScottS

Antwort

4

Ihre Arbeitskopie ist natürlich C:\working copy; Alle Änderungen, die Sie an der Arbeitskopie vornehmen, werden in diesen Dateien wiedergegeben. Wenn Sie commit committen, verpflichten Sie sich zum Repo um C:\repo\<repo>, wenn Sie also aus diesem Repo auschecken, werden Sie auch die Änderungen sehen.

Die ursprünglichen Quelldateien in C:\source werden jedoch nicht berührt, da es weder Ihre Arbeitskopie noch das Repo selbst ist.

+0

Wahr, wahr. Ich tippte das Gleiche auf, aber du hast mich dazu geschlagen :-) – sjobe

2

Eigentlich hat Ihre C:\source nichts mehr mit der Quelle selbst zu tun. Es ist nicht mit irgendetwas verbunden (ist kein Arbeitsordner).

Sie haben Ihr Repository unter C:\repo, und die Änderungen bleiben dort, wenn Sie eine Festschreibung durchführen.

Sie die Änderungen herunterladen, wenn Sie ein UPDATE auf einem Arbeitsordner (IE, C:\working copy) durchführen

2

Um Ihre Follow-up-Frage zu beantworten: Sie wollen die aktuelle Repository Stamm kompilieren, nicht, was automatisch zur Folge hätte die aktuelle Arbeitskopie von jedermann zusammenführen. Die Wahrscheinlichkeit, dass sogar kompilierbarer Code produziert wird, ist ziemlich niedrig.

Wenn Sie eine gute Änderung abgeschlossen haben und es mit einem lokalen Build testen, übergeben Sie es an SVN. Was immer im Repository vorhanden ist, ist der autorisierende Code, und Ihr Build-System sollte das kompilieren.