We are considering adopting git. We are currently using Vault from SourceGear.
One of the issues with our source code is that there is one file that is critical to our development. If its changed in our working directory then the entire solution needs to be re-built. We currently avoid this and usually end up needing to do it every couple of days or so, unless we are the developer making the changes to the critical file. We can avoid it in Vault by simply not updating the working directory with the new version.
We would use a Central Repository workflow as described here: http://www.atlassian.com/git/workflows. We would probably end up using the Gitflow Workflow model. Gitflow is very similar to how we work with Vault.
With git, it seems that if we want to commit to the Central Repository we need to pull any changes from the branch we are pushing too. If the critical file has been changed in that branch then we must receive it in order to push our changes to that branch. We can of course push the changes then, but our local working directory will need to be re-compiled.
Does anyone have experience with handling a critical file like this?
Does it require that our commits to the central repository only take place when we are prepared to re-compile? This is a negative for Developer adoption of git.
If a developer must receive the critical file change, what would you say to a developer that makes him think its worth adopting git even though it has this major drawback?