Created
April 8, 2013 07:28
-
-
Save uhziel/5334899 to your computer and use it in GitHub Desktop.
Subversion server pre-commit hook for Unity3D .meta file.
约束 Assets 目录下添加、删除、移动、改名文件或目录时,必须要携带对应 .meta 文件。
如果提交的 log 中包含"The Shawshank Redemption",可以逃避此规则。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
REPOS="$1" | |
TXN="$2" | |
SVNLOOK=svnlook | |
MAGICWORD='The Shawshank Redemption' | |
# Magic Word: The Shawshank Redemption. | |
# via http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-repository-hooks.html | |
if $SVNLOOK log -t "$TXN" "$REPOS" | grep "$MAGICWORD" >/dev/null; then exit 0; fi | |
echo "!!! - lack .meta file" >&2 | |
echo "!!! + lack original file" >&2 | |
echo "!!! if log contain \"$MAGICWORD\", you can escape the rule." >&2 | |
diff -u <($SVNLOOK changed -t "$TXN" "$REPOS" | grep "[AD] .*Assets/..*" | grep -v "\.meta$" | sed "s/\/$//" | sort) <($SVNLOOK changed -t "$TXN" "$REPOS" | grep "[AD] .*Assets/.*\.meta$" | sed "s/\.meta$//" | sort) >&2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment