Delphi-PRAXiS
Seite 1 von 7  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Mercurial Struktur aufbauen (Benötige Hilfe) (https://www.delphipraxis.net/180719-mercurial-struktur-aufbauen-benoetige-hilfe.html)

RWarnecke 11. Jun 2014 19:04

Mercurial Struktur aufbauen (Benötige Hilfe)
 
Hallo zusammen,

ich möchte meine ganze Softwareentwicklung neu aufbauen mit Mercurial. Dazu benötige ich ein paar Tipps von euch, wie ich meine derzeitige Struktur in Mercurial übernehmen kann. Ich habe einen Windows 2012 Server und zwei Mac's. Auf beiden Mac's arbeite ich in einer Paralells VM mit Windows 8.1. Auf Mac 1 arbeite ich direkt mit der VM auf dem Windows 2012 Server. Beim MacBook Pro kopiere ich vor jeder Benutzung die Dateien vom Windows 2012 Server auf's MacBook Pro und wenn ich wieder zurück bin, dann gibt es wieder einen Sync auf den Windows Server 2012. Mittlerweile wird das alles etwas umständlich, zumal ich für ein Projekt auch noch drei Versionen pflegen muss. Jetzt zu meinen Fragen :
  1. Wo muss ich Mercurial installieren, so dass ich auf meinem Windows Server 2012 immer eine aktuelle Kopie habe ?
  2. Wie funktioniert dann das synchronisieren zwischen den einzelnen Rechnern ?
  3. Kann ich das Repo-Verzeichnis von dem Windows 2012 Server ganz normal mit FreeFileSync zum Beispiel sichern oder benötige ich hier bestimmte Befehle ?
  4. Wie händelt Ihr die Sicherung von Mercurial Repo-Verzeichnissen und der entsprechenden Datenbank dahinter?

Stevie 11. Jun 2014 19:57

AW: Mercurial Struktur aufbauen (Benötige Hilfe)
 
Sowas wie ein Mercurial Tutorial hast du schon durchgelesen oder?

RWarnecke 11. Jun 2014 20:01

AW: Mercurial Struktur aufbauen (Benötige Hilfe)
 
Ja, ich habe das ganze ja schon auf einem Testsystem ausprobiert. Mir geht es hauptsächlich dabei, wie das mit dem Windows Server und den beiden Mac's hinbekomme. Auf einem einzelnen Rechner habe ich eine funktionierende Installation hinbekommen.

Stevie 11. Jun 2014 20:17

AW: Mercurial Struktur aufbauen (Benötige Hilfe)
 
Naja, du legst ein Repository auf deinem Server an und syncst dann ganz einfach über den Hg client deiner Wahl auf deine Macs.
Ebenso machst du ein Backup, du clonest dein Repo einfach. Oder einfaches Datei backup.

Ich weiß nicht, von welchem VCS du kommst, ich vermute mal, nicht von einem dezentralen. Bei einem solchen VCS braucht man eigtl weniger irgendwelche Backups, weil jeder, der damit arbeitet quasi ein Backup hat. Dein Server raucht ab? Kein Ding, setz ihn neu auf und push danach von einem deiner Macs das Repo wieder drauf. Fertich.

RWarnecke 11. Jun 2014 20:37

AW: Mercurial Struktur aufbauen (Benötige Hilfe)
 
Ich habe mal eine Zeitlang mit SVN gearbeitet. Bin dann aber wieder auf ein selbstverwalteten Dateisystem umgestiegen. Habe aber nun die Nachteile, wegen der Verwaltung von mehreren Versionen festgestellt.

Das heißt, dass ich auf jedem Rechner jeweils eine Kopie meiner Projekte liegen habe. Das ist eigentlich nicht ganz das was ich will. Ich möchte nur eine Kopie auf dem Server haben und eine auf dem MacBook Pro. Aber wenn ich das ganze richtig verstanden habe, geht das so nicht mit Mercurial.

Eine andere Frage, kann ich auf dem Server einen Automatismus aktivieren, sobald ich einen Commit auf meinem Client mache, dass dann die Änderungen automatisch auf den Server übertragen werden ?

Stevie 11. Jun 2014 20:44

AW: Mercurial Struktur aufbauen (Benötige Hilfe)
 
Zitat:

Zitat von RWarnecke (Beitrag 1261990)
Ich habe mal eine Zeitlang mit SVN gearbeitet. Bin dann aber wieder auf ein selbstverwalteten Dateisystem umgestiegen. Habe aber nun die Nachteile, wegen der Verwaltung von mehreren Versionen festgestellt.

Das heißt, dass ich auf jedem Rechner jeweils eine Kopie meiner Projekte liegen habe. Das ist eigentlich nicht ganz das was ich will. Ich möchte nur eine Kopie auf dem Server haben und eine auf dem MacBook Pro. Aber wenn ich das ganze richtig verstanden habe, geht das so nicht mit Mercurial.

Eine andere Frage, kann ich auf dem Server einen Automatismus aktivieren, sobald ich einen Commit auf meinem Client mache, dass dann die Änderungen automatisch auf den Server übertragen werden ?

Ich glaube, du hast den Gedanken eines verteilten Versionsverwaltungssystems noch nicht verstanden.
Da du schon mit SVN gearbeitest hast, solltest du eventuell diesen Artikel von Joel Spolsky dazu lesen. Ja, der ist lang, lohnt aber. Ansonsten reden wir hier weiter aneinander vorbei.

jfheins 11. Jun 2014 21:38

AW: Mercurial Struktur aufbauen (Benötige Hilfe)
 
Zitat:

Zitat von RWarnecke (Beitrag 1261990)
Das heißt, dass ich auf jedem Rechner jeweils eine Kopie meiner Projekte liegen habe. Das ist eigentlich nicht ganz das was ich will. Ich möchte nur eine Kopie auf dem Server haben und eine auf dem MacBook Pro. Aber wenn ich das ganze richtig verstanden habe, geht das so nicht mit Mercurial.

Warum möchtest du das nicht? Speicherplatz ist bei 35 cent/GB SSD hoffentlich kein Argument mehr ;-)
Ich habe zufällig heute mein (git) Repo genauer angeguckt. Das Arbeitsverzeichnis hatte 150MB oder so, das kam von den ganzen Kompilaten. Der .git Ordner (also die gesamte Geschichte von den QUelltexten inkl. binären Bibliotheken) lag irgendwo bei 20 MB. Da ist ja auch automatisch alles komprimiert.

Eine zusätzliche Kopie kann eigentlich nicht schaden, im Gegenteil es ist eine zusätzliche Sicherheit. Syncronisierungsaufwand fällt im Grunde weg, und die Gefahr "versehentlich" einen neuen Stand mit einem alten zu Überschreiben ist quasi nicht existent.

Also eigentlich willst du es, du weiß es vielleicht noch nicht :stupid:

Zitat:

Eine andere Frage, kann ich auf dem Server einen Automatismus aktivieren, sobald ich einen Commit auf meinem Client mache, dass dann die Änderungen automatisch auf den Server übertragen werden ?
Ich bin mir ziemlich sicher, dass das geht. Allerdings geht der Automatismus schon in Richtung "erweitere Funktionalität". Ich empfehle dir SourceTree, das ist für den privaten Gebrauch kostenlos und in meinen Augen die beste GUI für git bzw. Mercurial. Ich benutze circa 97% SourceTree, 2% Kommandozeile und 1% Tortoise. (Letzteres ist praktisch, wegen den Shell-Icons)

SourceTree gibt es übrigens für Windows und Mac ;-)

Stevie 11. Jun 2014 22:06

AW: Mercurial Struktur aufbauen (Benötige Hilfe)
 
Zitat:

Zitat von jfheins (Beitrag 1261994)
Ich empfehle dir SourceTree, das ist für den privaten Gebrauch kostenlos und in meinen Augen die beste GUI für git bzw. Mercurial.

Da stimme ich dir zu. Nur 3 kleine Sachen stören mich etwas. Der integrierte Differ und die Dateilisten können manchmal etwas träge sein. Gerade, wenn man mehrere Dateien markiert um sie zu stagen (weil er die dann alle im Differ anzeigt)
Und das andere ist das fehlende Autostash (lokale Änderungen, ich will Pullen, geht nicht). Klar, kann ich selbst stashen oder commiten. Will ich aber manchmal nicht und sind zusätzliche Arbeitsschritte, die ich machen muss. Außerdem das fehlende automatische "dann pull doch!" wenn ich pushen will und ich nicht auf dem head bin.

Zu der eigentlichen Frage, in Sourcetree gibt es die Option "Push to default/origin remote when committing", die man anhaken kann.

Mavarik 12. Jun 2014 09:43

AW: Mercurial Struktur aufbauen (Benötige Hilfe)
 
Zitat:

Zitat von RWarnecke (Beitrag 1261990)
Eine andere Frage, kann ich auf dem Server einen Automatismus aktivieren, sobald ich einen Commit auf meinem Client mache, dass dann die Änderungen automatisch auf den Server übertragen werden ?

Damit habe ich mich auch schwer getan...

Es gibt keinen klassischen Server mehr. Jeder Rechner hat alles und ein Commit geht immer erst lokal.
Auf Wunsch, kannst Du dann Pushen. Das geht aber ggf. auch an verschiedene Ziele.

Mavarik

RWarnecke 12. Jun 2014 09:52

AW: Mercurial Struktur aufbauen (Benötige Hilfe)
 
Zitat:

Zitat von Mavarik (Beitrag 1262038)
Damit habe ich mich auch schwer getan...

Es gibt keinen klassischen Server mehr. Jeder Rechner hat alles und ein Commit geht immer erst lokal.
Auf Wunsch, kannst Du dann Pushen. Das geht aber ggf. auch an verschiedene Ziele.

Ja, damit tue ich mich noch ein bisschen schwer. Vom Grundprinzip habe ich es verstanden, aber ich muss das ganze jetzt erstmal in meinem Arbeitsablauf einbauen und das fällt mir etwas schwer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr.
Seite 1 von 7  1 23     Letzte »    

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