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