title: Svn or Git client (or plugin) to find missing or broken files
body: <p>Very often while using Svn (or other version control system) there is a problem programmer commits some changes and breaks a build. For example, because:</p>
  
  <ul>
  <li>some files were created, but not add under version control</li>
  <li>changes were made in one folder, but programmer thought that it was other folder and committed it</li>
  <li>files in a few subfolders were changed, but only one folder was committed</li>
  <li>programmer changed some code, but didn't compile it ("because it was so easy changes!")</li>
  <li>etc.</li>
  </ul>
  
  <p>Broken build is bad thing - wasted time, interrupted work of other people and it would be great to avoid it. So I am looking for some svn (git?) client\tool\plugin, which has hook "before commit", where it can check a few basic things, like:</p>
  
  <ul>
  <li>if folder contains files of some type (let's say "cpp") not under
  version control - show a warning </li>
  <li>if folder contains project file (from VS or other IDE) and this project file contains some references to files not under version control - show a warning </li>
  <li>if folder contains project file and files of some type (let's again say "cpp")
  tool should (optionally) try to build this file using settings from project file and show warning if file not compiles</li>
  </ul>
  
  <p>I tried to find such tool - but without success. Now I have idea to create such tool myself (with plugin-based architecture to be able easy add support for new project types, file types and version control types). But before start working on this tool I want to ask - maybe I missed something and such tool already exists?</p>
  
  <p>Thank you</p>