Autor Beitrag
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18724
Erhaltene Danke: 1627

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 11.02.14 16:07 
Einfacher ist es dennoch direkt in Delphi...

Tortoise habe ich trotzdem zusätzlich drauf, das macht Sinn. Ändert aber nix dran, dass es in Delphi direkt gehen sollte.

Da du das Hinzufügen direkt machen kannst, hast du das aber ja wohl auch, denn sonst hättest du ja nicht vorher auschecken können und ohne kann man nichts hinzufügen. Hast du die SVN Version in Delphi auch parallel aktualisiert? Sonst ist das Repository Format nicht kompatibel. Prinzipiell sollte das analog wie in der oben genannten Anleitung für XE5 auch in XE4 gehen:
www.entwickler-ecke....ewtopic.php?p=683834

Probier doch einfach einmal Datei --> Aus der Versionskontrolle öffnen..., gib die URL an und klicke dann rechts auf den Repo Browser. Wenn du dann auf Load klickst, klappt das?
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 458
Erhaltene Danke: 90

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Di 11.02.14 22:21 
Der Repo-Browser crasht Delphi genauso weg. Allerdings sind mir noch zwei DInge aufgefallen, die ich morgen nochmal testen werde. Als erstes funktioniert DNS in meinem LAN nicht (dunno why), also versuche ich es nochmal mit der IP-Adresse anstelle des Rechnernamens. Und als zweites werde ich natürlich das SVN-Modul in Delphi aktualisieren. Ich wußte doch, das ich da noch was vergessen hatte...

Wie dem auch sei, mit Tortoise funktionierts echt einwandfrei und mit ganzen 2 Mausklicks.

Eine Frage bleibt mir allerdings: Genügt es, einfach nur zu Comitten ? Dann könnte ich in der Anfangsphase, wo ich das auf sicher vergessen werde, tags drauf ja nachholen, ohne meine gemachten Änderungen auszulöschen.

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18724
Erhaltene Danke: 1627

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 11.02.14 22:52 
Wenn ich meine Änderungen einchecke bzw. committe, schaue ich jede Datei und jede Änderung durch (sprich per Doppelklick auf die Dateien im Commit-Dialog) und prüfe sie noch einmal im Kopf. Und ich sorge dafür, dass ich jede Änderung getrennt abschicke, damit der Kommentar auch gezielt zu der Änderung zugeordnet ist.

Wenn man nur alleine an einem Projekt arbeitet und nur eine Version pflegt, ist das sicher nicht so wichtig wie im Team. Es erleichtert die Verwaltung aber dennoch.
Heißt:
Ich würde nicht tageweise committen, sondern gleich richtig pro Änderung bzw. Feature. Dann vergisst man das auch nicht so leicht, wenn man es so bei kleineren Änderungen auch öfter am Tag macht. ;-)
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 458
Erhaltene Danke: 90

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Mi 12.02.14 00:29 
Ich bin schon mal einen Schritt weiter. Wenn ich statt eines Rechnernamens die IP-Adresse angebe, dann crasht Delphi immerhin schon mal nicht mehr. Da muß wohl noch ein Exception-Handler nachgezogen werden ;)

Trotzdem funktioniert das ganze nicht. Ich habe auf dem SVN-Server ein Repository namens "ARC" eingerichtet. Dieses ist natürlich leer, denn die Sourcen sollen ja da erstmals hinein. Nun öffne ich in XE4 mein Projekt, der Rechtsklick im Projektmanager "Zur Versionskontrolle hinzufügen". Ich gebe dann die URL an (https://ipaddr/svn/ARC), prüfe das alle nötigen Files markiert sind und sage dann "Importieren".

Delphi antwortet darauf mit zwei Fehlern:
'https://ipaddr/svn' isn't the same repository as 'https://ipaddr/svn/ARC' und
ausblenden Quelltext
1:
'D:\DXE4Projects' is not a working copy					


Allerdings habe ich das schon angemahnte Update der Delphi-internen SVN-Unterstützung noch nicht gemacht, womöglich ist das der Grund für den Error.

Zitat:
Wenn man nur alleine an einem Projekt arbeitet und nur eine Version pflegt, ist das sicher nicht so wichtig wie im Team. Es erleichtert die Verwaltung aber dennoch.
Heißt:
Ich würde nicht tageweise committen, sondern gleich richtig pro Änderung bzw. Feature. Dann vergisst man das auch nicht so leicht, wenn man es so bei kleineren Änderungen auch öfter am Tag macht. ;-)


Noch arbeite ich allein an den Projekten. Aber einer meiner Auftraggeber, der gern mit mir die nächsten Jahre zusammenarbeiten will (die liebsten Kunden eines jeden Freelancers, aren't they ?), hat schon gedroht, eventuell mit einsteigen zu wollen. Allerdings nur in äußerst begrenztem Maße, hier mal ne Farbe ändern oder da ne Button-Beschriftung. Ergo muß ein SVN her, und umso froher schaute ich drein, als ich dieses Tut hier sah.

ich werde mir diese "Small Step Commit"-Strategie auch angewöhnen. Wird sich ganz sicher mal als nützlich erweisen.

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 868
Erhaltene Danke: 144

Win7
VS 2013, VS2015
BeitragVerfasst: Mi 12.02.14 00:52 
Ich glaube die normale Reihenfolge ist ungefähr so:

1. Repo anlegen
2. Working Copy auschecken
3. Dateien hinein
4. Commit

D.h. insbesondere erstmal eine leere working copy vom server holen! Versuch das mal :wink:
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18724
Erhaltene Danke: 1627

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 12.02.14 00:54 
Der zweite Fehler ist nur eine Folge des ersten.

Ich würde dir raten das Repository einmal ohne Delphi im Windows Explorer auszuchecken und die Dateien auch dort hinzuzufügen wie ich es auch in der Beschreibung hier im Thread gemacht habe.
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 458
Erhaltene Danke: 90

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Mi 12.02.14 01:56 
Ähnlich wie user profile iconjfheins es beschrieben hat, habe ich das auch "manuell" gemacht. Unangenehm ist dabei nur, das TortoiseSVN auf Teufel komm' raus ein leeres Verzeichnis zum auschecken haben will. Zur Übernahme eines bestehenden Projektes muß ich dann:

1. Repo anlegen
2. Verzeichnis des bestehenden Projektes umbenennen (D:\DXE4Projects\ARC -> D:\DXE4Projects\ARCx)
3. Verzeichnis D:\DXE4Projects\ARC neu anlegen
4. Auschecken
5. Files von D:\DXE4Projects\ARCx nach D:\DXE4Projects\ARC verschieben
6. D:\DXE4Projects\ARCx löschen (ist nun leer)
7. Add und dann Commit

Umständlich, wie ich meine, aber so what. Ich dachte, mit Delphi direkt wäre das einfacher, aber da hatte ich wohl zu große Hoffnungen ;) Egal, hauptsache ich kriegs ins SVN.

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18724
Erhaltene Danke: 1627

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 12.02.14 11:31 
Du kannst auch einfach irgendwohin auschecken und von dort das versteckte Verzeichnis .svn in das Zielverzeichnis verschieben. Danach kannst du dort ganz normal Add usw. aufrufen.

// EDIT:
Wir haben allerdings die Verzeichnisstruktur im Repository neu angelegt, besser als in dem alten CVS-Repository, von dem aus wir migriert haben.
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 485
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Mo 16.06.14 23:44 
Halli und Hallo.

Vielen Dank für diese schöne Anleitung, Sebastian.

Eine Frage habe ich jetzt noch.
Wie kann ich eine bestehende Versionsverwaltung löschen, um die dann erneut aufzubauen?

Also ich möchte alle Revisionen und auch die erste Head auf einen neuen Head setzen.

Danke und nette Grüße
Mathias

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18724
Erhaltene Danke: 1627

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 17.06.14 07:53 
Das einfachste dürfte sein das Repository im SVN Server Manager zu löschen und neu anzulegen.
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 485
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Di 17.06.14 20:25 
Das ganze ist dann doch komischerweise nicht ganz so einfach gewesen.

Auf einmal hatte dann mein Projektordner einen neuen Unterordner bekommen, in dem eine Kopie des Projektes drin war.

Die ganze Sache ist dann doch irgendwie sehr konfus.

Bisher bin ich mit meinem RAR-Backup eigentlich auch ganz gut gefahren - klar, ohne DIFF. Aber im Zweifel wusste ich, was ich mache. Bei SVN bin ich im Moment noch ein wenig überfordert ;)

Liebe Grüße

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18724
Erhaltene Danke: 1627

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 17.06.14 22:47 
Dann hast du dorthin ausgecheckt vermute ich. Wenn du im Kontextmenü des Ordners unter TortoiseSVN auf Repository Browser gehst, siehst du auch wie die Dateien im Repository liegen. Die Struktur wird dann auch 1:1 so in den Zielordner gepackt, wenn du auscheckst.
Sylar
Hält's aus hier
Beiträge: 4
Erhaltene Danke: 2



BeitragVerfasst: Do 19.02.15 12:03 
Sehr schöne Einführung!

Danke!

Für diesen Beitrag haben gedankt: jaenicke
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Do 28.07.16 08:32 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconOlafSt hat folgendes geschrieben Zum zitierten Posting springen:
Keinigkeit 1: Was ist mit bestehenden Projekten ?

So habe ich mich am Jahresanfang auf eigene Füße gestellt und trage mich schon länger mit dem Gedanken, meine Projekte auf einem kleinen Serverchen in ein SVN zu stecken. Allerdings sind dies fast ausschließlich schon laufende Dinge, stellenweise über Jahre... Wie behandelt man also schon bestehende Projekte ?
Da gibt es eigentlich nichts Besonderes. Wenn du bisher ganz ohne Versionsverwaltung arbeitest, checkst du die Projekte einfach in seinem jetzigen Stand in ein Repository ein und arbeitest von da an damit.

Oder gibt es noch konkrete andere Fragen dazu?

Denn wenn du bisher keine Versionsinformationen zu bestimmten Änderungen des Quelltextes hast, kannst du die ja auch nicht nachträglich generieren. Insofern kannst du nur einen Stand "aktuell" einchecken und von da die einzelnen Änderungen protokollieren.


Wenn ich die vorhandenen Delphiprojekte auf der Festplatte so anschaue, dann ist die Verzeichnisstruktur laut default immer so, dass Quelltexte und sonstiges im Verzeichnis liegen, in den Unterverzeichnissen Win32 und Win64 liegen die Kompilate und dann halt noch das Verzeichnis _history mit den Files, die Delphi da hin legt.

Du schreibst, dass ich nichts weiter tun muss als Vorhandenes einzuchecken ... hm, aber was? Das komplette Verzeichnis macht keinen Sinn. Wie gehe ich denn da vor?
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1569
Erhaltene Danke: 273


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 28.07.16 08:40 
Du solltest alles einchecken, was benötigt wird, um den Rest wieder her zu stellen (also z.B. keine Kompilate einchecken).
Die History brauchst Du auch nicht.

Alles was Du nicht brauchst, kannst Du auf "ignore" setzen.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Do 28.07.16 08:53 
user profile iconNersgatt hat folgendes geschrieben Zum zitierten Posting springen:
Du solltest alles einchecken, was benötigt wird, um den Rest wieder her zu stellen (also z.B. keine Kompilate einchecken).
Die History brauchst Du auch nicht.

Alles was Du nicht brauchst, kannst Du auf "ignore" setzen.


Hm, ich bin bislang leider noch komplett mit dem Zeugs überfordert, mein Delphi meckert was von "ich kann den Tunnel nicht zu svn+ssh" aufbauen und crasht in verschiedenen svn-dlls, wenn ich beim Projekt rechte Maus klicke "zur Versionskontrolle hinzufügen". Versuche ich es über Tortoise muss ich mühsam jede einzelne Datei anklicken, die ich nicht einchecken will ... ich stell seit 2 Tagen das komplette Internet auf den Kopf, ist zum heulen, wenn man so an seine Grenzen stößt und im Internet nur so wenig zum Thema findet.

Mein Linux-Kollege hat mit SVN eingerichtet, der Aufbau des Aufrufs über Tortoise ist "svn+ssh://[Benutzer]@[IP-Adresse]/data/delphi/trunk", kann das Delphi vielleicht nicht mit dem ssh? Oder habe ich gestern beim rungemurkse laut Sebastians Anleitung wie man XE5 modifiziert was zerschossen?
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18724
Erhaltene Danke: 1627

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 28.07.16 08:56 
Gibt es wirklich jemanden, der die voreingestellten Ausgabeverzeichnisse nutzt?

Du kannst in Tortoise einfach mit rechts auf die Verzeichnisse Win32, _history usw. klicken und dann auf ignore. ;-)
Dann erscheinen die auch nicht mehr in der Liste.
Sinnvoll ist das zum Beispiel (in der Regel) auch pauschal für .dcu Dateien.

Die in Delphi integrierte Funktion würde ich zum ersten Hinzufügen nicht versuchen.
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Do 28.07.16 09:14 
Also ich hab auf meiner C-Platte nun ein Verzeichnis "delphi" mit grünem Haken, das hat ein Unterverzeichnis .svn, das ist wohl dann das ausgecheckte repository, wenn ich das richtig verstanden habe.

Ich gehe mal davon aus, dass ich alle Projektordner nun erst hier reinkopieren, um sie einchecken zu können. Wenn ich nun auf einem Projektordner "add" klicke, muss ich einzeln alles abhaken was ich nicht will. Gehe ich vor dem Add zum Win32-Verzeichnis, gibts kein ignore.

Wäre es nicht sinnvoll jetzt gleich alles richtig zu trennen, bevor man sich mit dem ignore-Kram rumschlägt? Wenn ja ... wie trenne ich sinnvoll?

P.S. gibt es eine deutsche Hilfe oder Version zu Subversion/Tortoise, um mal zu kapieren was da was macht?
erfahrener Neuling
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 232
Erhaltene Danke: 19

Win 7, Win 10
C#, ASP-MVC (VS 2017 Community), MS SQL, Firebird SQL
BeitragVerfasst: Do 28.07.16 09:40 
EDIT: Kommentar gelöscht


Zuletzt bearbeitet von erfahrener Neuling am Mo 01.08.16 13:53, insgesamt 1-mal bearbeitet
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18724
Erhaltene Danke: 1627

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 28.07.16 10:50 
user profile iconbaumina hat folgendes geschrieben Zum zitierten Posting springen:
Ich gehe mal davon aus, dass ich alle Projektordner nun erst hier reinkopieren, um sie einchecken zu können.
Kleiner Trick:
Du kannst auch den Unterordner .svn in das Verzeichnis mit deinen Projekten schieben. ;-)
Dann kannst du direkt hinzufügen. Das ist dann als hättest du dorthin dein Repository ausgecheckt.

Vielleicht hilft dir die globale ignore-Liste. Wenn du im Kontextmenü unter Tortoise SVN auf Settings gehst, findest du dort gleich auf der ersten Seite das "Global ignore pattern". Füge dort einfach mal hinzu: __history __recovery Win32 Win64