From: Junio C Hamano Date: Thu, 14 Jul 2016 18:44:17 GMT Subject: Re: Server-side preventing some files from being overwritten Message-ID: In-Reply-To: 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" > exit 1 > fi Ehh, you need to tell diff-tree to recurse, i.e. "diff-tree -r".