Git Handarbeit II: Submodules
Noch so eine Stelle an der GIT einem extra viel Handarbeit aufdrückt. Submodules.
Erst mal die Idee (die eigentlich ganz gut ist): Oft will man Teile der Software (Frameworks, Plugins, ...) eigentlich als eigenes Projekt in einem eigenen Repository entwickeln. Und das ist GUT (TM).
Daher bieten eigentlich alle etwas fortgeschritteneren Versionskontrollsysteme irgend eine Möglichkeit solche externen Repositories einzubinden, damit man es einfach hat an aktuelle Versionen dieses Codes heranzukommen.
Dazu gibt es jetzt in der Regel zwei Ansätze: Entweder man verlinkt einfach auf den HEAD des anderen Repos oder auf eine bestimmte Revision. Letzteres ist im allgemeinen Fall zwingend, denn sonst hat man nie die Chance einen alten Build auch tatsächlich exakt wieder herzustellen - im Speziellen Fall ist ersteres aber sehr Praktisch, wenn man z.B. aus einem globalen Repository einfach Teile an verschiedenen Stellen einblenden möchte, damit sie im Repo nur einmal, im Checkout aber mehrfach oder einfach an einer anderen Stelle erscheinen.
(...)
Mal auf den Punkt gebracht
Volker Pispers hat eine wunderschöne Sendung auf dem Deutschlandfunk gehabt. Und die ist jetzt bei YouTube
Hier etwas zum Anfixen:
"Unter Hitler hatten wir auch den Fingerabdruck im Personalausweiß. Haben die Mütter und Väter des Grundgesetztes abgeschafft. Die haben wörtlich gesagt: Der deutsche ist kein Verbrecher. Das wissen Schilly und Schäuble natürlich besser.
Man kann Menschen nicht daran hindern von sich auf Andere zu schließen."
Hier auf Youtube
$this->doSomethingWith($someNonExistingVariable)
PHP ist wirklich eine Drecksprache. Selbst JavaScript kann das besser.
Man mache irgend etwas mit einer Variablen bei deren Namen man sich verschrieben hat. Dann würde man erwarten dass einen der Interpreter in irgend einer Form darauf hinweist. Wenigstens ein bisschen, mit einer Log-Meldung vielleicht. Sowas ist ja nicht schwer zu machen.
Aber, nicht so bei PHP. Vermutlich wieder aus den ominösen Performance-Gründen.
Vielleicht gibt es sogar irgendwo eine Option mit der man solche warnings zuschalten kann.
Aber alleine die Tatsache das man Gehirnzellen darauf verbrennen muss...
*grumpf*
Ok, der workaround ist dass sich jeder Entwickler in seiner php.ini diese Zeilen aufnehmen muss:
display_errors = On
error_reporting = E_STRICT
Der Witz daran E_STRICT warnt natürlich bei noch mehr Sachen als E_ALL. Sogar der MediaWiki Source des aktuellen Releases wirft da noch mit Warnings um sich.
Unglaublich.