阅读此篇文章你可以:

  • 对SVN Hooks有一定的了解
  • 获取两个最常用的SVN Hooks案例

SVN hooks介绍

Hooks 钩子,主要实现的功能就是在特定事件发生之前或者之后自动执行事先定义好的脚本代码来实现某些功能,类似于JS中的监听事件、MySQL中的触发器、Django中的signals信号等

大多数开发语言都可以用来编写hooks脚本,常用的如windows下的bat、vb,linux下的shell、python等

SVN中的hooks按照所在位置可以分为两类,客户端hooks和服务端hooks,日常使用中服务端hooks使用更广,我们也以服务端hooks介绍为主

SVN服务端hooks主要有以下9种:

pre-lock:文件加锁前执行,不常用

post-lock:文件加锁后执行,通常用来发送锁定事件通知,需要传递两个参数给hooks脚本,按照顺序依次为:1.版本库路径,2.锁定路径的认证用户名

per-unlock:文件解锁前执行,不常用

post-unlock:文件解锁后执行,通常用来发送解锁事件通知,需要传递两个参数给hooks脚本,按照顺序依次为:1.版本库路径,2.解锁路径的认证用户名

start-commit:开始提交时执行,在pre-commit之前,通常用来确定用户是否有提交权限

pre-commit:提交之前执行,在start-commit之后,通常用来对提交内容的检查,例如我们后边要介绍的利用pre-commit做提交log的合规性检查,需要传递两个参数给hooks脚本,按照顺序依次为:1.版本库路径,2.提交事务的名称

post-commit:提交完成后执行,这应该是使用最广的hooks之一,通常用来在提交之后发送提交通知,甚至是利用它来做自动化的CI/CD等操作,需要传递两个参数给hooks脚本,按照顺序依次为:1.版本库路径,2.提交创建的修订版本号

pre-revprop-change:在修改revision属性之前执行,不常用

post-revprop-change:在修改revision属性之后执行,不常用

SVN hooks应用

svn hooks位于svn版本库的hooks文件夹下,例如svn目录为/home/svn/repos,仓库名称为ops-coffee,那么hooks就位于/home/svn/repos/ops-coffee/hooks/目录下,文件夹下的.tmpl的文件为hooks的模板文件,以shell脚本的方式展示了hooks该如何使用

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAicAAAC0CAYAAABPPYwZAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAADh8SURBVHhe7Z0NmuOoDkXfurKgrKdWU5uZxfTT5VdgIcBJyq7uy3xnOgYDQhKCON34f5L+EEIIIYTcCDOTEEIIIeQqzExCCCGEkKswMwkhhBBCrsLM/AEef76+//sT0n/ff57mPYQQQgj5BzEzP87jSzYm319/HuXz07xvh9BOSIPNzuPrz3+jsr+J57fs96I+5eNYHz+BkuVH+On+doEPinxfGxvyqV+/mVF/b/Ml+qdddid+i5wWj+ef/L0X6fv5WCt7lY/7tcgehTbKNvg9tjUz30MKxFbZ13///fl6pGvnvjPsBP6/kUa34fo6ffSyfJqf7m8bBIavLwmQX3a5w0/b0ervHTLQP+2yO/Fb5LTA5vr7y950eGWv8iN+/Ya18hfZFv9LO7I/IvQTgTNsz6piRSFltykKbwY2KotbxzYppWbDlW9pWuGDNuO9//35T5Qbk61kyymqOG3ZrM0iHxLa1WVYaGKBOLzIjI9pHLUM1eITIq3n0KvcG5uvfXr96fLvZ5tfQL+d80If31Whrc5MXb8uZ8CQpfnmArlQFz/xlby4aGt7fYXCud2P/fl+PRpD7O5LZKj9td++Bj4fyqzx1XK0CVkOelnADHaT/l7B6s/1pRXonyrvfv4ZMPVitzmX5aR/6npo81uNwxmfVllIyV6zMs9fzvrSvl+vleV+ig/mcZy17X2pF2GwUAacSy7iDhMDzosrwETNg/bKBKXInnAfylG/uc9vEzLme7EByJsBTSNDh1U2bBNO0uyyRZa80ciyp7InHFiuy72PRyl7fIlD5HZQDwFIymOVqOvwp9dfIk+U0eYkLH7d5AlVZExop9WZo+sX5QSWLMgrwQuTqQRj1be6zm0ObaSw+ov5hl+7Y4Bc0sVX7eNZguPMP73xwXIqaX9ZwPbdUX+vY/U39qU1LBvRP+ELV/tn5Sin16Yny1p/R9C+yJDr5euF8QHEyFF8NMs8Xb/gS6f8ejY++H32M1lXdJ/nbHtr6oUpuCg1THiVVwzsleFaKbInKDyX6/smbbYyRkPqe0HvrLOyUZvo95jivQcnxxiULGFDkmoglTGpsRZZ0pi9/nK7LgN9t2NWOvN0/aqcA1lCG6kG6jQ61PJ0sk3tPupPsPzaH0NsvwlAWZ5OrtxWGYc3PiHIojerG5h+PenPBLpKNWo66sjqb+hLK9A/27zEnfzTlNNt05Elf069Nf2hn5RbUxqfo6vp+IxrjVWGvGOKsnhlpY2BvKf8eja+0NeXbJDajUlgpOuMp9d7Ui+sSfK6Im1lZMOhz5jaAKPv1W1Og4DQOsW8bNimIUumGSfAWHM9fMZ4cpu6HaWTPqh6/a1g2k84NUlelHMki+aBnzdEFv0tAY8iH/23BWFmd68/s8wdQ2z/VPDX+c34MKbk6jl1Y5hh+a7mqM/XsPob+tIC9M96PS1zx/AJ/4ysylLbdGTRecKyfyrbHlgY32i8w7KBvNOyxMi2p/x6Nr6wtuAnxNb/epZte2/qhS1873ybj6ByOR4zSXDOSh7/pRy/zVZGZXBFHzhmZeM28Vnut+TUYxPEp+piEyZX/hwXpeJwauIVWYpDOv0l4KhIhwmW5GnyEu2Y+/ENdP2KnENZpJ7etKX7av9pIsq3gn6CunZ3xg7Gfj0aA8pEjuZRdW4j9m3753x8uPd9T07m/b3CsT/PlyY4Nhq36ega7dE/S95b/NPTi9emJ8tEnzZoX+kEMVTajD+veLJEmsW8wy5Dm0rO5TLBsW0rV5Rbfx7r0xkf+oPfH3Qp9U7Z9tbI/yB4WPJqaiaflItvpILucZJXJsBRU2Hz211YZFNwweeV/kKdkGAsGC1foh0Yp096kvQplvltdrJgx6p/b0QwTPnhL8Qq4+txYzFC+n5WOTDe0BfqhJ0Nyif9CVnefoKhP2tCpqZjP7PxFV2/JudIljjxZAqpesf75NtpsEXNm9lo2J/IWLpKaehnzRggp3wuHaH9lfkwG19sF38/ydaPRbVFTcqvp/rcZdzf1Jcc6J+6jcTN/HOsF8FtcyTLij4HpC+zMUm9kV56WVJ2ScU3vbKuTemvibtO2Xv9OjEbH9ooHeAylTm6dm17X8zMH0AZTAyoJ/uvRJxl+Cjy08hEvs2u+Kdl+Uh/mOgfGIMEHfgIAkUTjP526J922Wk+4J+n5fzQXPkN3MmvPX6LnEfMTLKC2r1ihzt89Ed+FWXTLOkXftsgfzl38k/OFfJBzExCCCGEkKswMwkhhBBCrsLMJIQQQgi5CjOTEEIIIeQqzExCCCGEkKswMwkhhBBCrsLM/DjtwUX2PTaPcE5ESOY/332E0wRjiuW1r/zP3dJhNpLauoQQQgi5AelDOiBKFaxxtl6iP3p4RjzpLp4WiDc9tn1jY/Kt3mbZ1tMHX+l2CCGEEHIr5H/6MLGc9KI/Ok53Ui9sHlJ2cxywYndzojlsTuR6dBBQ3ZzEJys8MIgQQgi5LenD8AlIPJ64bixw7LzaUHhPTh6PUu8xeNnZqc0J+ow7nmbDgz7CS7nidqh5MhI3J5D9Hzs6nBBCCPl9pA+jTQaeTnSbCvwdjvLkwdmchA1J2CjE9LbNSaJ/ciKXkqS9tPl4fNV39oQy9AWZms0WIYQQQm5G+vDuzUl4ulE3ClY74JXNCdD1sQHRfWBzlJ+S6L9z0shPCCGEkLuRPmAzkZ8oPPBTjvqXLbOfdax6YdOS3oQYfk55x5OTh7Qvmwz1F2Kl0SqblkXufUr/deOifs5J98U2CSGEEHIz6gUW8Jj++/OtNxKymNci9RdiJ/V0/tdX/MuzZcMTrnRa/LsgaQMUq6gnM4n6U1J9OnL8p8TYFMkFNyiEEELIHTEzCSGEEEKuwswkhBBCCLkKM5MQQggh5CrMTEIIIYSQqzAzCSGEEEKuwswkhBBCCLkKM5MQQggh5CrMTELIK+Cgv3i0jpFeOxWZEEL+AcxMssDj+QxvOOZi8yYmB+yNGNnhePhePfzPOq1Y49p2Rc5wQvLgtQ6Dd1ENmfYX37Qd05revPGd9Wutb6TmVRKcK+cIm9x766zanbYlb8XMJBu8+n6gt3Bm0fsUJ2UJb4zuXk3Q3+Nh2aF5bUG61m+rnmG1uSRnWFQGaVM3fn/YmHyX8l083931ayxSs00f58qbODuGD479FrYlfxNmpiJ/20SAzMfYwwlVfg7+JSBLOYJo/qy+sbbfYPs2c58DfrzNNfYm5URO0WHMkyTtNkf6j8rKGFRaCkB3kqVHZHvr5iQ+XdixK5jbdiAn5oI17lH+Ml1/ou/dMWm88Y3K8jflvt93b05CNzLW5vUYehPm+if0VMu+c7+v+KduE7JgU5j7NGWR+2OG/IfsZxwT5hvawkezLLZZRe10dnYMw3q+LFM7JHZsS8gCZuaB4NeYdHBKuQjv0JE/D8FI5YUgJk6NF/FZ31jNNlW5xRVtzjgzKW05EfzUiwyxoJa2vTLhhUXvTrJkVha6HssOsOdXePFkDfo7WG1qhnJisRrkv6Kbvj+8SwqLZFw23uu7o7IwXyRZm5OaIEtbDmb6bImL5vdX1dezbAh8H2zmcdgIqH5P2SD5UNGv9ilHFvSFvvXLT2WOhT+9stLWQGdn/WhUz5XFs0Nlz7aETJH/BcfsUxvMY5Cv16UeHD2ubiEY9feFYCqT2AqawzajACpd2+aMM5PSlNMITJArBHmvDNfZFqp8lTvJAsLLG0/Ut+wQXVPy0WazgKzh2daVM3Q8SCd1Y/UXuxEZk/0eX/VN3Ct443ttscEbxL8P+t5rs1/0hex7Mx9EeVA2ksoHI//04oTn054sql4Ze77fK8PnhKkzTx6PUT1XFscOKm/PtoRMMTMPmAtYCEDitJiIEhTh3HBQ7cSo9y2grA9UdptzfrrNGWcmpSmnF+S8MlyfDVbC3WRZedplYdlBj62RcZGRbWdyDvs6qZtRf2KKxhbYwOz4v+e7Z/xaY9Xfa/OFzYnOf4rOdTtnbODV8WRR9crY8/1eGT4nTJ2d9KNhPVcWbk7IJZiZB8wFLOSLk4bHm/Exp3b8EFDTkwhM1n5SjNr0uKLNGWcmpS1nHwTU42G3TEBwyeXpt/HVhfgeskT/0fehzdpHtA3SqK1GhkQztiSXLp9xbHMu50EfmtHiMGTSn9a13Pv8/vyTE9sO+KIius7zqN8QJLz+jsB3ZOzNzwnZnhP/VE+TWh1115v+WX1JrqXi9CdQZe+S967NiTOG4VwZ1XNlwX0jO1RMOQk5j5lZgdMGN69JT54wCcTZ8+dclieHuL44LCZrvCqTMl6W1E9Iix9v07hfU6rm1ASoATM5pRwBIxZ034K9MgEBIxW63+oLN5cl2qTek23VB9yRHapta52QtWCnoW0X5exlfMhiFj6j/s7mZKk/WURC/rHfEcPxTcrAyA55sQsJC5XyiVmbNmnRL5UxvhX/RD3ZnpQ+j3rZ9k+gx9fXM2WR+3OW3BuGIePBoq+TVfb9rHVrajcE3hiGNhKO9Xw5gyxDO8zlJOQkZiYhZJsYqJsNXkYtSKsbCBIXRbuM/By0A7kEM5MQQi6lfFGXxA3dddAO5CLMTEIIIYSQqzAzCSGEEEKuwswkhBBCCLkKM5MQQggh5CrMTEIIIYSQqzAzCSGvYJ5PklN7TgkhhJADZiZZ4PF8hlMiudi8h3P6NA6BSoec1UOj8j+BrPeaZ5EoXFmcw8bqPYPD1kb5HtP+HklWpIE8Hd74zvq11jeS1vHfMFfq+N41huSPu/7wId4/PkJewswkG9zi2OYzi96neFGWPX1i4VYHRHV94zTM/lTN5pTRCZYs4Rjzcky7LC/WAVWQI4X6Q9rUjd8fNibf6m25e3i63vVrLG6zTd/fMFfeOoazsrw4Bo9b2IgQI6Mjf9tEgMxHNMN5VX4O/iUgS3k5EVPfi7jstZn7HPDjba6xN5kncooOY54kabc5BnpUVsag0lLgupMslVeCIxZIbbu6OYlPF3bsCuayiA5HmxNr3KP8Zbr+RN+7Y9J44xuV5W/Yfb/v3pyEbmSszXHrehPm+if0VMtwnH3o91P+uSoLxoDNZC5X/lBEs/xJMxxDnc/oDu1GU8U5MNVnYsdGhHwQM/NAmA+YdHBmBEQEIfnzEIxUXghiMhnwDg3rG6vZpiq3uKLNGWcmsy1nXHjqO0fwnovctlcmvLDo3UkWcEafmb4u7JlfStksGIvMZBkuyFisBvmv6KbvD+/VwWIXl5v3+u6oLMwXSdbmpCbI0paDPdvGxbZ94Zz4abCj74PNPMbmoNt0v9c/PVmS7xW7dL6oZNl6o/RoDMjHWIPPI6xJvzKno894+qzs2YiQjyH/Cw7dpzaYxyBfr0s9TJC4uoVg1N8XgqlMRitoDtuMAqh0bZszzkxmU84SRGoe5ApB3ivDdbaFKl/lTrKA08HR6De6prSHl+M1C8ganizhhXujcYaOB+mkbqz+YjciY7Lf4+vzbyVeA28p7t/WvNtmv+gL2fdmPojyoGwklQ9G/rkQJ8BhDJ4ss7kQyr/iT3P9HPTwxpDyi5xFPkefKu81uxPyNszMA+YCFgKQODsmogRFTAo4tnZ+1PsWUNYHKrvNOT/d5owzk9mU0wtyXhmuZ0HQ4U6ygNPB0ZBLj62RcZGRLMFfur40w75O6mbUnwy5GfPWt2/B0/VpOySs+nttvrA50flP0blu593+6cky6wvl+G9X16N2VX6Rs8jHzQn5VZiZB8wFLOSLc4fHlPFxpZ4wIaCmJxGYrP1kGrXpcUWbM85MZlvOPnjox8NemYCglMvTb9yrC/GdZAEjfcI2SKO2rHE0eUkuXT7jKEv0cy0D7qm6yPfYYxguKkMm/Wldy71P+RZu9jtgKKcwKrPtgC8qous8j/oNQcLr7wh8R8be/AyR7TnxT/U0qdVRd/0W//RkifarPijX0mHZaGZ/6GVMDH1+NIbcnuQXGZrNyUiflT0bEfIxzMwKnD1Mj5r0TjtMHpkk+XMuy5NKpow4OiZovArlkzZH/Hibxv2aUjUnI7gcmMkp5Qg0saD7FuyVCQg0qdD9Vl+4kyzCTJ/ZVvZC0i8Q2ra1TshasNNQFkNn0XdqXfTby/iQRSl8Rv2dzclSf7L4hPxjvyOG45uUgaEd0iIZEhY45ROzNm2STUtljG/FP1FPtielz6Ne9v1T2kw1amo3vrYsKFN6afpLbcIfZAORk5bV8/njGKqMmMehqugvt/39hBwjfU7GR8jPY2YSQraJAd7c2A4WH+IRF1O7jOxDfZJfhZlJCCGXop+2cEP3OtQn+WWYmYQQQgghV2FmEkIIIYRchZlJCCGEEHIVZiYhhBBCyFWYmYQQQgghV2FmEkJewTyfJKf2nBJCCCEHzEyywOP5DKc9crF5E84hXj44GTVVVPXqYVP5n07Wg6Zmh+y5tl2Rc3TY2ijfY9pfPHU0pjW9eeM769da30hax5wrv5d4RM+/a7fq1/TdH8bMJBvc4rjnM4vepzgpSzjmuxx/LhFx8cAobEzK6weknu4bZfqUS33vCpZtl+T0npxs6sbvDxuTb/XW2z083931awTx2aaPc+V3cgu7rfBB2/4aHfw9mJmK/G0TATIf0Qwjqfwc/EtAlvK43Y6f1TfW9hts32buc8CPt7nGntNO5BQdxjxJ0m57DPagrIxBpaUJeidZekS2E6dZjjcn8enC7uFTc9sO5MRcsMY9yl+m60/GuzsmjTe+UVn+Jtn3++7NSehGxlqeiomfrh1fjzLoqZbhOPvQ74fmSvPUCH1lnysyRJvV7vFOMvljOD6/v9HYpzrz6I/ZV29Kht3wYtRcpnUd5lwu+a6vJYg6EZ8IA0Ua1ZO+vmQ8+JhsYetzwtC2VZdBIsmLzUd5VnW247vkLZiZB4LdMQlgNLkI73KAc/XBSOUFBxOjw1lh+N7gZpuq3OKKNmeccVpbTgSHOrljcMtte2XCC4venWTJwCazha4BfcowMI4qV7RnfimlDoyrzGw7lBOLxyD/Fd30/eG9OlhEYlh9r++OysJ8kWRtTmqCLG05mOmzJS4q7YvqxE+DHX0fbOYxFt1uYX/rXDnYWmQpi3Q3N9J1LPPGl6+N/mZzc9KmDdqQOVL8J12nesG0ojP0GZ7eaf3J/MqyhPc8KV3g1qzrph5soMbwRAdyncvG+pwwsi3y4QMhFqCrqM8o65rO9nyXvAH5XzBcn9pgHoN8vS714AhwuhSM+vtCMBUnt4LmsM0ogErXtjnjjNOacpbJUvMgVwjyXhmusy1U+Sp3kgWEAHey/vHJCUwt9kGbTUBfw7OtK2foeJDOjs3oL3aDoJvv+fxbidfAW4r7tzXvttkvwkL2vfynKmt8EOVB2UgqH4z8cyFOWHMF/R6Tuk/L2sjtjC9db89Nr01vfJM529ot9pHLgl+m1pDG8td6ja0A+ldlx2TowcKzbcovYyl6nNuhqUd+CjPzgDlJQgASo8LRJCjC+DCgNjLq4XEgyhrjp7Ilh+v46TZnnHFaU04v6LgBSZgEF4+7yWI+cdhA20OPrZFxkZFtZ3IO+zqpm1F/YorGFlgodvzf890zfq2x6u+16SwaMx/U+U/RuW7nB+ZKS96o6SccYL4orvZXx7620B6Y6MSSO3xGPbU59uWv9Q62Qju5zRV5R4zGofLLWEo/azrb813yBszMA+YkCflixPD4Lz4G1I4RAmp6EgFn7J1m1KbHFW3OOOO0tpz9JNHBzCsT0uQO5em349WF+B6yRP/R96HN2ke0DVLbFgK/yJ/tJ0FFokqp14xNB8BFmnEF5nIe9KEZBc8hk/60ruXe5/fnn5ys2UHLVfH6OwLfkbE3j9uzPSf+qRfMRkfd9dvmiurPADoLP781C543Pvs6Mhn7pE2b6GflPsRzqZc3xK3dYv/xPvhz/ow21p6c9DbBtMW8rffN9Xn0QWFk2yBn1EkZS7M5metsz3fJGzAzKzBqcIOatPMFJ0lOhc+5LDuPuIYYNDotUiiftDnix9s07teUqjmpyTZkJqeUY0LFgu5bsFcmYEKlwhJUXG4uS7RJvSfb6hiQYhAKCQEkyVJtW+uErAU7DW27KGcv40MCd/iM+jubk6X+JMiG/GO/I4bjm5SBXTuAWZs2aE/uK5UxvhX/RD3ZnpQ+j3r56FyRO/VfDI3I5q2zmzu+nf4OY3d05qHth3qpv7BxCFmI8zVGSsOpvPb1Jb6IBH1XGTDuY72wOQgZ6AvjyZsTyOLrc+iDwtG2Mq6cI9ehKvpKA/t+ejqrdWta2eyRN2BmEkK2iYGsWUQyJcLbAZVYxEXDLvsb+MT4fqnOsFHZeqL4Tv52P/u1mJmEEHIp5YuspL9xQ/eJ8f0qnakNO57+eD/jfJK/3c9+MWYmIYQQQshVmJmEEEIIIVdhZhJCCCGEXIWZSQghhBByFWYmIYQQQshVmJmEkFcwzqmoqT/vghBCSIeZSRZ4PJ/hFEUuNu/hNX0+Ul2k+M8S66FK+Z8IxnNIkMyzSBSuLM5hY/WewWFro3yPaX/HsbflR7zxnbWD1jeS1vG/PFfaw8jse/ZIfnzZuSAt7x8fIQEzk2xwi2ONzyx6n+JFWfb1icX5W71RtYLTIvVpjrhePjFTsGQJx3ynNvJx+bo84D052dSN39947Ct4ut61Axap2abvX54rbx372TF8cOy3sC35mzAzFfnbJgJkPlIYTqjyc/AvAVnKywE7+l7EZa/N3OeAH29zjb1JOZFTdBjzJEm7zTHJo7IyBpWWAtCdZKlsBznpc2SvujmJTxd27ArmsogOR5sTa9yj/GW6/pyxr+CNb1SWvyn3/b57cxK6kbE2x5HrTZjrn9BTLQvvakH+Sf+M1bo2kh2iPmTssomMKftcizn21TFg7Po1/sqPypAsP9QMx17jQBiJ5EUTx3FM7ZDYsS0hC5iZB4JfY/LAKeUivLNA/jwEI5UXJq04Nd6JYH1jNdtU5RZXtDnjzKS05YwLT32HhCyopW2vTHhh0buTLGBXn3i3THipmgxDBtLYD/bML6W0FowZM1mGCzIWnUH+K7rp+/PGvoI3vlFZmC+SrM1JTZClLQd7to2LZvtCNvHTYEffB5t5jEW+23SfsUEre+w/l2EO5TbD0y2j/ePYvTEkny327HxYjWHrTdSjsSMfOtIv75NxRF/z7FDZsy0hU+R/wTH71AbzGOTrdakHR4+rWwhG/X0hmMqksoLmsM0ogErXtjnjzKQ05SzBoOZBrhDkvTJcZ1uo8lXuJAvY1WdwvxBY4/Xjq76ZN5ShPbwcr1kI1vBkCS/cG40zCmWnk7qx+vPGvoI3vtcWG7yluH9b826b/eItZN/Lf6qyxgdRHpSNpPLByD8ncaKVvd+c6DnUlmUOY/fGMJtDofwr/qTXz10Pb+wpv8hZ5HPsoPJe8xdCDpiZB8wFLAQgcVpMKAmKcG44qHZi1PsWUNYHKrvNOT/d5owzk9KU0wtWXhmuZ8HM4U6ygF19ijiNPPqbpB5bI+MiI1mCv3Q60Az7OqmbUX/e2FfwdH3GrzVW/b02X9ic6Pyn6Fy3c9IGrew32Jzgv10bjdpV+UXOIh83J+QSzMwD5gIW8sVJw+PG+NhRO34IqOlJBCZdPylGbXpc0eaMM5PSlrMPAvoxr1cmILjk8vRb9epCfCdZwEifsA3SoS3dn8jylG+UuX4ztnRfU3fCUZbo51oG3FN1ke+xx6AXgTUm/TljX2EopzAqs+2ALyqi6zyP+g1BwuvvCHxHxt78nJDtOfFP9TSp1VF3veGf5WeV9NOHrM6lrJ1DUbZcljmO3RtDtHv1XbmWPsoGNftRP7bE0lzRY8/tSX6RodmcjOxQ2bMtIVPMzAqcNrh5TXrHHCZBmohhYU9leXKI64vDpsksKZRP2hzx420a92tK1ZyMIHFgJqeUI2DEgu5bsFcmIGCkQvdbfeFOsggzfWZbWQtJ+MkjlEp/qbzattYJWQt2Gspi6Cz6Tq2LfnsZH7K4hM+ov7M5WervOPYZw/FNysDQDmmxCwkLlfKJWZs2afEulTG+Ff9EPdmelD6Pejnjn2GxLnWkb3wUW1b52hiCsiBLuqxJbzq8Oab02ciZ2kT7IlNOeoxDGwnHsVcZMf9DVdF7bvv7CTlGdpiMj5DzmJmEkG1ioDY3toNFhHjERdEuIz8H7UAuwcwkhJBLKV/UJXFDdx20A7kIM5MQQggh5CrMTEIIIYSQqzAzCSGEEEKuwswkhBBCCLkKM5MQQggh5CrMTELIK5jnk+TUnlNCCCHkgJlJFng8n+HURi427wInnKYlvTvEy6MeDhVTPmdE58d/AlkPjDLPIlG4tnUOG6v3DA5bG+V7TPt7JFmR1vTmje+sX4/sEMo4V8aEjey99VJtS/uRH8PMJBvc4tjmM4vepzgpCzYm5TUCOI1zsQ0EztFmA23q0yp1HytYtg3Hiis5pfOmPBAWnEHa1I3fHzYm3+rttXt4vrvr154dMjzifIOzc/qDsYD2Iz+ImanI3zYRIPNRy3BQlZ+DfwnIUl5OxNT3Ii57beY+B/x4m2vsTdiJnKLDmCdJ2m2Psx6UlTGotBSc7iRLy/s3J/Hpwu4hUnPbig5HmxNL/lH+Ml1/oqfdMWm88Y3K8rfovt93b05CNzLW8jRN/PR4bLrtu1nGkNCn9l2P/sh4/dZf0+erHCiCbWPX8DuvLLZZp0unl7PzaFjPl8XXdWUv1hHyEmbmgeDzmJBwWAREBCH58xCMVF4IEOLweIeG9Y3VbFOVW1zR5owzE9aWE4ExyhHvw3sucttemfDConcnWUJdEQfy1PZ9moUoBNVaBnvml1KWRWaDmW3Rt7kgYyEb5J/WjdD3h/fqYAGNGniv747Ksr6tzUlNrR0yM322xAW1feGc+Kmyo+m7B92L/b+1v45IflJ0qP3G8fngs/I5vRAw2EdkCX96ZaWtgV7O+sqonivLXNdgz36EvIT8Lzhtn9pgHoN8vS71MAlihAjBqL8vBFOZ4FbQHLYZBVDp2jZnnJmwppxG0IJcIch7ZbjOtlDlq9xJlszOk5MWvB23bmykGTG12Acvx2sWlzU824YX7o1kDB0P0kndWP3FbrDg5Hs+/1biNVo7ZPba7DcEQud7lu/CF48p3efFAs9vu35B8XlVr4wv3++V4XPC1MvZeTSq58oy13VTj5DPY2YeMBewEIDEoTFJJSjC8eG82sFR71tAWR+o7Dbn/HSbM85MWFNOLwB6Zbg+G8iEO8miORsIdT09tkbGRUYyBH/pdKAZ9nVSN6P+xBSNLbCB2fF/T8dn9Z+x6u+1eW5zYvnnEp5tPJ/3Fn2vDJ8Tpl7OzqNRPVcWbk7I7TAzD5hBIOSLA4dHn/ERqJ4UIaCmJxGYyP2EGbXpcUWbM85MWFvOPkCoR8dumYDAk8vT7+arC/E9ZMFGV+TIdpDAKJFR9RFtg9S21ddTfQvN2JJcte6co22jn2sZcI+W86APzWjhGDLpT+ta7n1+f/7JyRk7ZLz+jsB3ZOzNTw2tr459V/o55M+Iuq7+ItfSftwUOj6vbFry3rU5yX0a88i2gzCq58oy13VTj5DPY2ZW4NBhCtSkJ1aYIDIR8udclieOTAtxZkzkeFUmbLwsqZ+sFj/epnG/plTNyQjGB2ZySjmCSSzovgV7ZQKCSSp0v9UX7iQLSIE0VhN7dG1mWx2DsV2v2rbWCVkLdhra1tBZ9J1aF/32Mj5koQufUX9nc7LUnywwIf/Y74jh+CZlYNcOYNamDdqT+0pljE/pMeXmNPRdufO/pb9zIugxoL/pfJD7c5bcG0QVmbHo62SVfT9r3ZqOm6+c38+joR2EYz1fziDLSNeqbk3WppCQt2JmEkK2iUG8WSQzarFa3UCQuGDaZeS9UNfkdpiZhBByKeVLvCRu6D4LdU1uiJlJCCGEEHIVZiYhhBBCyFWYmYQQQgghV2FmEkIIIYRchZlJCCGEEHIVZiYh5BXM80lyas8pIYQQcsDMJAs8ns9wgiQXmzcxOYRtRjxAqtqiHiiV/3lkPUzKPItE4dp2RU5sTqzD1kb5HtP+HklWpDW9eeM769da30hax79lrtQxvEvO5HO7Nv8Q7x8fIR/DzCQb3OJI5zOL3qc4KUs4Orw7vr6/ZwwWcJzg2dqiP4Ib1/XkyzmWbZfk9J6cbOrG7w8bk+9Svovnu7t+jYVvtun7Lcefv1XOs3Pzg3P6t9iB/NOYmYr8bRMBMh/fDMdW+Tn4l4As5eVETH0v4rLXZu5zwI+3ucbeRJ/IKTqMeZKk3eaI6FFZGYNKS0HtTrL0iGwbmxMsjLBZb4u6OYlPF3bsCua2HciJuWCNe5S/TNef6Ht3TBpvfKOy/O277/fdm5PQjYy1OYq9bMJ8361PCCShT+27C5hyuvMBdkllkBMbxlyubF6mx8y3h/Oojhvdod041Ojnvs4qO3Yg5CLMzANhrmBCwtEREBGE5M9DMFJ5IUDIRME7LaxvrGabqtziijZnnJnotpxx4anvAME7MHLbXpnwwqJ3J1kyKwtdQfXX2wL2zC+lbBaTRfr2eoZyYiEb5L+im74/vFcHC2Fcit7ru6OyMF8kWZuTmiBLWw5m+myJC3H7MjrxU2VH03cPuhf7r75bJ3GU0/P55F9F952/KZtvvTV65CvIx0Ys+LUMH2OVsUe/mOsM7NmBkEuQ/wVn71MbzGOQr9elHiZPjBAhGPX3hWAqE9UKmsM2owAqXdvmjDMT3ZSzBJiaB7lCkPfKcJ1tocpXuZMsILzIbqO+lr+3RXRNyUObzeKyhmdbV87Q8SCd1I3VX+xGZEzjf3x9/q3Ea+Atxf3bmnfb7DcEQud7lu/CF48p3bcQC8BBTs/nZ/4eyr/iz29dPy6jdlV+kbPIN9dZU4+Q+2JmHjAXsBCAZCJgkkpQxISB0+uJgXrfAsr6QGW3Oeen25xxZqKbcnoB0CvD9SxAOtxNFvOJg4N03SbxyVymx9bIuMjItjM5h32d1M2oPzFFY4utb+aC57uvLmBW/b02z21OLP/c5SCn5/Mzm6Ic/+3qc9Suyi9yFvm4OSF/DWbmATMIhHxx/PAIMz7K1JMpBNT0JAITuZ9oozY9rmhzxpmJbsvZBxb96NgrExCwcnn6/Xt1Ib6HLNF/9H1os/YRbYPktdXIITRjS3LlshX69lbkPOhDM1pwhkz607qWe5/yDd3sd8BQTmFUZtsBX1RE13kePbVcFa+/I/AdGXvzE0Xrq2PflX4O+esc5fR8Ptqo+plci1xlM5lt3tiqMvRrfb+eR8qHigzN5sTXWVOPkPtiZlYwEcLUqUnvwsPEkgmUP+eyPOFkOskkwOSNV6F80uaIH2/TuF9TquZkBJ4DMzmlHEEoFnTfgr0yAUEoFbrf6gs3lyXapN6TbXUI4gEJyqFUUgrc1ba1TshasNPQtoty9jI+ZMEKn1F/Z3Oy1J8sTCH/2O+I4fgmZWBoB+efPM/atEkbglIZ41N6TLk5DX1X7sTPKkv9pRo16U2HNx/U2CFnkSW1CZvLBiInrTvPr4/zqMqI8YaqoqPc9vfT0dlsfITcCzOTELJNDP7mxnawMBGPuNDaZcSGOiN/DWYmIYRcin7awg3dGtQZ+YswMwkhhBBCrsLMJIQQQgi5CjOTEEIIIeQqzExCCCGEkKswMwkhhBBCrsLMJIS8gnk+SU7tOSWEEEIOmJlkgcfzGU6C5GLzJpxDvHx0vXrYVj2IKv+zyngOCZJ5FonCte2KnNicWIetjfI9pv3FE0ljWtObN76zfq31jaR1zLlyb+IxPP+ubarv0j9vhJlJNrjFUdBnFr1PcVKWcAR4Of5couXiYVLN8dxSTy+K/dHduK4nZs6xbLskp/fkZFM3fn/YmHyrN+Lu4fnurl8jwM82fTw2/b78Gtt8MNbRP2+FmanI3zYRIPPxzTCgys/BvwRkKY9b8fhZfWNtv8H2beY+B/x4m2vsOfRETtFhzJMk7bZHZA/KyhhUWpq8d5KlR2Q7szmBD6r+all8urB7MNXctgM5Ozmm+ct0/Ym+d8ek8cY3KsvfMvt+3705Cd3IWGHDmKyj2G3fbZ7ioE/tu0POtFlfeZE3jXUK4L1j8sfJMYzmmK+XCf0x++pNybANXn6ay8qcErAprqL0TyfF7mGgSKN60teXjAcfk/+fstEwvlRdBokkLzYf5VnV2Y5/ko9jZh4IPoEJAoPKRXjPAxyvD0YqLzifOAQcGU7RO4PZpiq3uKLNGWcc2pYTgaNO/Bj4cttemfDConcnWTKwyWyhK6A/CY7hPwm2OsjBnvmllDporjKz7VBOLCyD/Fd00/eH9+pggYkh972+OyoL80WStTmpCbK05WCmz5a44LQvsRM/beyLrjrfPehe7L/0bp3Ifpud/6frWHZyDLP5N2nTBm3IPCg+kq5TvWA+8U30GZ7QaT+VOZRlCe9yUrrArdmnm3phXtYxPNGBXOey0zYazSHki2aeYb6jq6jPKOuazvb8k3wY+V8wap/aYB6DfL0u9eAkcMgUjPr7QjCVCWAFzWGbUQCVrm1zxhmHNuUsE6nmQa4Q5L0yXGdbqPJV7iQLCMFvoz7egFs2JPLN8CvLIUTXFPugzSbYr+HZ1pUzdDxIJ3Vj9Re7QUDO94guVPkMb3yvBWq8pbh/W/Num/0CLXS+Z/kufPGY0n0LsWC7Tdyj5WpkPDeG/h5Q55jTpje+ybxsbRP7yGXB91JrSGP5a70mJgD0r8qOydCDxWgcKr+MpehxboemHrkDZuYBcwKFACQGhxNKUIRjwLjaAVAPjwpR1jhGKltyxo6fbnPGGYc25fQCkhushEng8bibLO03qjmtz0kQUn3rsTUyLjKy7UzOYV8ndTPqT0zR2AKLyI7/e757xq81Vv29NucLyqrv7nCuzbwZ0084wPvGUH1qbaE9MPE9S+7wGfXUBtiXv9Y7zAG0k9tckXfEaBwqv4yl9LOmsz3/JB/GzDxgTqCQLwYOjwbjI0LtNKiTn0TAUXuHGrXpcUWbM844tC1nP4F0oPPKhDTxQ3n6XXl1Ib6HLNF/9H1os/YRbYPUtwUfrE9OvoabkyxXLluhGVdgLudBHxoVQNeY9Kd1Lfc+vz//5MS2AxZn0XWeR08tV8Xr7wh8R8bePIpvfXXsu9LPIX+Ns21CL+EntmbBe2UM3vzz27SJvlTuQ8yWennT29om9h/vg8/mz2hj7clJ65u4T5wml4X75vo8+pmg29XxRc2tMpZmczLX2Z5/kg9jZlZg8OAiNWnHDA6UHA6fc1l2LHEbMXZ0aKRQPmlzxI+3adyvKVVzUhNxyExOKcdkiwXdt2CvTMBkS4Ul4LjcXJZok3pPttUhWIXAE4qCLLlOtW2tE7IW7DS07aKcvYwPCerhM+rvbE6W+pMAHPKP/Y4Yjm9SBoZ20H/ZEnZQPjFr0wbtyX2lMsan9Jhycxr6rtyp/xLnkJfblA1aZ5u3jaGZY06bM7SNUC/1FzYOIQuxvMZBaTiV176+xN+QYP8qA8Z9rBc2ByEDfWE8eXMCWXx9Dv1MOMYXGVfOketQFX2lgX0/PZ3VujWtbPbIhzEzCSHbxCDXLDCZEv3tYEss4oJil/0WPjGGX6oXbFS2nhq+k7/Bl/45zExCCLmU8iVX0m/d0H1iDL9KL2pTjqc/Z39qe5W/wZf+QcxMQgghhJCrMDMJIYQQQq7CzCSEEEIIuQozkxBCCCHkKsxMQgghhJCrMDMJIa9gnGFRU38WBiGEkA4zkyzweD7DCYtcbN6Ec4iXx8gO9cCl/M8Hpf10bZ5FonBtuyInNifWmQ6jfI9pf48kK9Ka3rzxnfVrrW8kreO/fa60h5HZ9+yRfPWyc0Fa3j8+QqaYmWSDWxx5fGbR+xQnZQlHa5fjzyU0bx6aZNmhP6Ia18unaQpWm0tyek9ONnXj94eNyXcp38Xz3V2/xgI22/TdYq58kLeO7+yc/mAs+NvtR26FmanI3zYRIPNxw3BQlZ+DfwnIUl4O39H3Ii57beY+B/x4m2vsTdiJnKLDmCdJ2m2OUB6VlTGotBSc7iRLj8j21s1JfLqwewDT3LYDOTEXrHGP8pfp+hN9745J441vVJa/Rff9vntzErqRsTZHlZdNmO+79Zu+JPSpfXdAdN3URvbjpOvYnoxPNooxZb9qMcfnziPYM5VhfPo1/spXyrSazYnh/Kv6CiORvKiiOA5f15Ud+xHyImbmgeDzmFhwWLkI7zOQPw/BSOWFCS0Oj/clWN9YzTZVucUVbc44M2FtOePCU98vgXdE5La9MuGFRe9OsmRgk9lC12PZAfbML6W0FpMZVpuaoZxYkAb5r+im7w/v1QkvmxMTihHf6rujsjBfJFmbk5ogS1sOZvpsiQtq+7I28VNlR9N3D7oX+6+8W0do5Yt+nsvQV7ZdeIJl2PE4Pm+uJL8sNuv8VPnK1tumRz6GfGy+9Mv7ZBzRn+a6Bnv2I+Ql5H/BafvUBvMY5Ot1qYdJECNECEb9fSGYyoSzguawzSiASte2OePMhDXlLIGi5kGuEOS9MlxnW6jyVe4kCwgvsjtR37JDdE3JR5vNIrGGZ1tXztDxIJ3UjdVf7EZkTPZ7fH3+rcRr4C3F/duad9vsF3ah8z3Ld+GLx5Tum8SCVr5+c6L7assyh/F5c2U2T0L5V/zZrhujy6hdlV/kLPLNdd3UI+TzmJkHzAUsBCBxaEw2CYpwfDivdnDU+xZQ1gcqu805P93mjDMT1pTTC2ReGa5ngc7hbrKYTxwWsOygx9bIuMjItjM5h32d1M2oPzFFY4utb9iC57tn/Fpj1d9r89zmxPLPVVr5brA5wX+7dhi1q/KLnEU+bk7I7TAzD5hBIOSLA4dHkfGRpJ4UIaCmJxGYkP2EGbXpcUWbM85MWFvOPkDoR8BemYDAk8vT79irC/E9ZIn+o+9Dm7WPaBukUVuNDIlmbEkuXT7j2OZczoM+NKOFY8ikP61rufcp37TNfgcM5RRGZbYd8EVFdJ3n0VPLVfH6OwLfkbE3PzW0vjr2XennkD+n/KySfvqQ1bmUtX3FOZDLMsfxeXMl2rb6p1xLH2UTmn2lsXFlOB/0/Xr+Kd8rMjSbE1/XTT1CPo+ZWYFDhylQk95NhwmSJmlY2FNZnjgyLcSZ00SXFMonbY748TaN+zWlak5GADkwk1PKEUxiQfct2CsTEExSofutvnBzWaJN6j3ZVn0wHtmh2rbWCVkLdhradlHOXsaHLDzhM+rvbE6W+pMFJuQf+x0xHN+kDIzs4P2T51mbNmlhL5UxPqXHlJvT0HflTvw8Mu9PwGKd6uBpcPzV7KlkaOMEyoKc6bImvenw5pHSWegzjyG1ifZFppy0zod2EI7zr8oIPYWqotvc9vfT0fVsfIR8BjOTELJNDOLmxnawwBCPuGDaZeS9UNfkdpiZhBByKeVLvCRu6D4LdU1uiJlJCCGEEHIVZiYhhBBCyFWYmYQQQgghV2FmEkIIIYRchZlJCCGEEHIVZiYh5BXM80lyas8pIYQQcsDMJAs8ns9woiMXm3eBE07Tkt4d4uUyOPyrHiiV/3lkPUzKPItE4drWOWys3jM4bG2U7zHt75FkRVrTmze+s36t9Y2kdcy58gHCBvje+mwPr7PvIWSAmUk2uMWRzmcWvU9xUhZsTMprBHBS52Ib4QhwVS+cfJnK0KY+yVL3sYJlW6+/Qlg4BmlTN35/2Jh8qzfb7uH57q5fYyGabfreOlc+4fN3mkdnOTuGD479FjGS/DbMTEX+tokAmY9hhqOp/Bz8S0CW8nIipr4XcdlrM/c54MfbXGNv4k3kFB3GPEnSbnvU9aCsjEGlpSBzJ1ladjYnLTImc3MSny7sHjA1t23bXwFzwZJ/lL9M15/oaXdMGm98o7L8bbjv9yObk+6pUXhnDvInfhb8J2W3R9c7Pv+K7/bH0Os3CZtzpcqBIvhEVCv81SuLbVZRO32eHcOwni9L+Cz+WJ54Sr61+d+2OyFGhknwXUwsOJ5chPc1yJ+HYKTyQhATx0VgsL6xmm2qcosr2pxxZuLZciLA6UCKd2Dktr0y4YVF706yhLoiDuSp7a/TL5BxcwL5amDfYWbb4YKMBWmQf1o3Qt8f3quDhTAuDe/13VFZmC+SrM1JTZClLQczffY08zEs2ot+JjbP/hPePdTZwvZ51Dtjn+RfRffa35y5EnxdPqeXDAYZRZbwp1dW2hro86yPjeq5ssAm4gvNCwNFr91c27U7IYL8Lzhfn9pgHoN8vS714Mxxpodg1N8XgqlMVCtoDtuMAqh0bZszzkw8U04j+ECuEOS9MlxnW6jyVe4kS+bMk5OwCHV1pBkxtdgHZc0isYZnW6u/Quh4kE7qZji+sHDkez7/VuI18Jbi4wZzu034QVAakvIx4PhZ0FWqhdT7q+nzYNSmF0M8f4f8o7mi6hW95Pu9MnxOmPr05PEY1XNl6TdfuqzmbdudECPDxJ7MCEDimJhsEhThwHBC7aio9y2grA9UwwAx4afbnHFm4plyeoHMK8P12YAk3EkWzY5eg/06mXJ+Hlsj4yIjGUb9ZYZ9ndTNeHztwotFecf/PR2f8WuNVf+VNh9P0Z1eCL3FVG3YLH81fR6csY9Xx5srql7RS77fK8PnhKnPM2MAo3quLNyckI9hZh4YTWY8wsMTh/zoXDt3CKjpSQQmZO/4wwDhcEWbM85MPFtO5xGwWyYggOTy9Pv36kJ8D1mw0RU5sh0kwEmEU31E2yC1bUW/03mQJddrxpbkyvet0Iwr4PdX7+nrJUYLwJBJf1rXcu/z+/NPTkZ2aO2n5ap4/R0R39GbjGas3bX2s6DjZGf9U0SuJwzjxKjN/r6GaKPqZ3ItFeNm0pkrQc7oCyXvXZsTZwy2/YRRPVcW3IexVp+2dGvKSYiPmVmBYwZXrklPkODo4tD5cy7LE0DcW5wyBgikMvHiZUn9pLP48TaN+zWlak5NEBowk1PKERRiQfct2CsTEBRSofutvnAnWUAKiLGa2KNrM9uqCarGGKIttW1rnZC1YKehbZ3+cl302wf+hyxY4TPq72xOlvqThSLkH/sdMRzfpAyYdgCO/WZt2qA92Z6UusfxjfxM53+JfpBCXUOf/Vx/2Xf7etJnbTLPFbk/Z8m9QT+iEyz6Olll389at6Z2Q+CNYWg/4VjPlzPIAlsWA0u9tEHVdWsabAoJOWJmEkK2icG4X+wCatFZ3UAQcn/i5sQuI+QlzExCCCHEpTwwkcRNN3kzZiYhhBBCyFWYmYQQQgghV2FmEkLugPefdT8hhPwdmJmEkDsw2oRwc0II+bsxMwkhd4CbE0LIP8f//vwfNxcKFJqiR6QAAAAASUVORK5CYII=" alt="">

注意这些hooks文件都要有可执行权限

如果我们要使用svn的hooks,那么就在hooks文件夹下新建文件名为hooks类型的文件(例如pre-commit,没有后缀,名字也不能随意改)并为文件赋予可执行权限,或者直接复制模板文件去掉.tmpl后缀然后进行修改

接下来我们看两个常用的例子来加深对hooks的理解

限制log提交规则

良好的svn log规范,有利于我们对项目的管理,尤其在多人协作开发的过程中,清晰、规范的log能大大降低沟通成本,提升开发效率。因此我们会制定相应的规则要求所有开发按照一定的规范提交log,这些规则通常依赖所有参与者的自觉,效果可能并不是很好,有么有办法强制参与者按照既定的规则提交log呢?

pre-commit这个hook就能很好的帮助我们实现这个需求,每一次代码提交前都会触发pre-commit脚本,那么我们就可以在脚本中判断log规则是否跟我们预先定义的一样,不一样则不允许提交

假如我们有如下log提交规范


代码提交记录以简洁、表意清晰为基本原则,建议每完成一个功能模块都单独提交一次代码,每个提交记录应包含以下信息:[功能模块][任务类别]描述,例如:

  • [新闻][dev]新闻模块添加搜索功能
  • [评论][bug]修复评论功能在IE浏览器下样式错乱的问题
  • [ops-coffee活动][misc]活动Q&A文案调整,添加“运维咖啡吧”公众号二维码

[功能模块]

当前提交的功能模块名字,不固定,例如:新闻、评论、ops-coffee活动等

[任务类别]

任务类别只包括dev、bug、misc几种,不能自定义

  • dev:表示此次提交为功能开发相关代码
  • bug:表示此次提交为代码修复相关代码
  • misc:表示此次提交为完全非功能性变动及杂项变动代码,例如文案微调、补充注释等

描述

  • 描述内容务必简单明了
  • 如果一次提交包括多个内容,使用“1. abc; 2. def” 分别说明

接下来我们利用pre-commit每次提交前检查是否符合上边定义的规范,具体配置如下

  1. 我们先创建pre-commit的hook脚本,内容如下
#!/bin/bash
REPOS="$1"
TXN="$2" SVNLOOK=/usr/bin/svnlook
LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS")
LOGFORMAT="\[(.+)\]\[(dev|bug|misc)\](.+)$" # 判断提交log与预设的规则是否匹配
[[ ${LOGMSG} =~ ${LOGFORMAT} ]] || exit 1 exit 0

LOGFORMAT为我们根据规范写的正则表达式,符合[xxx][(dev|bug|misc)]xxx这样的规则即可

通过svnlook命令拿到本次提交的log记录,然后与预设的正则进行匹配,通过则继续往下走,不通过则直接退出状态1

最终exit退出状态为0时则表示全部规则验证通过,进行后续的代码提交操作,非0时表示验证失败

可以在hook脚本中写多条不同的验证规则,每条规则不通过时返回不同的状态码,这样后续不通过就知道哪里验证失败了,例如检测提交的文件名不能包含有空格,不然就exit 2等

  1. 别忘了给hook脚本加上可执行权限
# chmod +x /home/svn/repos/ops-coffee/hooks/pre-commit

这样就ok了,很简单,再提交log时就会按照定义的规则来判断,如果判断不通过则直接报错'Commit blocked by pre-commit hook'让你重新写log

aaarticlea/png;base64,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" alt="">

提交成功发送邮件通知

看了上边强制log提交规则的示例,想必对SVN hooks有了一定的了解,那么我们趁热打铁再来看一个提交成功发送邮件的例子

假如我们有一个账号叫merge,专门用来合并上线代码,经过这个账号合并的代码自动触发发布API更新代码到生产环境,其他账号合并的代码发送邮件通知给leader@ops-coffee.cn的邮箱,那么该如何实现呢?

  1. 首先是代码提交(合并)之后触发,那么就需要用到post-commit这个hook,具体内容如下
# cat /home/svn/repos/ops-coffee/hooks/post-commit
#!/bin/bash
REPOS="$1"
REV="$2" export LANG=zh_CN # svn info
AUTHOR=$(svnlook author -r $REV $REPOS)
MESSAGE=$(svnlook log -r $REV $REPOS)
CHANGED=$(svnlook changed -r $REV $REPOS)
REPERTORY=$(echo $REPOS | awk -F'/' '{print $NF}') LOGFILE="/tmp/.svn_hooks_post_commit.log"
echo "$AUTHOR 版本库:
$REPERTORY - $REV 更新LOG:
$MESSAGE 更新内容:
$CHANGED
" > $LOGFILE if [ $AUTHOR == merge ];then
curl -H "Authorization:Token 3w2290j02baa1xb8cemec35k8b" "https://ops-coffee.cn/api/deploy?p=${REPERTORY}&v=${REV}"
else
mail -s "SVN 更新通知:系统版本号【$REV】" leader@ops-coffee.cn < $LOGFILE
fi

通过svnlook命令获取到提交者、LOG、更新内容的数据,然后将数据拼装成邮件的正文,以便下边发送邮件

然后if判断提交者是不是merge,如果是则通过curl命令调用deploy的API,API会根据所传的两个参数v:仓库名和p:版本号将代码发布到对应项目的生产环境上,如果不是则发送邮件通知

以上为演示代码,生产环境的发布各位根据自己实际情况调整

  1. 同样不要忘了给脚本添加可执行权限
# chmod +x /home/svn/repos/ops-coffee/hooks/post-commit

这样就ok了,每次代码提交(合并)之后就会判断是哪个账号的提交,确定是发送邮件通知还是直接部署上线


aaarticlea/png;base64,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" alt="长按关注公众号查看更多原创文章">

如果你觉得文章对你有帮助,请转发分享给更多的人。如果你觉得读的不尽兴,推荐阅读以下文章:

SVN Hooks的介绍及使用的更多相关文章

  1. linux svn hooks代码自动更新至项目

    由于开发移动端web,ui需要及时看到样式变化,所以通过svn hooks(钩子)来提交文件,然后再把文件同步到测试服务器项目目录,步骤如下: 1.进入 /home/svn/cmall/hooks ( ...

  2. php利用svn hooks将程序自动发布到测试环境

    利用svn hooks将php程序自动发布到测试环境 复制仓库hooks目录下的post-commit.tmpl为post-commit cp post-commit.tmpl post-commit ...

  3. 设置SVN hooks实现自动发布

    # CentOS下安装SVN yum -y install subversion svnserve --version cd /home/ mkdir svn cd svn/ /usr/bin/svn ...

  4. svn hooks使用

    最近要将某个目录做samba共享出去,而想通过svn同步文档到svn,然后通过svn hooks 同步到共享目录,实现自动化 现在svn服务器和samba server再同一台机器上: 在svn路径下 ...

  5. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  6. svn使用方法介绍(1)

    TotoiseSVN的基本使用方法 在 项目管理实践教程一.工欲善其事,必先利其器[Basic Tools]中,我已经讲解了怎样安装TortoiseSVN.在上面的讲解中已经讲了怎么使用VisualS ...

  7. SVN hooks强制提交时填写日志

    #!/bin/bash REPOS="$1" TXN="$2" #svnlook路径 SVNLOOK=/usr/bin/svnlook #通过svnlook获取 ...

  8. svn hooks的使用demo

    我是理论家: svn server端提供了Hooks Script.所谓钩子实际上是一种时间触发机制,是指当系统执行到某个特殊的事件时,触发我们预定义的动作,可以让我们在某些特定状态发生的时候做我们想 ...

  9. 版本控制工具(SVN/Git)介绍

    文章大纲 一.SVN介绍二.Git介绍三.IDEA使用SVN和Git四.总结五.参考文章   一.SVN介绍 1. SVN服务器搭建和使用 首先来下载和搭建SVN服务器,下载地址如下: http:// ...

随机推荐

  1. C/C++ %s %d %u 基本概念与用法

    %d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的 ...

  2. chrome用type=file获取图片路径并转base64字符串

    1 html页面 <div class="col-sm-2" style="height: 200px;margin-top: 14px;"> &l ...

  3. 用jquery制作一个二级导航下拉菜单

    1使用$(function(){...})获取到想要作用的HTML元素. 2通过使用children()方法寻找子元素.       3通过使用show()方法来显示HTML元素.       4通过 ...

  4. java后台技术

    本文旨在梳理服务端开发技术栈,希望帮助后端开发同学更全面了解Java服务端主要涉及的知识点 1. 语言相关 1.1 Java 核心知识点 Java的类加载机制 JVM相关:JVM内存模型和结构,GC原 ...

  5. fastscript例子一

    fastscript例子一   fastscript例子一 unit Unit1; interface usesWinapi.Windows, Winapi.Messages, System.SysU ...

  6. 统计--VARCHAR与NVARCHAR在统计预估上的区别

    最近遇到一个问题,当查询使用到模糊查询时,由于预估返回行数过高,执行计划认为索引查找+Key Lookup的成本过高,因此采用Clustered Index Scan的方式,消耗大量逻辑IO,执行计划 ...

  7. ElectronNetTest

    系统环境:Ubuntu 18.04.2 Desktop 软件环境:asp.net core 2.2,Node.js(version>8.6) Github上有人说不支持 asp.net core ...

  8. C# Winform右下角弹窗方式

    [方法一] 第一步:winform项目创建完成后,添加一个窗口,命名为:Messages .(加上最开始的Form1,一共为两个窗口),双击主窗口进入后台代码 . 第二步:在Messages 窗口中添 ...

  9. NPOI自适应列宽

    当本地没有安装Excel,但是又想导出Excel,采用Office插件是行不通的,NPOI是导出Excel的一个开源的插件.在导出Excel后,为了方便阅读,可以才采用自适应列宽的方式使得单元格的宽度 ...

  10. C# 根据偶数、奇数加载不同颜色

    效果图: C#后台代码 //偶数随机 Random evenRanm = new Random(); //奇数随机 Random oddRanm = new Random(); string[] li ...