In der dunklen und fernen Vergangenheit gab es eine Entscheidung, die Kompatibilität mit einem unserer Konfigurationsprogramme zu brechen. Da es jedoch immer noch Remote-Einheiten geben würde, auf denen ältere Software läuft, mussten wir eine Version der alten mgmt-Software im Build behalten. Ein kurzer „cp -a“ später landeten wir mit einer Verzeichnisstruktur enthält:Gibt es eine Möglichkeit, Git-Commits von einem Teil meines Baumes in einen anderen zu übertragen?
mgmt-app
mgmt-app.old
Entwicklung fortgesetzt und mgmt-App eine Reihe von Korrekturen angesammelt, einige neue Funktionen und einige generische Funktionalität. Wie Sie wahrscheinlich erraten können, wird jetzt bemerkt, dass mgmt-app.old einige dieser Fixes nicht hat. Es wäre schön, wenn ich die relevanten Korrekturen herauspicken könnte und nützliche Dinge wie Kommentare behalten könnte, aber die Commits auf mgmt-app.old anwenden würde. Offensichtlich gelten sie nicht normal, da sie bereits in der Baumstruktur der mgmt-App enthalten sind!
Wir verwenden git zur Versionskontrolle des Repositories. Gibt es eine Möglichkeit, diese Commits an einen anderen Teil des Baumes "zurückzuportieren"? Wird das nur dadurch gelöst, dass Patches mit "patch -p" manuell angewendet werden?
Sie sollten verschiedene Zweige oder sogar Repositories für diese Verzeichnisse verwendet haben, nicht nur die Daten im Repository duplizieren. Viel Glück mit Ihrem unordentlichen Repository. – KurzedMetal
@KurzedMetal: Leider müssen beide Versionen der mgmt-App aus demselben System-Release erstellt werden. Dies liegt daran, dass eine gemeinsame Codebasis für die Verwaltungssoftware (die mit mehreren Geräten sprechen kann) als Systemsoftware verwendet wird (die sich natürlich nur selbst verwaltet). Eine solche Unordnung ist oft auf Kompromisse zurückzuführen, die erforderlich sind, um tatsächliche Produkte freizugeben. – stsquad
Wenn ich Sie wäre, würde ich beide "mgmt" Verzeichnisse in verschiedenen Zweigen in einem Repository (um in der Lage sein, zwischen ihnen zu verschmelzen oder cherrypick) und den gemeinsamen Code in einem anderen Repo. Dann würde ich beide "mgmt" -Verzeichnisse in den gemeinsamen Code mit 'git submodule' oder umgekehrt importieren (den gemeinsamen Code in jedes' mgmt'-Verzeichnis importieren), was immer Sie brauchen. – KurzedMetal