From: Bert Wesarg Date: Mon, 4 Oct 2010 21:22:17 +0000 (+0200) Subject: hooks/pre-commit: check for deps repetitions X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=8b0f1f9d215d767488542a7853320d1789838d92;p=topgit.git hooks/pre-commit: check for deps repetitions A dep should only be listed once in .topdeps, force this. Signed-off-by: Bert Wesarg Signed-off-by: Uwe Kleine-König --- diff --git a/hooks/pre-commit.sh b/hooks/pre-commit.sh index 6dbe82c..4f2f16f 100644 --- a/hooks/pre-commit.sh +++ b/hooks/pre-commit.sh @@ -93,3 +93,15 @@ BEGIN { in_hunk = 0; } # therefore no endless loop in the cycle-check no_remotes=1 recurse_deps check_cycle_name "$newly_added" done + +# check for repetitions of deps +depdir="$(mktemp -t -d tg-depdir.XXXXXX)" || + die "Can't check for multiple occurrences of deps" +trap "rm -rf '$depdir'" 0 +cat_file "(i):.topdeps" | + while read dep; do + [ ! -d "$depdir/$dep" ] || + die "Multiple occurrences of the same dep: $dep" + mkdir -p "$depdir/$dep" || + die "Can't check for multiple occurrences of deps" + done