From: Shawn O. Pearce Date: Thu, 9 Aug 2007 06:38:12 +0000 (-0400) Subject: Teach the update-paranoid to look at file differences X-Git-Tag: v1.5.3-rc5~49 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/d47eed3272311acf16f136c49b0bb341c9a6e39c?hp=d47eed3272311acf16f136c49b0bb341c9a6e39c Teach the update-paranoid to look at file differences In some applications of the update hook a user may be allowed to modify a branch, but only if the file level difference is also an allowed change. This is the commonly requested feature of allowing users to modify only certain files. A new repository.*.allow syntax permits granting the three basic file level operations: A: file is added relative to the other tree M: file exists in both trees, but its SHA-1 or mode differs D: file is removed relative to the other tree on a per-branch and path-name basis. The user must also have a branch level allow line already granting them access to create, rewind or update (CRU) that branch before the hook will consult any file level rules. In order for a branch change to succeed _all_ files that differ relative to some base (by default the old value of this branch, but it can also be any valid tree-ish) must be allowed by file level allow rules. A push is rejected if any diff exists that is not covered by at least one allow rule. Signed-off-by: Shawn O. Pearce Signed-off-by: Junio C Hamano ---