AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Mercurial Struktur aufbauen (Benötige Hilfe)
Thema durchsuchen
Ansicht
Themen-Optionen

Mercurial Struktur aufbauen (Benötige Hilfe)

Ein Thema von RWarnecke · begonnen am 11. Jun 2014 · letzter Beitrag vom 15. Mai 2015
Antwort Antwort
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
322 Beiträge
 
Delphi 12 Athens
 
#1

AW: Mercurial Struktur aufbauen (Benötige Hilfe)

  Alt 1. Jul 2014, 15:51
Wir hier haben gemeinsame Units, in den Produkt-/Projektübergreifend Klassen und Methoden existieren, die das eine oder andere erledigen, was eben alle brauchen.
Hier gebe ich Dir recht, da sollte man die gemeinsamen Units in ein Repository stecken.
Ein Beispiel bei mir ist der About-Dialog, den alle Programme aus einem gemeinsamen Codelib-Pfad einbinden. Dieser ist in einem sepearaten Repo. Darin befindet sich weiterhin die Unit, welche OS-Versionen ermittelt.

Grüße,
Christoph
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.216 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Mercurial Struktur aufbauen (Benötige Hilfe)

  Alt 1. Jul 2014, 16:21
Ich habe wahnsinnig viel gemeinsam genutzten Code. Es ist in zwei Libraries (=Repos) aufgeteilt:
  1. Allgemeingültige Helfer, wie Mathematik, VCL-Helferklassen oder halt Klassen für ganz spezielle Aufgaben wie "Gib mir einen TChart als Vektorgrafik"
  2. Problemspezifische Library - Der Kram um den es in so ziemlich jedem Projekt geht. Sagen wir beispielsweise mal "Kram für Maschinen die Schokoladenkekse herstellen. Und alles drum herum". Hier sind die einzelnen Files natürlich auch untereinander abhängig.

Ein Projekt benutzt immer nur eine feste Revision einer Library. So kann jemand an der Library weiterarbeiten, das Projekt kann parallel auch weiter entwickelt werden und bei Bedarf zieht man den Library-Import auf die grade aktuelle Revision hoch.


Hat das jemanden weitergebracht? Wahrscheinlich nicht. Ich fand nur die Unterscheidung von "gemeinsam genutzten Code" in die zwei "Kategorien" wichtig.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: Mercurial Struktur aufbauen (Benötige Hilfe)

  Alt 1. Jul 2014, 16:43
Ich glaube es kristallisiert sich eine unterschiedliche Definition von gemeinsam genutzten Quelltext heraus. Ich denk hier, das muss jeder selber wissen, wie er hier seine Repositories aufteilt. Aus meiner Sicht macht alles Sinn, was hier geschrieben wurde, aber es ist auch sicherlich eine Geschmackssache. Ich habe, wie oben geschrieben mehrere Code-Snippets in einer Datenbank. Diese verwende ich ganz individuell in jedem Projekt. Ich habe hiermit sozusagen die Versionierung von den gemeinsamgenutzten Klassen und Methoden in meine Datenbank gelegt. Was ich aus meiner Sicht und vom Geschmack her viel flexibler finde.

Und bekanntlich lässt sich über Geschmack ja streiten
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.690 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Mercurial Struktur aufbauen (Benötige Hilfe)

  Alt 1. Jul 2014, 17:08
Also bis auf das Delphi selbst steckt bei uns alles im Repository, selbst die Komponenten von Drittherstellern. So kann ich ein komplettes Entwicklungssystem einer älteren Version auschecken, mit einem kleinen Tool die Komponentenregistrierung im Delphi angepasst und das alte System läuft wieder. Macht leider manchmal bei Komponentenupdates etwas Arbeit die sich selbst installierenden Komponenten aus den allgemeinen Pfaden wieder rauszubasteln und in den eigenen Quellcodepfad wieder einzubauen, geht aber leider nicht anders.
Selbst die mitgelieferten Indys hau ich aus dem Delphi raus und kompiliere die aktuellen Quellen neu.

Von daher steckt immer alles was zu einem Projekt gehört mit in dem Repository. Wenn ich z.B. Indy in zwei Repos benötige, werden sie doppelt gepflegt. Es gibt kein gemeinsames Repository. Meiner Meinung nach der Beste Lösung.
Sven Harazim
--
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Mercurial Struktur aufbauen (Benötige Hilfe)

  Alt 1. Jul 2014, 23:12
Von daher steckt immer alles was zu einem Projekt gehört mit in dem Repository. Wenn ich z.B. Indy in zwei Repos benötige, werden sie doppelt gepflegt. Es gibt kein gemeinsames Repository. Meiner Meinung nach der Beste Lösung.
Sub-Repositories sind da bei Mercurial eine interessante Option. Man kann so z.B. ein zentrales Indy-Repository haben, packt dieses aber NICHT in den Suchpfad. Stattdessen erstellt für jedes Projekt, das Indy verwendet, im Projektordner ein Subrepository und pullt regelmäßig die neuen Versionen vom Haupt-Indy-Repository. Der Clou ist, dass wenn man das Projekt commitet, auch der Versionsstand des Sub-Repositories mitversioniert wird. D.h. wenn man auf eine alte Version zurückgeht, dann ist auch das Sub-Repository wieder auf dem damaligen Stand.

Ich versuche das bei neuen Projekten konsequent so zu machen.

Man sollte allerdings ein paar Dinge beachten.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.216 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Mercurial Struktur aufbauen (Benötige Hilfe)

  Alt 2. Jul 2014, 07:53
Das scheint ja genau das zu sein was man unter Subversion als externals -Property kennt. Ich glaube ich werde mich nicht davor fürchten müssen, eines Tages umzusteigen.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Mercurial Struktur aufbauen (Benötige Hilfe)

  Alt 2. Jul 2014, 08:57
Das scheint ja genau das zu sein was man unter Subversion als externals -Property kennt. Ich glaube ich werde mich nicht davor fürchten müssen, eines Tages umzusteigen.
Ich komme mit den Subrepos von Mercurial wesentlich besser zurecht als mit den SVN-Externals. Seit dem Schreiben dieses Beipackzettels sind auch schon einige Versionen ins Land gegangen. Das Umdenken von einem zentralen zu einem dezentralen System ist die eigentliche Herausforderung.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:05 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