Das kleinste mögliche Repo wird ausgeführt, und Probleme mit dem Git-Teilbaum auf dem flachen Klon

8

Ich versuche, git subtree pull --squash zu verwenden, um ein anderes Repo als Unterverzeichnis in meinem Repository zusammenzufassen, das docroot genannt wird. Dies geschieht in einem Jenkins-Arbeitsbereich, und ich versuche, einen flachen Klon meines Repos zu verwenden, da er zu einem Remote-Repo verschoben wird, um die Anwendung auszuführen. Es ist groß, wenn es mit voller Historie geklont wird, also versuche ich, es so klein wie möglich zu halten, wenn es herausgedrückt wird. Wenn ich versuche, ein git subtree pull auf einem flachen Klon meines Repositorys auszugeben (geklont mit git clone --depth=1 ), bekomme ich diesen Fehler:

  

Quetschzusammenführung nicht möglich: 'Docroot' wurde nie hinzugefügt.

Wenn ich --squash nicht verwende, läuft es, aber es gibt Konflikte, die gelöst werden müssen, was nicht gut für einen CI-Job ist, der oft ausgeführt werden muss. Mein Ziel ist es, die kleinste mögliche Repo-Datei herauszubringen, um Speicherplatz zu sparen. Es wird mehrere Instanzen dieser Anwendung ausgegeben, so dass ich es so klein wie möglich halten möchte. Ich werde auch versuchen, das Repo kleiner zu machen, aber die größte Verringerung der Größe, die ich gesehen habe, ist möglich, indem ich einen flachen Klon verwende. Vielleicht gibt es einen besseren Weg, dies zu tun? Vielen Dank im Voraus.

    
Vincent 24.11.2015, 20:19
quelle

1 Antwort

0

Ich würde vorschlagen, dieses Problem zu umgehen, indem Sie das andere Repository, docroot , als verwenden git Submodul im Original-Repository. Dies setzt voraus, dass der Repo docroot unabhängig ist und keinen Code mit dem übergeordneten Repository teilt.

Auf diese Weise können Sie einen oberflächlichen Klon des übergeordneten Repos erstellen und sollten keine Konflikte mit dem vollständigen docroot haben, das ausgecheckt wurde.

    
mu 無 30.11.2015 13:59
quelle

Tags und Links