From: Stefan Beller Date: Thu, 14 Jul 2016 18:50:27 GMT Subject: Re: Server-side preventing some files from being overwritten Message-ID: In-Reply-To: On Thu, Jul 14, 2016 at 11:44 AM, Junio C Hamano wrote: > On Thu, Jul 14, 2016 at 11:27 AM, Junio C Hamano wrote: >> Thorsten Glaser writes: >> >>> if test x"0" != x"$(comm -23z \ >>> <(git ls-tree -r -z "$old" "$subdir" | sort -z) \ >>> <(git ls-tree -r -z "$new" "$subdir" | sort -z) | wc -c)"; then >>> echo >&2 'Untouchable files touched, commit rejected!' >>> exit 1 >>> fi >> >> Can't this become simpler, e.g. >> >> if ! git diff-tree --quiet "$old" "$new" -- "$subdir" >> then >> echo >&2 "Ooh, $subdir is touched" No need to go for >&2 here, as it makes no difference to the client. >> exit 1 >> fi > > Ehh, you need to tell diff-tree to recurse, i.e. "diff-tree -r".