Was ist der beste Weg, um Ihren Site-Code in Git zu halten und den Core zu ziehen und im selben Repository beizutragen?

11

Damals, als Drupal in CVS war, hatte ich meine Sites in einem Git-Repository und zog dann den Kern ein und trug über CVS bei. Die beiden Systeme existierten glücklich nebeneinander und ich konnte Änderungen an allem verfolgen und Patches für Contrib-Module erstellen. Jetzt mit git bin ich mir nicht sicher, ob ich Contrib und Core einfach herunterladen und in das Git-Repository meiner Site einchecken oder vielleicht Submodule verwenden soll.

Ich frage mich, ob es hierzu noch Best Practices gibt. Ich bin besonders verwirrt darüber, wie man Core als Submodul hat, wenn mein Repo das Drupals-Root-Verzeichnis als eigenen Root verwendet.

naxoc
quelle

Antworten:

6

Nicht genau die gleiche Frage wie /drupal/260/deploying-drupal-with-git, aber ich habe die gleiche Antwort für Sie.

http://freso.dk/de/2011/02/26/managing_fresodk_from_cvs_in_svn_to_git

Ich denke, es kann nützlich sein, Drupal Core als echten Check-out zu haben, was es zum Beispiel einfacher macht, Hacks zu verfolgen. Denn manchmal gibt es einfach keinen anderen Weg, sei es Änderungen an .htaccess oder Sie haben einige Patches für Fehler angewendet, die Sie direkt betreffen.

Berdir
quelle
Ich mag diesen Ansatz. Ich bin mir nur noch nicht sicher, wie ich das Repo auf die Fernbedienung schieben soll. Ich meine, wenn die Basis-Kaufabwicklung von drupal.org stammt?
Naxoc
Sie können so viele Fernbedienungen haben, wie Sie möchten. Um dies zu vereinfachen, können Sie die Drupal-Fernbedienung in Drupal umbenennen (Git-Zweig benennt Ursprungs-Drupal um) und dann Ihre eigene als Ursprung hinzufügen (Git-Fernbedienung Ursprung hinzufügen [email protected]: repo.git). Sie können dann weiterhin den Kernzweig (7.x) so konfigurieren, dass er standardmäßig von Drupal abgerufen wird (Git-Zweig - Set-Upstream-Drupal / 7.x 7.x)
Berdir
Perfekt. Genau das habe ich gesucht!
Naxoc
Nur eine kleine Korrektur zu git branch rename origin drupal- es sollte sein git remote rename origin drupal.
Naxoc
3

Da Sie den Kern nicht hacken sollten, kehren Sie Ihr Denken um: Anstatt den Kern zu einem Submodul Ihrer Site zu machen, machen Sie Ihren benutzerdefinierten Code zu einem Submodul des Kerns. Sobald Sie das Kern-Repository geklont haben, können Sie alles tun, was Sie möchten, einschließlich des Hinzufügens Ihrer eigenen Submodule.

Alternativ können Sie das Core-Git-Repository für Ihre Site nicht verwenden und mit anderen Funktionen wie drush auf die neueste Version aktualisieren. Auf diese Weise müssten Sie nur Contrib-Module submodulieren. Sofern Sie nicht zum Kern beitragen oder aktuelle Dinge tun, die von Fehlerkorrekturen abhängen, die es noch nicht in eine Version geschafft haben, ist der Nutzen, alle Commits über VCS zu erhalten, minimal.


quelle