这篇文章针对以下情况:
- 使用VPN来管理文件
- 使用飞鸽或飞秋作为局域网交流软件
- 想要在某用户commit自己的文件时,其他用户都收到通知,因此可以适时update
下面是设置方法,写的很简略,如果熟悉svn和python肯定能看明白,如果有疑问就问我吧~ 不想写太繁琐了
1.写Python脚本
首先写一个Python的脚本用于发飞秋消息。可选的是这个脚本能够接受参数(个数和用途取决于下一步的hook)
以下就是一个简单脚本,具体为啥这么写请自行Google,可能最难理解的就是发送的那一串bytes,其实就是按照飞秋和飞鸽的协议写的。
#coding=gbk import socket import sys udp=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) udp.connect(('SUXJ',2425)) #自行替换主机名 udp.send(bytes('1:100:MSG:MSG:32:('+sys.argv[1]+') '+sys.argv[2]+'更新了文件哟~','gbk'))
这里只是简单的写了自己的主机,当然可以用一个for来群发。
这个脚本保存,路径假设为 X:/Y/send.py。然后下一步~
2.设置Repositoris属性
然后为Repositoris添加hook,所谓的hook就是钩子的意思,意思就是某个事件发生时就钩起你指定的命令。
右击Repositoris选择属性->hooks,在比如说start-commit里双击,这里添加命令,简单的可以直接写命令行的命令,复杂的可以写类似bat的cmd格式命令,这里我们这么写:
c: c:\Python31\python.exe X:\Y\hooktest.py %1 %2
这样以来一旦hooks收到挑逗便会执行这串命令,将参数(路径和用户名)传递给我们写好的py脚本,脚本把参数发给主机,
3.设置完成
现在commit试一试?很爽吧~