diff options
Diffstat (limited to 'set-svn-properties.sh')
-rwxr-xr-x | set-svn-properties.sh | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/set-svn-properties.sh b/set-svn-properties.sh new file mode 100755 index 0000000..cfd3c93 --- /dev/null +++ b/set-svn-properties.sh | |||
@@ -0,0 +1,53 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | set_eol_style() | ||
4 | { | ||
5 | IFS=$'\n' | ||
6 | for file in `find . -iname \*\.$1`; do | ||
7 | prop=`svn propget svn:eol-style $file` | ||
8 | if [ -z "${prop}" -o "${prop}" != "native" ]; then | ||
9 | svn propset svn:eol-style native $file | ||
10 | fi | ||
11 | done | ||
12 | IFS=$' \t\n' | ||
13 | } | ||
14 | |||
15 | remove_executable() | ||
16 | { | ||
17 | IFS=$'\n' | ||
18 | for file in `find . -iname \*\.$1`; do | ||
19 | prop=`svn propget svn:executable $file` | ||
20 | if [ -n "${prop}" ]; then | ||
21 | svn propdel svn:executable $file | ||
22 | fi | ||
23 | done | ||
24 | IFS=$' \t\n' | ||
25 | } | ||
26 | |||
27 | set_executable() | ||
28 | { | ||
29 | IFS=$'\n' | ||
30 | for file in `find . -iname \*\.$1`; do | ||
31 | prop=`svn propget svn:executable $file` | ||
32 | if [ -z "${prop}" ]; then | ||
33 | svn propset svn:executable "*" $file | ||
34 | fi | ||
35 | done | ||
36 | IFS=$' \t\n' | ||
37 | } | ||
38 | |||
39 | EOL_EXTENSIONS="cs ini example txt sql xml sh" | ||
40 | NO_EXE_EXTENSIONS="cs ini example txt sql xml" | ||
41 | EXE_EXTENSIONS="exe sh" | ||
42 | |||
43 | for ext in ${EOL_EXTENSIONS}; do | ||
44 | set_eol_style $ext | ||
45 | done | ||
46 | |||
47 | for ext in ${NO_EXE_EXTENSIONS}; do | ||
48 | remove_executable $ext | ||
49 | done | ||
50 | |||
51 | for ext in ${EXE_EXTENSIONS}; do | ||
52 | set_executable $ext | ||
53 | done | ||