Die Migration hin Git und zu Paketverwaltung mit NuGet hat mich über eine bessere Aufteilung des Codes nachdenken lassen, was viel Gutes hinsichtlich Verständlichkeit sowie Test- und Wartbarkeit bewirkt hat. Interessanterweise haben Kollegen von mir grundsätzlich dieselbe Erfahrung gemacht.
Nach längerer Zeit habe ich gestern morgen eine kleine Änderungen dort eingebracht. Durch die säuberliche Aufteilung des Codes war diese Änderung leicht, schnell und ohne Risiko einzubringen: git pull, code, git commit & push.
Aus einer Schrulle heraus oder vielleicht auch aus alter Gewohnheit wollte ich aber "überall auf dem neuesten Stand" sein. Lokal habe ich alle spezifischen Repos in einem gemeinsamen top-level-Verzeichnis abgelegt. Da ich zu faul bin alle einzeln und manuell zu pullen musste etwas Automatisiertes her.
Ich habe git submodule ausprobiert und über git subtree nachgedacht bin aber damit nicht richtig warmgeworden. Insbesondere die detached-head-Problematik und das vergleichsweise umständliche Synchroniseren bei git-submodule haben mir nicht gefallen.
Daher scripte ich einfach:
@echo off
for /D %%a in (*) do (echo pull %%a
cd %%a
git pull
cd ..)
pause
Beispielausgabe:
pull base Already up-to-date. pull content Already up-to-date. pull repo1 Already up-to-date. pull repo2 Already up-to-date. ...
pull repoN Already up-to-date. Press any key to continue . . .
No comments:
Post a Comment