summaryrefslogtreecommitdiff
path: root/pre-commit.d/20warn-problem-files
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2011-03-18 15:37:52 -0400
committerJoey Hess <joey@kitenet.net>2011-03-18 15:37:52 -0400
commit133c3d08dd633f2dfa3edfd8bb2270919d162f40 (patch)
treefaa0204c351a9c94d3e1c6bc18a5cac7d205c3f3 /pre-commit.d/20warn-problem-files
parenteb094f3dde043dcc772055b7c5882ee5589b0ea0 (diff)
Avoid warning about special or hard linked files that are ignored by hg. Thanks Sjoerd Mullender for patch. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=688991
Diffstat (limited to 'pre-commit.d/20warn-problem-files')
-rwxr-xr-xpre-commit.d/20warn-problem-files5
1 files changed, 4 insertions, 1 deletions
diff --git a/pre-commit.d/20warn-problem-files b/pre-commit.d/20warn-problem-files
index e1bbd84..d600ff6 100755
--- a/pre-commit.d/20warn-problem-files
+++ b/pre-commit.d/20warn-problem-files
@@ -5,9 +5,12 @@ exclude_internal () {
egrep -v '(^|/)(.git|.hg|.bzr|_darcs)/'
}
-if [ "$VCS" = hg ] || [ "$VCS" = bzr ] || [ "$VCS" = darcs ]; then
+if [ "$VCS" = bzr ] || [ "$VCS" = darcs ]; then
special=$(find . -not -type d -not -type f -not -type l | exclude_internal) || true
hardlinks=$(find . -type f -not -links 1 | exclude_internal ) || true
+elif [ "$VCS" = hg ]; then
+ special=$(find . -not -type d -not -type f -not -type l | exclude_internal) || true
+ hardlinks=$(find . -type f -not -links 1 -exec hg status {} \; | exclude_internal ) || true
elif [ "$VCS" = git ]; then
special=$(find . -not -type d -not -type f -not -type l -exec git ls-files --exclude-standard --cached --others {} \; | exclude_internal) || true
hardlinks=$(find . -type f -not -links 1 -exec git ls-files --exclude-standard --cached --others {} \; | exclude_internal) || true