1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mageia-sysadm] [306] - add a type to handle syntax check script
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:mageia-sysadm%40mageia.org?Subject=Re%3A%20%5BMageia-sysadm%5D%20%5B306%5D%20-%20add%20a%20type%20to%20handle%20syntax%20check%20script&In-Reply-To=%3C20101119004613.C0D6E3FBCB%40valstar.mageia.org%3E">
<META NAME="robots" CONTENT="index,nofollow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<LINK REL="Previous" HREF="000645.html">
<LINK REL="Next" HREF="000646.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mageia-sysadm] [306] - add a type to handle syntax check script</H1>
<B>root at mageia.org</B>
<A HREF="mailto:mageia-sysadm%40mageia.org?Subject=Re%3A%20%5BMageia-sysadm%5D%20%5B306%5D%20-%20add%20a%20type%20to%20handle%20syntax%20check%20script&In-Reply-To=%3C20101119004613.C0D6E3FBCB%40valstar.mageia.org%3E"
TITLE="[Mageia-sysadm] [306] - add a type to handle syntax check script">root at mageia.org
</A><BR>
<I>Fri Nov 19 01:46:13 CET 2010</I>
<P><UL>
<LI>Previous message: <A HREF="000645.html">[Mageia-sysadm] [305] - add logic to extract directory from svn on commit
</A></li>
<LI>Next message: <A HREF="000646.html">[Mageia-sysadm] [307] add check for root and empty commit
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#647">[ date ]</a>
<a href="thread.html#647">[ thread ]</a>
<a href="subject.html#647">[ subject ]</a>
<a href="author.html#647">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Revision: 306
Author: misc
Date: 2010-11-19 01:46:13 +0100 (Fri, 19 Nov 2010)
Log Message:
-----------
- add a type to handle syntax check script
Modified Paths:
--------------
puppet/modules/subversion/manifests/init.pp
Added Paths:
-----------
puppet/modules/subversion/templates/syntax_check.sh
Modified: puppet/modules/subversion/manifests/init.pp
===================================================================
--- puppet/modules/subversion/manifests/init.pp 2010-11-19 00:24:22 UTC (rev 305)
+++ puppet/modules/subversion/manifests/init.pp 2010-11-19 00:46:13 UTC (rev 306)
@@ -18,16 +18,24 @@
file { $local_dir:
ensure => directory,
}
+
+ define syntax_check($regexp_ext,$check_cmd) {
+ file { "$local_dir/pre-commit.d/$name":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 755,
+ content => template('subversion/syntax_check.sh')
+ }
+ }
+
# mettre tout les scripts dans le repertoire
-
+ syntax_check{"check_perl":
+ regexp_ext => ".p[lm]$",
+ check_cmd => "perl -c"
+ }
}
- # TODO create proper hook directory ( see zarb.org )
- # create documentation
- # - group who can commit
- # - array for who get mail on what ( hash )
- # - array of where the directory is updated
-
# later, deploy a backup file ( ie, cron job to do a dump in some directory )
# TODO
# what about pre commit ?
Added: puppet/modules/subversion/templates/syntax_check.sh
===================================================================
--- puppet/modules/subversion/templates/syntax_check.sh (rev 0)
+++ puppet/modules/subversion/templates/syntax_check.sh 2010-11-19 00:46:13 UTC (rev 306)
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+REPOS="$1"
+TXN="$2"
+
+changed=`svnlook changed -t "$TXN" "$REPOS"`
+files=`echo $changed | awk '{print $2}'`
+if echo $files | grep <%= regexp_ext %>
+then
+ svnlook cat -t "$TXN" "$REPOS" "$files" | <%= check_cmd %>
+ if [ $? -ne 0 ]
+ then
+ echo "Syntax error in $files." 1>&2
+ echo "Check it with <%= check_cmd %>"
+ exit 1
+ fi
+fi
+
+# All checks passed, so allow the commit.
+exit 0
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/mageia-sysadm/attachments/20101119/9963eec9/attachment.html>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Previous message: <A HREF="000645.html">[Mageia-sysadm] [305] - add logic to extract directory from svn on commit
</A></li>
<LI>Next message: <A HREF="000646.html">[Mageia-sysadm] [307] add check for root and empty commit
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#647">[ date ]</a>
<a href="thread.html#647">[ thread ]</a>
<a href="subject.html#647">[ subject ]</a>
<a href="author.html#647">[ author ]</a>
</LI>
</UL>
<hr>
<a href="https://www.mageia.org/mailman/listinfo/mageia-sysadm">More information about the Mageia-sysadm
mailing list</a><br>
</body></html>
|