2015-02-19 23 views
7

Wir möchten, dass jede Person, die einen Push in unserem git-Repository durchführt, "grunt" ausführt, bevor dies erledigt ist. Wir setzen dies durch, indem wir einen Pre-Push-Haken in .git/hooks/pre-push setzen und npm install und grunt in diese Datei schreiben.Ist es möglich einen "Precommit Hook" auf TFS hinzuzufügen?

Wir haben auch ein TFS-Repository. Ich suche nach einer ähnlichen Logik, um hier verwendet zu werden. Das heißt, wir möchten eine Art "Gated Check-In", wenn jemand versucht, etwas einzuchecken. Dies startet nur PowerShell und npm install und gruntlokal.

Wir wollen nicht, dass TFS irgendetwas anderes macht (Build, Tests usw.) (all das wird in der Grunt-Aufgabe gemacht)).

Ist das möglich? Wer weiß wie?

Antwort

1

TFS hat nichts damit zu tun, was Sie lokal tun. Sie können Ihrem Repo so viele Pre-Commit-Hooks hinzufügen und sie an TFS senden. TFS speichert diese Hook-Skripts gerne. Wenn Sie einen Client verwenden, der sie unterstützt, führt dieser Client sie vor dem Festschreiben aus.

Wenn Sie jedoch erwarten, dass Visual Studio diese Hooks vor dem Festschreiben ausführt, haben Sie wahrscheinlich kein Glück. Es gibt keine Unterstützung für "Eincheckrichtlinien" für Visual Studio, wenn eine Verbindung zu Git besteht. Noch in keinem anderen Git-Client, der auf LibGit2 basiert, soweit ich das beurteilen kann.

Sie könnten eine mit einem CI-Build verknüpfte Verzweigungsrichtlinie einrichten, die effektiv die Grunt-Tasks auf einem Build-Server ausführt, aber ich verstehe, dass dies nicht das ist, was Sie wollen. .

Es gibt einige Hintergrundinformationen zum LibGit2-Problemabschnitt which is what Visual Studio uses to implement its git functionality. Und das entsprechende user voice item for Visual Studio. Als well as a discussion on the GitHub for Windows client, die die gleiche zugrunde liegende Bibliothek verwendet.