Forum: PC-Programmierung git: wie merge von einem svngit repo mit anderem git repo


von cppbert (Gast)


Lesenswert?

vor längerer Zeit haben ich aus einem svn Repo ein git Repo erstellt und 
dann mit anderen Entwicklern dann nur mit git weiter entwickelt, war nur 
für Prototypen und zum spielen gedacht - komplett von der svn basierten 
Entwicklung abgetrennt (die Protypen haben sich dann aber doch zu gut 
entwickelt und wurde relevant, aber seperat zum svn gebaut und deployed) 
- Ja, Ja, Schande über mich und alle die mir nahe stehen :)

Jetzt hat das andere Team offiziell auf git umgestellt und jetzt würde
ich gerne die bestimmt 1 Trillionen Submits die auf unser lokales git 
Repo gemacht wurden wieder in einem Branch vom nun offiziellen git repo 
verheiraten (damit ich anfangen kann alle Änderungen nach zu ziehen und 
das ganze wieder in den main branch zu bekommen - bestimmt 2-4 Jahre 
Entwicklung zwischen meinem Repo und dem main :O ...)

Problem: Ich habe absolut keine Ahnung wie ich da vorgehen soll, 
einzelne Commits mergen oder sowas kommt mir zu aufwändig vor ich weiss 
aber auch das die beiden Repos gar keine Ahnung davon haben das sie mal 
aus der gleich/selben Basis entstanden sind

Ich kann genau sagen welcher Commit(Tag in SVN und meinem Repo und dem 
offiziellen Git) 100% zusammen passen, danach läuft alles auseinander

Ich würde versuche so vor zu gehen

Merge:
1. das offizielle git repo ziehen
2. darin einen Branch von dem korrespondieren Tag erstellen
3. irgendwie versuchen alle Commits aus meinem anderen Repo
in diesen Branch zu bekommen - Wie auch immer das geht???
4. freuen das es irgendwie doch geklappt hat

Was alles gut läuft habe ich jetzt alle Änderungen von meinem externen 
Repo als Branch im offiziellen Repo

Upgrade:

Jetzt würde ich versuchen häppchenweise/oder Release-weise das main repo 
in meinen branch zu mergen - soooo lange bis mein Branch wieder ohne 
Konflikte mit dem main gemerged werden kann

Kann jemand Tips geben wie ich Merge-Punkt 3 hin bekomme
und sagen ob meine Upgrade-Strategie so sinnvoll ist?

von Mathias A. (mrdelphi)


Lesenswert?

cppbert schrieb:
> 3. irgendwie versuchen alle Commits aus meinem anderen Repo
> in diesen Branch zu bekommen - Wie auch immer das geht???

Die Frage war zufällig nebenan auch gerade gekommen :) siehe meine 
Antwort dort:
Beitrag "Re: Merge Request auf Gitlab"

Sollte durchaus funktionieren wie Du es vorhast, ich würd es 
wahrscheinlich auch so machen...

: Bearbeitet durch User
von cppbert (Gast)


Lesenswert?

hatte dazu auch noch diesen Link gefunden: 
https://thoughts.t37.net/merging-2-different-git-repositories-without-losing-your-history-de7a06bba804

ich probier das aus - Danke für deine Hilfe

von cppbert (Gast)


Lesenswert?

beim merge gibt es zu viele Konflikte!!!

git merge -S --allow-unrelated-histories old-project/master

jede Änderung wird als Konflikt an gesehen, nach erster Durchsicht
sind es wirklich nur die Änderungen die neu gegenüber dem offiziellen 
Stand sind d.h. ich würde die Änderungen alle als OK ansehen

also z.B.

Original-Datei: test.txt:
----
Lizenz: 2017,2018 Blub

A
B
C
----

aus meinem externe Repo

Extern-Datei: test-txt:
----
Lizenz: 2017,2018,2019 Blub <-- wird als Konflikt gesehen

A
B
b <-- wird als Konflik gesehen
C
----

muss ich da jetzt echt von Hand durch jede Datei durch
und diese "nicht"-Konflikte lösen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.