3

基本上我想和那边的家伙做同样的事情

似乎每个人都在考虑服务器端钩子(具有所有邪恶的潜力)。

我希望在提交之前运行客户端脚本,以便 astyle 可以按照我老板喜欢的方式格式化代码。

由于我的 IDE (VS2010Pro) 会自动检查磁盘上的文件何时更改并选择我重新加载它,所以这一切并没有真正的邪恶。

是否有任何(干净的)方法可以使用 AnkhSVN 实现这一目标?

也许还有一种方法可以扩展 VisualStudio 来调用我的预提交脚本......

4

3 回答 3

3

似乎 AnkhSVN 正在使用 TortoiseSVN 的钩子脚本,因为有关于它在夜间构建中的对话每日更新似乎也提到了钩子(例如修订版 10870修订版 10873

尝试获取每日构建Tools->Options->Source Control->Subversion Environment并在 Visual Studio中查看颠覆选项。如果这不起作用,请尝试打开 Windows 注册表HKEY_CURRENT_USER\Software\Ankh​SVN\VisualStudio\​&lt;Version>\Conf​iguration<Version>对您来说应该是 10.0)并添加一个以EnableTortoiseSvnHooksdata命名的字符串True,如上面的对话链接中所述。

于 2012-03-30T09:34:57.493 回答
1

Visual Studio > 工具 > 选项

在此处输入图像描述

于 2013-05-07T18:40:09.380 回答
0

如果您可以离开 AnkhSVN 并切换到TortoiseSVN ,您将免费获得对客户端挂钩的支持。

你可以使用任何可执行的东西作为钩子,它们会根据钩子脚本的类型传递不同的参数。

例如,pre-commit钩子获取以下参数:

PATH DEPTH MESSAGEFILE CWD

其中元素如下:

  • PATH
    包含启动操作的所有路径的临时文件的路径。每个路径在临时文件中的单独一行上。

  • DEPTH
    提交/更新完成的深度。

  • MESSAGEFILE
    包含提交日志消息的文件的路径。该文件包含 UTF-8 编码的文本。成功执行 start-commit 钩子后,会读回日志消息,让钩子有机会修改它。

  • CWD
    运行脚本的当前工作目录。这设置为所有受影响路径的公共根目录。

虽然 TortoiseSVN 没有集成到 VS 中,但我认为它值得一看,因为您也可以将它用作其他项目的通用客户端(即您不使用 VS 进行的所有其他编码/脚本编写工作)。

于 2012-03-30T09:35:22.297 回答