Laden...

SourceSave 2005 Server einrichten

Erstellt von ThomasR vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.189 Views
T
ThomasR Themenstarter:in
93 Beiträge seit 2007
vor 16 Jahren
SourceSave 2005 Server einrichten

Hallo,

Ich benutze VS 2005 Professional und möchte nun auch SourceSafe verwenden, da Softwar in einem kleinen Team (zwar nur 2 Personen aber trotzdem...) entwickelt werden soll.

Lokal auf meinem Rechner läuft das SourceSafe einwandfrei. Allerdings stelle ich mir das nun so vor, dass die andere Person ebenfalls zugriff auf das Projekt in der Datenbank hat. Ich möchte also die Sourcesafe Datenbank auf meinem PC als Server dem Kollege über das Internet bereitstellen. Das müsste doch möglich sein mit dem SourceSafe?! Alternativ hätte ich auch einen Webspace mit ftp...wenn ich die Datenbank dort laufen lassen könnte wäre es natürlich fast noch besser.

Nur ich bekomme das im SourceSafe absolut nicht hin...Ich finde keinerlei Einstellungen zum Einrichten des Servers oder zum Verbinden mit einer Datenbank außerhalb des lokalen PCs... Mit Google war ich leider auch nicht fündig.

Kann mir jemand sagen, wie das geht?

Gruß
Thomas

4.506 Beiträge seit 2004
vor 16 Jahren

Hallo ThomasR,

mal davon abgesehen, dass ich VSS (Visual Source Safe) nicht empfehlen würde, sondern SubVersion, kann man VSS Datenbanken einfach per Windows-Dateifreigabe freigeben. Zumindest bei VSS6 hat das so funktioniert.

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

T
ThomasR Themenstarter:in
93 Beiträge seit 2007
vor 16 Jahren

naja, habe mir auch mal subversion (bzw Tortoise) angeschaut...Sehe da momentan noch nichts besseres dran, zumal ich da ja wenn ich es richtig verstehe einen Apache Server aufziehen müsste was ich nicht wirklich will...

4.506 Beiträge seit 2004
vor 16 Jahren

Hallo ThomasR,

wir haben damals lediglich festgestellt, dass VSS nicht zufriedenstellend schnell und auch fehlerhaft läuft.

SubVersion bietet die Möglichkeit über einen Apache Server eine Webschnittstelle anzubieten, aber auch ein "stinknormaler" Windows-Service tut es auch. Oder aber wie auch für VSS vorgeschlagen, eine Dateifreigabe würde hier auch funktionieren.

Wir haben Subversion deshalb im Einsatz, weil es konkurrierende Modifikationen besser handlen kann (mittels KDiff z.B.). Ich weiß von VSS6 z.B., dass ein Konkurrierendes Modell überhaupt nicht abzubilden war. [Konkurrierend bedeutet hier, dass 2 oder mehr Entwickler Modifikationen zwar in der selben Datei, aber anderen Stellen, gleichzeitig Modifikationen vornehmen].

Läuft denn VSS2005 nun mit der Dateifreigabe?

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

T
ThomasR Themenstarter:in
93 Beiträge seit 2007
vor 16 Jahren

Hallo Norman-Timo,

VSS 2005 läuft mittlerweile mit der IIs Webfreigabe. In VSS 2005 gibt es nun alternativ zum alten Modell auch ein Modell zum Zusammenführen von Dateien.

Trotzdem habe ich mich mittlerweile doch eher für Subversion entschieden. Hier gibt es nämlich die Möglichkeit, das SVN Repository bei diversen Hosting-Anbietern zu führen. Das ist für mich geschickter als einen eigenen Server aufzusetzen, weil ich nicht immer online sein will/kann...

Was meinst du eigentlich mit Dateifreigabe? Das würde doch mit SVN nur mit einer normalen Netzwerfreigabe, also über Lan gehen, nicht aber über das Internet. Oder?

So, da du dich mit SVN gut auszukennen scheinst, noch ein paar andere Fragen dazu:

  1. Ich habe momentan nur TortoiseSVN installiert, Subversion selbst ist garnicht installiert. Braucht man Subversion selbst überhaupt, wenn man eh keinen eigenen Server aufsetzen will?

  2. Ich bin mir noch nicht so recht klar, wie ich Visual Studio Projekte mit Tortoise am geschicktesten Handle... Am besten den kompletten Projektordner...oder die Quellcodedateien einzeln...oder wie. Wie macht man das so, dass der Kollege wenn er vom Server auscheckt das komplette Projekt hat? Das fand ich eben bei VSS einfacher weil man da einfach die Solution angibt und er dann alle relevanten Dateien automatisch verwaltet...

  3. Ich bin noch am überlegen, ob ich auch ankhSVN noch installieren soll. Hilft einem das beim 2. Punkt? Habe allerdings hier im Forum gelesen, dass ankhSVN nicht so besonders bugfrei sein soll...

Gruß
Thomas

4.506 Beiträge seit 2004
vor 16 Jahren

Hallo ThomasR,

ich meine mit Dateifreigabe tatsächlich die Windows-LAN-Dateifreigabe. Mir war nicht klar, dass Du über das Internet kommunizieren willst. Über Internet ist das natürlich Quatsch.

  1. Ich habe momentan nur TortoiseSVN installiert, Subversion selbst ist garnicht installiert. Braucht man Subversion selbst überhaupt, wenn man eh keinen eigenen Server aufsetzen will?

Subversion instllieren bedeutet, dass man einen Server installieren möchte. TortoiseSVN kann lokal ein eigenes Repository erstellen, also ist es nicht notwenidg Subversion zu installieren. Tortoise hat alle SVN Funktionmalität im eigenen Programm implementiert.

  1. Ich bin mir noch nicht so recht klar, wie ich Visual Studio Projekte mit Tortoise am geschicktesten Handle... Am besten den kompletten Projektordner...oder die Quellcodedateien einzeln...oder wie. Wie macht man das so, dass der Kollege wenn er vom Server auscheckt das komplette Projekt hat? Das fand ich eben bei VSS einfacher weil man da einfach die Solution angibt und er dann alle relevanten Dateien automatisch verwaltet...

Wir / Ich handhaben es in der Tat so, dass wir das gesamte Projektverzeichnis mit Ausnahme von den Unterverzeichnissen (Debug, Bin, Obj und Release) in SVN einchecken. Ebenso lassen wir alle pdb's etc weg. Man kann sich hier eine so genannte Ignore-Liste erstellen, damit er bestimmte Dateitypen ignoriert. Das Ganze handlen wir im Windows Explorer, d.h. wir schließen VS für SVN Vorgänge.

  1. Ich bin noch am überlegen, ob ich auch ankhSVN noch installieren soll. Hilft einem das beim 2. Punkt? Habe allerdings hier im Forum gelesen, dass ankhSVN nicht so besonders bugfrei sein soll...

AnkH war zumindest in der damals von mir getesteten Version sehr fehlerhaft und hat sogar Dateien zerstört. Ob das heute auch noch so ist weiß ich nicht. Ich hab im Kopf, dass hier im Forum noch ein alternatives IDE-Plugin genannt worden ist, was mit SVN funktionieren soll (habe ich aber nicht verifiziert).

Sollten noch Fragen sein, dann stelle sie ruhig, warum soll man nicht auf Erfahrungen anderer zurückgreifen?

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

3.825 Beiträge seit 2006
vor 16 Jahren

Ich kann VSS auch nicht empfehlen, dafür aber Team FoundatioN Server Source Control.

Das haben wir zwar noch nicht getestet, aber hat bei den Vorführungen von Microsoft letzte Woche gut ausgesehen.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

T
ThomasR Themenstarter:in
93 Beiträge seit 2007
vor 16 Jahren

Danke für die Antworten!

Ich habe mir gestern die (sehr gute) TortoiseSVN Hilfe noch etwas zu Gemüte geführt und komme jetzt schon sehr gut damit klar! Ist wirklich eine gute Sache und an VSS verschwende ich mittlerweile keinen Gedanke mehr 😁

Obwohl es mit TortoiseSVN alleine mit der von dir genannten Methode (ganzen Projektordner einchecken, aber ohne Bin etc.) auch problemlos geht habe ich trotzdem noch ankh installiert. Im Gegensatz zu Tortoise ist es in der Tat noch nicht so ausgereift, Gröbere Bugs habe ich allerdings noch nicht entdeckt und es ist schon ganz geschickt. Für Funktionen, die es in ankh noch nicht gibt oder schlechter realisiert sind, kann man ja trotzdem weiterhin auf Tortoise zurückgreifen.

Es gibt nur noch ein Szenario, bei dem ich noch nicht so recht weiß, wie ich es mit SVN handle:

Mein Programm muss (wegen anderer Hardware) ab und an auf einem anderen PC getestet werden. Auf diesem soll SVN nach Möglichkeit nicht installiert werden und er hat auch keinen Zugriff aufs Internet bzw. den SVN-Server.
Nun würde ich also eine Revision vom SVN exportieren und dieses exportierte Projekt per USB-Stick auf den Rechner zum Test Kopieren.
Wenn ich nun bei diesem Test auf kleinere Fehler stoße, möchte ich diese direkt auf dem Testrechner beheben.
Und hier ist nun die Frage, wie ich diese veränderte Version am geschicktesten wieder zurück ins SVN-System übertrage.

Ich hoffe das war verständlich formuliert...

Gruß
Thomas

S
324 Beiträge seit 2007
vor 16 Jahren

Es gibt auch SVN-Clients, welche man NICHT installieren muss.

Ich hatte das selbe Problem mal gehabt.
Da habe ich mir mein installiertes Rapid-SVN (http://rapidsvn.tigris.org/) genommen, in eine zip gepackt und auf dem Test-Rechner getan.

Funktionierte ohne weitere Probleme und Installation.

4.506 Beiträge seit 2004
vor 16 Jahren

Hallo ThomasR,

Es gibt nur noch ein Szenario, bei dem ich noch nicht so recht weiß, wie ich es mit SVN handle

Präferiert würde ich hier Sclot bestätigen, dass man hier Non-Installable SVN Software einsetzt.
Falls das aber auch nicht geht (z.B. fehlende Internetkonnektivität), dann hilft nur, dass man die veränderte Version wieder auf einen Entwicklungsrechner zurückkopiert, und dann von dort aus eincheckt.

Das wäre so, als wären die Änderungen an dem Entwicklungsrechner getätigt worden. Und keine Angst, die Dateien müssen nicht zwingend mit dem installierten VS auf dem Entwicklungsrechner modifiziert worden sein, wie gesagt, ein Dateiüberschreiben funktioniert ebenfalls, weil SVN erst beim Einchecken die Modifikationen übernimmt.

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

T
ThomasR Themenstarter:in
93 Beiträge seit 2007
vor 16 Jahren

Falls das aber auch nicht geht (z.B. fehlende Internetkonnektivität), dann hilft nur, dass man die veränderte Version wieder auf einen Entwicklungsrechner zurückkopiert, und dann von dort aus eincheckt.

genau das ist es ja. Es gibt von dort keinen Internetzugriff.
Wie meinst du das zurückkopieren und wieder einchecken? Wieder einschecken kann ich ja nur Ordner, die zuvor mal ausgecheckt wurden... oder wie soll das gehen?

4.506 Beiträge seit 2004
vor 16 Jahren

Hallo ThomasR,

hier mal im Detail erklärt, wie ich es gemeint habe.

Gegeben:
Rechner1 (R1) -> Entwicklungsrechner und auch SVN Client (mit INet)
Rechner2 (R2) -> Testrechner (ohne INet)

Ablaufbeschreibung:

  • R1 checkt aus dem SVN Server das Projekt aus (das bedeutet, dass die aktuellsten Dateien vom Server auf den Rechner kopiert werden, mehr nicht!)
  • Du kopierst alle Dateien (außer die .svn-Verzeichnisse) auf ein Transportmedium (CD, USB-Stick etc...)
  • Du kopierst die Dateien vom Transportmedium auf R2
  • Du spielst mit R2 herum und veränderst eventuell Dateien aus Deinem Projekt
  • Jetzt wieder retour: Kopieren der veränderten Dateien auf Transportmedium
  • Kopieren der Dateien vom Transportmedium auf R1 und überschreibst alle Dateien, die ausgecheckt sind
  • Du machst ein SVN-Commit auf R1

Eventuell hast Du noch ein kleines Verständnisproblem mit SVN:

  • Ein "Auschecken" bedeutet NICHT, dass Dateien auf dem SVN Server gesperrt werden.
  • Auschecken bedeutet nur, dass Dateien vom SVN Server kopiert werden und dass die .svn-Ordner angelegt werden, die Modifikationen und Serverstand zwischenspeichern
  • Ein "Einchecken" bedeutet danach analog NICHT, dass die Dateien auf dem Server wieder freigegeben werden.
  • Einchecken bedeutet, dass SVN ein Vergleich zwischen dem aktuellen Serverstand im Vergleich zu dem Serverstand beim auschecken macht, und danach Deine Modifikationen versucht auf den Server zu übertragen
  • SVN ist ein konkurrierendes Verfahren, was bedeutet, dass mehrere Entwickler GLEICHZEITIG an ein und derselben Codestelle Veränderungen vornehmen könnten. (Es liegt an Eurer Koordination das vielleicht zu vermeiden 😉
  • SVN deckt Konflikte bei Modifikationen automatisch auf, und versucht sie aufzulösen. Sollte eine Auflösung nicht möglich sein, besteht dei Notwendigkeit manuellen Eingreifens, was aber durch ein gutes Diff-Tool ermöglicht wird.

Ich hoffe ich konnte Dir etwas SVN-Philosophie näher bringen. Ich weiß, es ist eine andere Denkweise als VSS, allerdings behaupte ich, jeder Entwickler der SVN kennengelernt hat bevorzugt diese Art und Weise vor der von VSS

Viele Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

T
ThomasR Themenstarter:in
93 Beiträge seit 2007
vor 16 Jahren

Hallo Norman-Timo,

ich hatte das Prinzip von SVN schon richtig verstanden. Ich hatte nur irgendwie gehofft, dass dieser Schritt:

  • Jetzt wieder retour: Kopieren der veränderten Dateien auf Transportmedium
  • Kopieren der Dateien vom Transportmedium auf R1 und überschreibst alle Dateien, die ausgecheckt sind

etwas "sauberer" realisierbar ist. so muss ich ja jede Datei einzeln zum überschreiben zurückkopieren. Ich kann nichtmal den ganzen Projektordner in einem zurückkopieren, da sonst ja durch das überschreiben des ganzen Ordners auch die .SVN Folder weg wären...

Gruß
Thomas

F
21 Beiträge seit 2008
vor 16 Jahren

Hallo ThomasR,

um das Projekt auf den Testrechner zu bekommen, kannst du einfach die ganze working copy, also das ganze ausgecheckte Verzeichnis, auf den Testrechner kopieren und dort modifizieren. Es ist nicht nötig, die .svn-Verzeichnisse auszulassen.
Zum Übertragen der Änderungen ins Subversion kannst du das Verzeichnis des Testrechners wieder auf den Ursprungsrechner kopieren (wieder komplett), und zwar am besten in ein temporäres Verzeichnis, und dann die Änderungen einchecken (commit). Oder du arbeitest auf einem USB-Stick, dann kannst du direkt von diesem aus einchecken. In beiden Fällen machst du anschließend auf deiner Ursprungs-working-copy ein Update, wodurch die Änderungen, die du gerade eingecheckt hast, in deine Ur-working-copy eingepflegt werden. Die temporären Kopien kannst du anschließend entsorgen.

Gruß, frank#

4.506 Beiträge seit 2004
vor 16 Jahren

Hallo ThomasR,

Ich kann nichtmal den ganzen Projektordner in einem zurückkopieren, da sonst ja durch das überschreiben des ganzen Ordners auch die .SVN Folder weg wären...

naja deshalb habe ich ja auch geschrieben:

  • Du kopierst alle Dateien (außer die .svn-Verzeichnisse) auf ein Transportmedium (CD, USB-Stick etc...)

frank# hat auch eine Alternative angeboten, wobei ich denke, dass meine vorgeschlagene Methode einmal das Kopieren des Projektordners erspart bzw. das Anlegen eines temporären Projektordners wegfällt.

Aber es funktioniert bei beiden Varianten. Grundsätzlich ist es aber immer ein Hindernis und durch die Brust ins Auge, wenn auf dem Rechner, auf dem Modifikationen vorgenommen werden kein Zugang zum Versionsverwaltungsprogramm besteht. Und da ist es egal welches Versionsverwaltungsprogramm genutzt wird (denke ich zumidest).

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”