esteban313
Lieutenant
- Registriert
- Juli 2005
- Beiträge
- 760
Moin moin,
ich bräuchte eure Hilfe und Ideen beim Aufsetzen eines Mercurial Repositorys. Ich kenne mich damit leider nicht so gut aus und frage daher euch um Rat.
Kurz zum Szenario
Zwei Personen haben jeweils ihr Repository lokal auf dem Rechner. Ein gemeinsames Repository auf einem Server ist nicht möglich, der Datenaustausch kann lediglich über FTP Server erfolgen. Person 1 erzeugt eine CAD-Datei. Person 2 soll das CAD-Modell vernetzen und dieses Netz Person 1 wieder zur Verfügung stellen. Gleichzeitig sollen beide Personen anhand der Kommentare verfolgen können, welche Änderungen an bestehenden Dateien vorgenommen werden bzw. welche Änderungen neu hinzugefügte Dateien enthalten.
Idee:
Leider ist es unvermeidbar, dass an beiden Repositorys gleichzeitig gearbeitet wird. Daher stimmen die Revisionsnummern nach kurzer Zeit nicht mehr überein. Soweit ich das verstanden habe, sind Patches immer nur auf eine bestimmte Revisionsnummer anwendbar. Dies bedeutet, dass
Habt ihr evtl. noch einen Vorschlag, wie man zwei lokale Repositorys aktuell halten ohne dass ein gemeinsamer Server vorliegt? Ist dafür Mercurial überhaupt geeignet bzw. kennt jemand eine bessere Lösung? Oder habe ich einen generellen Denkfehler was die Patches angeht?
Vielen Dank für eure Hilfe!
ich bräuchte eure Hilfe und Ideen beim Aufsetzen eines Mercurial Repositorys. Ich kenne mich damit leider nicht so gut aus und frage daher euch um Rat.
Kurz zum Szenario
Zwei Personen haben jeweils ihr Repository lokal auf dem Rechner. Ein gemeinsames Repository auf einem Server ist nicht möglich, der Datenaustausch kann lediglich über FTP Server erfolgen. Person 1 erzeugt eine CAD-Datei. Person 2 soll das CAD-Modell vernetzen und dieses Netz Person 1 wieder zur Verfügung stellen. Gleichzeitig sollen beide Personen anhand der Kommentare verfolgen können, welche Änderungen an bestehenden Dateien vorgenommen werden bzw. welche Änderungen neu hinzugefügte Dateien enthalten.
Idee:
- Start mit leerem Repository (Pers1_Rev0 und Pers2_0)
- Person 1 fügt Datei hinzu und kommentiert diese (Pers1_Rev0 à Pers1_Rev1)
- Person 1 erstellt Patch (Diff Pers1_Rev1 – Pers1_Rev0) und sendet diesen Patch an Person 2
- Person 2 patcht lokales Repository (Pers2_Rev0 à Pers2_Rev1)
- (beide haben nun denselben Stand mit denselben Revisionsnummern)
- Person 2 arbeitet mit der Datei und kommentiert die Ergebnisse (Pers2_Rev2)
- Person 2 erstellt Patch (Diff Pers2_Rev2 – Pers2_Rev1) und sendet diesen Patch an Person 1
- Person 1 aktualisiert ihr Repository und beide haben denselben Stand (Pers1_Rev2 = Pers1_Rev2)
- Bei beiden liegt das Repository in derselben Revision vor à Änderungen können einfach nachverfolgt werden
- „einfacher“ Datenaustausch über FTP Server
- Repositorys nur lokal vorhanden
- Es darf immer nur abwechseln etwas verändert werden, da sonst die Revisionsnummern sich von beiden Repositorys unterscheiden
Leider ist es unvermeidbar, dass an beiden Repositorys gleichzeitig gearbeitet wird. Daher stimmen die Revisionsnummern nach kurzer Zeit nicht mehr überein. Soweit ich das verstanden habe, sind Patches immer nur auf eine bestimmte Revisionsnummer anwendbar. Dies bedeutet, dass
- die zu patchende Revision bei der 2. Person gar nicht vorhanden ist
- aufgrund der abweichenden Revisionsnummern die Nachverfolgbarkeit der Änderungen nicht mehr gegeben ist.
Habt ihr evtl. noch einen Vorschlag, wie man zwei lokale Repositorys aktuell halten ohne dass ein gemeinsamer Server vorliegt? Ist dafür Mercurial überhaupt geeignet bzw. kennt jemand eine bessere Lösung? Oder habe ich einen generellen Denkfehler was die Patches angeht?
Vielen Dank für eure Hilfe!