At work, we use Perforce for version control. There are problems with this: 1) with this centralized model, we cannot check for changes until they are ready for regression. This means that we do not control the audit during the development process. 2) We do not back up our customer presentation of the depot, so our work is unsafe until we can verify it. 3) We have problems sharing our code with everyone, unless we ask to install an integration branch. I am trying to set up an optional git workflow for developers who want to use git to fix these issues.
The plan is to use git -p4 to interact with the perforce server and create a private git repository. This applies to 1). I plan to use the integration manager workflow depicted in git Pro ( http://progit.org/book/ch5-1.html ) so that our developers publish public repositories, taking care of 3).

, , , / . , , , . , . . , .
, git, omni-backup, ( ). git sha-1 . , , .
, . . feature, Jane feature, . omni-backup, , .
, , , , bob-feature omni-backup. omni-backup, bob-feature.
git . , push hooks, http://www.kernel.org/pub/software/scm/git/docs/git-receive-pack.html post-receive hook, ref - , , . - ?
edit: VonC ( )
, VonC, , , , . cronjob, , ?
( ):
foreach my $user (@users) {
my @branches = split(/s/,cat `$LDAPSERVER/$USER/$REPO/.git/refs/heads`);
foreach my $branch (@branches) {
system "git fetch $LDAPSERVER/$USER/$REPO/$BRANCH:+$USER$BRANCH"
}
}