Git und Subversion (git svn)

Einer der Vorteile von git ist, dass man ziemlich einfach gegen ein Subversion Repository arbeiten kann. Nach einem git svn clone hat man das Ganze Subversion Repo auf der eigenen Festplatte. In der Regel reichen einem jedoch die letzten 100 Commits und man möchte die Struktur des Subversion Repos beibehalten. Hierfür erweitert man den o.g. Befehl um die Optionen -r<Startrevision>:HEAD um den Ausschnitt aus dem SVN Repo zu verkleinern. Und -s bzw. --stdlayout wählt man, wenn man für trunk, tags und branches eben diese Verzeichnisse im Wurzelverzeichnis des Subversion Repositories hat.
Daraus ergibt sich dann

git svn clone -r1000:HEAD -s https://svn.codehaus.org/foobar zielverzeichnis

wenn man die Revisionen ab 1000 bis zum aktuellen Stand von https://svn.codehaus.org/foobar clonen möchte. Continue reading

CUnit und Visual Studio

Falls man C unter Visual Studio entwickeln will oder muss, so möchte man doch auch testen, oder?

Das natürliche Testframework für C ist CUnit. Nun liegen in der aktuellen Version (2.1-2) keine Solution Dateien für Visual Studio bei. In Version 2.1-1 sind diese allerdings noch zu finden. Man sollte sich also 2.1-1 herunterladen und entpacken und danach 2.1-2 an gleicher Stelle entpacken.

Nun finden sich im Verzeichnis VC8 die Solution Datei. Diese ist für Visual Studio 9 (2008) auch benutzbar. Leider sind die Dateien wenig gepflegt, so dass nur das Bauen der cunit.dll funktioniert. Die Beispiele sind kaputt.

Mit VC9 ist es zusätzlich notwendig die Solution Datei zu konvertieren:
VC8> devenv /upgrade CUnit.sln

Dann muss man nur noch
VC8> MSBuild /nologo CUnit.sln /t:libcunit
ausführen.

Nun liegt (ausschließlich) die libcunit.dll im Verzeichnis Debug - DLL.
Fertig, das Testen kann beginnen.

Ich habe mir mal die Mühe gemacht und die Beispiele repariert und die Solution Files für VC9 (2008) angepasst. Hier steht das fertige CUnit 2.1-2-bc Paket zum Download bereit. Hier reicht unter VC9 ein einfaches VC9>MSBuild /nologo CUnit.sln welches auch die Tests mitbaut!

Links

Ich freue mich auf Fragen oder Anregungen…

Edit: Link zum cunit package gefixt.