Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Projekt clonen und separat weiterentwickeln (https://www.delphipraxis.net/183309-projekt-clonen-und-separat-weiterentwickeln.html)

HJay 30. Dez 2014 14:00

Projekt clonen und separat weiterentwickeln
 
Delphi XE7

Ich würde gerne ein vorhandenes Projekt clonen und separat weiterentwickeln. Irgendwie schwieriger als gedacht...

Ich möchte das Projekt in einen neuen Ordner kopieren, dem Projekt gerne einen neuen Namen geben (dpr, main program) und dann vollständig unabhängig von dem alten Projekt fortentwickeln, ohne die Gefahr von versehentlichen Überschneidungen.

Welche Dateien muss und was DARF ich dafür löschen oder verändern? Nach dem bloßen Kopieren ist der neue Ordner immer noch mannigfach mit dem Ursprungsprojekt verknüpft (dproj, dproj.local, dsk, ...).

Und wie gebe ich dem Projekt am einfachsten einen neuen Namen (dpr, main program)?

Was sollte ich noch beachten?

Vielen Dank im voraus!

alda 30. Dez 2014 14:11

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von HJay (Beitrag 1284989)
Und wie gebe ich dem Projekt am einfachsten einen neuen Namen (dpr, main program)?

Einfach das Projekt öffnen und im Projektmanager Rechtsklick auf DeinProjektName.Exe machen -> umbenennen. Das nennt erstmal Dein Projekt, als auch die Projektdateien (dproj und dpr) um.

Zitat:

Zitat von HJay (Beitrag 1284989)
Welche Dateien muss und was DARF ich dafür löschen oder verändern? Nach dem bloßen Kopieren ist der neue Ordner immer noch mannigfach mit dem Ursprungsprojekt verknüpft (dproj, dproj.local, dsk, ...).

Was genau ist denn mit dem Ursprungsprojekt verknüpft?

Zitat:

Zitat von HJay (Beitrag 1284989)
Was sollte ich noch beachten?

Du solltest beachten das überall relative Pfade angegeben wurden, sowohl in den Suchpfaden (je nach dem wie Deine Struktur ist) als auch in deinen verwendeten Units (im Projektmanager) - die Pfade siehst Du in der dproj/dpr Datei.

hathor 30. Dez 2014 14:35

AW: Projekt clonen und separat weiterentwickeln
 
Einfach Ordner kopieren z.B. mit dem Explorer - Rechtsklick: Kopieren,
an gewünschter Stelle: Einfügen

ALLES bezieht sich auf die Kopie im NEUEN Ordner!
Ordner kann dann umbenannt werden, z.B. NEUERNAME-20141230
Danach entfernen:
- Project1.~dsk
- Project1.dproj
- Project1.dsk
- Project1.identcache
- Project1.dproj.local
- Project1.otares
Danach XE7 starten und Datei - Projekt öffnen - neues Verzeichnis auswählen
- Project.dpr öffnen
- Projekt speichern unter NEUERNAME.dproj
Alles andere wird automatisch umbenannt.

Bernhard Geyer 30. Dez 2014 15:11

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von hathor (Beitrag 1284997)
Einfach Ordner kopieren z.B. mit dem Explorer - Rechtsklick: Kopieren, Einfügen
Ordner kann dann umbenannt werden, z.B. NEUERNAME-20141230
Danach entfernen:
- Project1.~dsk
- Project1.dproj
- Project1.dsk
- Project1.identcache
- Project1.dproj.local
- Project1.otares
Danach XE7 starten und Datei - Projekt öffnen - neues Verzeichnis auswählen
- Project.dpr öffnen
- Projekt speichern unter NEUERNAME.dproj
Alles andere wird automatisch umbenannt.

Bei MSBuild-Basierten Delphis (ab D2009?) ist dproj nicht zu löschen und stattdessen kann man die *.dof, *.cfg und *.res wegschmeißen. Die Relevanten Infos sind in der dproj-Datei gespeichert und die anderen Dateien werden daraus gebildet bzw. sind mittlerweile obsolet.

hathor 30. Dez 2014 16:23

AW: Projekt clonen und separat weiterentwickeln
 
Sollte ich hinzufügen, dass sich ALLES auf die Kopie im NEUEN Ordner bezieht!!!???

HJay 30. Dez 2014 17:16

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von hathor (Beitrag 1284997)
Ordner kann dann umbenannt werden [...] Danach entfernen [...] Projekt speichern unter NEUERNAME.dproj

Vielen Dank! Super!

Das hat geklappt und scheint zu funktionieren. Im altem Projektordner verändert sich nichts mehr und das neue Projekt kompiliert mit neuem Namen.

Nach Öffnen und Speichern muss man dann noch einmal die neu angelegte OldName.dproj löschen und die OldProj.dpr dann entfernen, so dass nur noch NewProj.* Dateien vorhanden sind.

Wäre eigentlich ein Vorschlag an die Delphi-Entwickler, hier eine einfache Clonen-Funktion zu schaffen, die alles sicher und automatisch erledigt.. wäre ja für die ein Leichtes...

HJay 30. Dez 2014 17:17

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1284998)
Bei MSBuild-Basierten Delphis (ab D2009?) ist dproj nicht zu löschen

...was soll denn passieren? Es scheint geklappt zu haben...?

Welches Vorgehen schlägst du stattdessen für das Clonen vor?

hathor 30. Dez 2014 17:50

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von HJay (Beitrag 1285002)
...was soll denn passieren? Es scheint geklappt zu haben...?

Falls das Erscheinungsbild geändert worden ist, geht es verloren.

Es muss neu ausgewählt werden über:
- Projekt
- Optionen
- Anwendung - Erscheinungsbild

HJay 30. Dez 2014 17:58

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von hathor (Beitrag 1285003)
Falls das Erscheinungsbild geändert worden ist, geht es verloren.

Ach so, das ist kein Problem. Habe ich noch nie verwendet...

Der schöne Günther 31. Dez 2014 20:06

AW: Projekt clonen und separat weiterentwickeln
 
Die GANZEN Projekteinstellungen für Debug/Release-Builds stecken da doch auch drin: Compilereinstellungen, Ausgabepfade, Build-Ereignisse, ...

Wenn du die dproj löscht geht das alles auf Standardeinstellungen zurück.

stahli 1. Jan 2015 12:59

AW: Projekt clonen und separat weiterentwickeln
 
Ein genereller Tipp noch:

Du solltest die alten Ordner (temporär) und die alten DCU´s komplett löschen und das neue Projekt erzeugen.
So kannst Du rel. sicher sein, dass weder IDE noch der Compiler auf irgendwelche alten Dateien zugreift.

Ich hatte schon Effekte, dass ich zwar meine Quelltexte bearbeitet habe, der Compiler aber völlig andere Units kompiliert hat.
Die Kommandozeilenpunkte passten dann nicht mehr zum Quelltext.

Uwe Raabe 1. Jan 2015 13:16

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von HJay (Beitrag 1285001)
Nach Öffnen und Speichern muss man dann noch einmal die neu angelegte OldName.dproj löschen und die OldProj.dpr dann entfernen, so dass nur noch NewProj.* Dateien vorhanden sind.

Wenn du das Projekt im Projektmanager umbenannt hast, anstatt es unter einem anderen Namen zu speichern, sollte das nicht mehr nötig sein.

Zitat:

Zitat von HJay (Beitrag 1285001)
Wäre eigentlich ein Vorschlag an die Delphi-Entwickler, hier eine einfache Clonen-Funktion zu schaffen, die alles sicher und automatisch erledigt.. wäre ja für die ein Leichtes...

Diese Funktionalität gehört meiner Meinung nach eher zum Versionskontrollsystem, wo es vermutlich auch schon zu finden ist.

Stevie 1. Jan 2015 16:28

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1285105)
Diese Funktionalität gehört meiner Meinung nach eher zum Versionskontrollsystem, wo es vermutlich auch schon zu finden ist.

Dat dachte ich mir auch schon bei der Eingangsfrage.

HJay 4. Jan 2015 22:02

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1285080)
Die GANZEN Projekteinstellungen für Debug/Release-Builds stecken da doch auch drin: Compilereinstellungen, Ausgabepfade, Build-Ereignisse, ...

Wenn du die dproj löscht geht das alles auf Standardeinstellungen zurück.

Welches Vorgehen empfiehlst du denn?

Es muss doch für diese simple Aufgabe eine geradlinige Lösung geben... braucht das nicht jeder ab und zu?

Stevie 4. Jan 2015 22:07

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von HJay (Beitrag 1285357)
Es muss doch für diese simple Aufgabe eine geradlinige Lösung geben... braucht das nicht jeder ab und zu?

Source Code gehört in nen VCS. Und wenns da drin ist, dann branched du und der Drops is gelutscht. ;)

alda 5. Jan 2015 02:32

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von Stevie (Beitrag 1285358)
Zitat:

Zitat von HJay (Beitrag 1285357)
Es muss doch für diese simple Aufgabe eine geradlinige Lösung geben... braucht das nicht jeder ab und zu?

Source Code gehört in nen VCS. Und wenns da drin ist, dann branched du und der Drops is gelutscht. ;)

Ich hätte den TE eher so verstanden, dass er einen Fork machen möchte -> Also eine Kopie des aktuellen Repos in einem neuen Repo.

Stevie 5. Jan 2015 07:14

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von alda (Beitrag 1285364)
Zitat:

Zitat von Stevie (Beitrag 1285358)
Zitat:

Zitat von HJay (Beitrag 1285357)
Es muss doch für diese simple Aufgabe eine geradlinige Lösung geben... braucht das nicht jeder ab und zu?

Source Code gehört in nen VCS. Und wenns da drin ist, dann branched du und der Drops is gelutscht. ;)

Ich hätte den TE eher so verstanden, dass er einen Fork machen möchte -> Also eine Kopie des aktuellen Repos in einem neuen Repo.

Er will nen Projekt kopieren, ob nu Branch oder Fork ist dabei egal, am Ende hat er ne Kopie.

Bernhard Geyer 5. Jan 2015 09:13

AW: Projekt clonen und separat weiterentwickeln
 
Zitat:

Zitat von Stevie (Beitrag 1285380)
Zitat:

Zitat von alda (Beitrag 1285364)
Zitat:

Zitat von Stevie (Beitrag 1285358)
Zitat:

Zitat von HJay (Beitrag 1285357)
Es muss doch für diese simple Aufgabe eine geradlinige Lösung geben... braucht das nicht jeder ab und zu?

Source Code gehört in nen VCS. Und wenns da drin ist, dann branched du und der Drops is gelutscht. ;)

Ich hätte den TE eher so verstanden, dass er einen Fork machen möchte -> Also eine Kopie des aktuellen Repos in einem neuen Repo.

Er will nen Projekt kopieren, ob nu Branch oder Fork ist dabei egal, am Ende hat er ne Kopie.

Die Frage ist aber ob das neue Projekt so viel mit dem alten Projekt gemeinsam hat das es sinnvoll ist diese von der gleichen Unit/Projekt CVS-Technisch abzuleiten.
Ich kopiere auch immer bestehende Units um schon ein paar Grundeinstellungen zu haben (die ich bisher nicht sinnvoll in eine TMyBaseForm unterbringen konnte).

HJay 5. Jan 2015 12:40

AW: Projekt clonen und separat weiterentwickeln
 
Ich möchte ein NEUES UNABHÄNGIGES Projekt erzeugen, das mit dem alten nichts mehr zu tun haben soll. Daher auch die Umbenennung und separate Weiterentwicklung.

Es soll kein Branch, Fork oder sonstwas sein. Einfach ein neues Projekt, das völlig unabhängig weiterentwickelt werden kann -- zum Beispiel auch von jemand anderem, von mir selbst oder sonstwie.

Im übrigen gebe ich zu, dass ich kein Versionskontrollsystem verwende und bisher einfach selbst Backups anlege. Ich finde es irgendwie deplaziert, dass das hier so ausführlich diskutiert wird, anstatt einfach auf meine Frage zu antworten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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