AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Versionskontrollsystem einrichten (GIT) - Ideen
Thema durchsuchen
Ansicht
Themen-Optionen

Versionskontrollsystem einrichten (GIT) - Ideen

Ein Thema von bernau · begonnen am 11. Mär 2024 · letzter Beitrag vom 13. Mär 2024
Antwort Antwort
Seite 2 von 2     12   
freimatz

Registriert seit: 20. Mai 2010
1.446 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Versionskontrollsystem einrichten (GIT) - Ideen

  Alt 12. Mär 2024, 16:41
Das alles hatte aber den Nachteil, das Hg ins schleudern gekommen ist. Dateien umbenennen UND Verschieben mochte es nicht so. (Kann auch sein, dass ich falsch bedient haben) deshalb habe ich irgenwann das ganze Repository entfernt, weil es mehr gestört hat, als genutzt.
Da kommt git nach meiner Erfahrung gut damit zurecht. Nur allzuviel noch zusätzlich ändern macht Probleme. (Den unit Namen muss man ja meist anpassen.)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.084 Beiträge
 
Delphi 12 Athens
 
#12

AW: Versionskontrollsystem einrichten (GIT) - Ideen

  Alt 12. Mär 2024, 18:02
Jupp, verschieben und änderungen sollte man in getrennten Commits ablegen.

GIT will das unbedingt automatisch machen.
SVN hat sich genau gemerkt welche Datei zu welcher kopiert/verschoben wurde,
aber GIT speichert das nicht und verlinkt es zur Laufzeit, also macht "life" aus einem Delete und Add ein "Move", was dann aber nicht immer der Wirklichkeit entsprechen muß, wenn die Heuristik es nicht hinbekommt Quelle und Ziel richtig zusammenzubekommen.
Sei es weil mehrere gleiche/ähnliche Dateien verschoben wurden, oder weil gleichzeitig noch Änderungen in den Dateien enthalten sind. Sowie bei "zu viel auf einmal" schaltet sich die Heuristik auch ab.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Mär 2024 um 18:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.592 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Versionskontrollsystem einrichten (GIT) - Ideen

  Alt 13. Mär 2024, 11:23
Ich finde es schwierig, wenn man gemeinsame Units nicht im gleichen Repository hat. Denn auch die passt man ja mal an. Wenn man dann einen bestimmten Stand herstellen möchte, muss man erst genau schauen, dass man den richtigen Stand in beiden Repositorys auswählt. Und wenn man eine größere Änderung macht, die in einen separaten Branch gehört, bis sie fertig ist, muss man diesen Branch ggf. in zwei Repositorys pflegen.

Ich verstehe natürlich auch die andere Seite und man kann natürlich auch mit Submodules viel machen, aber persönlich gefälllt mir ein großes Repository mit einem definierten Stand für alle beteiligten Units am besten.

Da kommt git nach meiner Erfahrung gut damit zurecht. Nur allzuviel noch zusätzlich ändern macht Probleme. (Den unit Namen muss man ja meist anpassen.)
Darum habe ich mir angewöhnt zuerst zu verschieben und den Dateinamen anzupassen (ggf. in getrennten Commits) und dann den Unitnamen in der Datei anzupassen... (indem ich beim Einchecken die Änderung zurückgenommen und nach dem Commit wieder gespeichert habe)
Das ist zwar etwas mehr Aufwand, aber dafür ist die History sauberer.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.084 Beiträge
 
Delphi 12 Athens
 
#14

AW: Versionskontrollsystem einrichten (GIT) - Ideen

  Alt 13. Mär 2024, 12:28
Nunja, man muß die Repository halt entsprechend versionieren (z.B. als Branches oder Tags), und das bei "problematischen" Änderungen auch immer aktuell halten
dann kann jedes Programm angeben, welche Version genommen werden soll,

aber dann kann es nicht über ein gemeinsames Verzeichnis gehen,
sondern jeder muß seine eigene Kopie (clone) besitzen, wo dann die passende Version ausgecheckt werden kann.

Bei GIT-SubModulen ist eh immer nur der RepoName angegeben (.gitmodules) die CommitID gespeichert (ID des SubModules, als Eigenschaft am Verzeichnis, wo es eingebunden ist wird im Commit gespeichert)
Schade, dass man nicht auch sagen kann "nimm das Aktuelle dieses Branches", bzw. "nimm diesen TAG, wo auch immer er grade steht". (gefühlt war das im SVN besser geregelt)
Allerdings wird das nur beim Clonen (ersten runterladen) beachtet. Ändert sich die gespeicherte CommitID im Repo, dann wird es beim Checkout nicht angepasst, sowie auch wenn man anschließend selbst im SubModul den Branch ändert, bzw. anderen Commit auscheckt, dann stimmt es nicht mit der "Vorgabe" überein ... zumindest wird aber im DIFF angezeigt, dass die CommitID dieses "Verzeichnisses" nicht übereinstimmt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (13. Mär 2024 um 12:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.455 Beiträge
 
Delphi 12 Athens
 
#15

AW: Versionskontrollsystem einrichten (GIT) - Ideen

  Alt 13. Mär 2024, 12:50
Allerdings wird das nur beim Clonen (ersten runterladen) beachtet.
Ich bin mir nicht sicher, ob wir dasselbe meinen, aber bei Fork gibt es eine Einstellung Update submodules automatically on checkout. Damit werden die Submodules beim Wechsel eines Branches oder einer Revision auf den passenden Stand nachgezogen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.592 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Versionskontrollsystem einrichten (GIT) - Ideen

  Alt 13. Mär 2024, 12:55
Das macht bei einem größeren Team schon Sinn, aber wenn nur wenige Entwickler das nutzen, finde ich es viel einfacher, wenn man ein Repository hat, wo dann ein Branch auch direkt die gemeinsamen Units umfasst.

Das ist aber auch ein Thema, bei dem es viele verschiedene Meinungen, Gewohnheiten und Vorlieben gibt. Insofern muss man da seinen eigenen Weg finden.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz