基本上我想和there上的家伙做同样的事情。
似乎每个人都在考虑服务器端钩子(具有所有邪恶潜力)。
我希望在提交之前运行客户端脚本,这样astyle可以按照我老板喜欢的方式格式化代码。
由于我的IDE(VS2010Pro)会自动检查磁盘上的文件发生变化,并选择重新加载,因此没有任何真正的恶意。
AnkhSVN有没有(干净的)方法来实现这一目标?
也许有一种方法可以扩展VisualStudio来调用我的预提交脚本...
答案 0 :(得分:3)
似乎AnkhSVN正在使用TortoiseSVN的钩子脚本,因为有a conversation about it being in the nightly builds。 daily updates似乎也提到了挂钩(例如revision 10870和revision 10873。
尝试获取daily build并在Visual Studio中查看Tools->Options->Source Control->Subversion Environment
中的subversion选项。如果这不起作用,请尝试打开Windows注册表到HKEY_CURRENT_USER\Software\AnkhSVN\VisualStudio\<Version>\Configuration
(其中<Version>
应为10.0)并添加名为EnableTortoiseSvnHooks
的字符串,其数据为True
,如上所述在上面的对话链接中。
答案 1 :(得分:1)
Visual Studio&gt;工具&gt;选项
答案 2 :(得分:0)
如果您可以离开AnkhSVN并切换到TortoiseSVN,您将获得对客户端挂钩for free的支持。
您可以将任何可执行文件用作钩子,并根据钩子脚本的类型传递不同的参数。
pre-commit
钩子例如获得以下参数:
PATH DEPTH MESSAGEFILE CWD
元素如下:
PATH
包含启动操作的所有路径的临时文件的路径。每个路径都位于临时文件中的单独一行。
DEPTH
提交/更新的深度。
MESSAGEFILE
包含提交日志消息的文件的路径。该文件包含UTF-8编码的文本。成功执行start-commit钩子后,会回读日志消息,让钩子有机会修改它。
CWD
用于运行脚本的当前工作目录。这将设置为所有受影响路径的公共根目录。
虽然TortoiseSVN没有集成到VS中,但我认为值得一看,因为你也可以将它用作其他项目的通用客户端(即你所做的所有其他编码/脚本编写的东西) VS)。