问题标签 [svn-hooks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - 需要 subversion 的 post-revprop-change 钩子帮助
我之前在 subversion 中创建了 post-commit 和 pre-commit 钩子,但我似乎无法成功触发 post-revprop-change 钩子。
这是我发布 revprop-change 挂钩的方式(可由 svn 用户执行):
然后从“repo”的本地工作副本中,我添加了一个 svn 属性,如下所示:
鉴于我在 repo 服务器中有一个可执行的 post-revprop-change 挂钩,我希望在 /path/to/repo/hooks/trigger_record.txt 中获得一条记录......但我没有。
谁能帮帮我?
提前致谢,
伊斯梅尔·卡西潘 :)
svn - 颠覆中的客户端预提交钩子
有什么方法可以使用 svn 客户端在客户端设置预提交挂钩,例如通过 eclipse 或命令行 svn 客户端?
windows - Subversion 挂钩是否适用于文件 URL?
我正在尝试测试一些 Subversion 提交挂钩,但是当我使用最简单的情况时 - 本地存储库和 file:// 协议 - 然后挂钩不会执行。
我在 Windows 上 - 这是一个简化示例的记录:
由于我的极端提交钩子,那里的最后一个命令应该失败。我究竟做错了什么?
svn - 使用 SVN Hook 获取首次提交
嗨...我正在尝试制作一个 svn 挂钩来检查存储库中的第一个提交。SVN Hook 不支持“添加”。因此,如果我获得第一次提交,我可以模拟存储库中文件的第一个条目。我没有任何想法,请帮助。
python - 如何使用 pdb 单步执行 Subversion 挂钩脚本?
我已经用谷歌搜索了这个范围,但什么也没找到。我在 Python 中为 Subversion 编写了一个预提交钩子。如果我将 pdb.setTrace() 插入我的钩子脚本并从命令行手动调用它,我可以正常单步执行它。但是,如果我执行提交并允许 Subversion 调用脚本,则对 setTrace() 的调用会导致脚本将一些回溯信息打印到控制台并死掉,而不是我想要的,即单步执行脚本调试器。
有什么解决办法吗?我可以通过手动调用它来使脚本工作,但我真的希望能够在实际使用它时单步执行它并详细检查它。
我想调试 CGI 脚本也有类似的问题?
PS:我在一个虚拟的测试存储库上做所有这些,而不是在真实的东西上。我可能很愚蠢,但我并不愚蠢;)
linux - 颠覆挂钩问题
在这个上花了太多时间。我通过我使用的 Plesk 面板创建了一个子域 aaa.abc.com: 终端中的 svn checkout svn+ssh://abc.com/var/svn/base httpdocs 我有一个提交后挂钩,它应该更新文件我的 httpdocs 文件夹。它不起作用,但我使用终端我只能使用“svn update”。
我确实有一个日志,它显示一个 ssh 错误。
这个钩子用来更新几个子域,除了这个之外,它们都更新了。我已经尝试了我能想到的所有权限组合...钩子是拥有的:-rwxr-xr-x 1 root root 1118 Feb 24 04:44 post-commit httpdocs是拥有的:drwxrwx--- 8 svn svn 4096 3 月 11 日 10:05 httpdocs 我的日志:
谢谢
svn - 在预提交挂钩上时无法写入错误消息
我正在编写一个预提交挂钩,或者更好的是,我正在编辑 tigris SVN 版本中标准的挂钩。
我的目标是适度的,我只想在不提供提交信息的情况下向提交的人写一条错误信息。
所以我的想法是用简单的错误消息写信给stderr。但由于某种原因,我的信息似乎从未通过。
互联网上的每个人都说我必须写信给 stderr。但不知何故,这是行不通的。
如果这是一个愚蠢的问题,你必须原谅我,但我是一个 linux 新手,所以事先道歉。
谢谢,贾斯珀
linux - 颠覆中的远程提交挂钩是否可能?
我目前的设置如下:
- 我们有一个包含所有存储库文件夹的 Linux samba 共享(其中包含 hooks 文件夹)
- 所有开发人员都将共享映射为网络驱动器,并导入到他们处理文件的本地目录(通常为 C:\Server\RepositoryName)。
- 所有访问驱动器的机器(不幸的是)都运行 Windows。
我的目标是在 Linux 服务器上安装一个钩子,用于检测何时提交、哪个项目、修订号、提交的开发人员的名称等。我查看了钩子文件,但它们似乎是由客户运行的。有没有办法监控 svn 的变化并从 Linux 服务器收集相关信息?
linux - 带有 svn 提交后挂钩的 trac-admin 导致分段错误
我刚刚在我的 Fedora 机器上通过 sqlite 设置了 trac 0.12.2,并且 trac 通过 Web 浏览器和命令行运行良好。我的问题是实现 svn 钩子,其中 post-commit 钩子在运行此命令时因分段错误而死:
/usr/bin/trac-admin /var/trac/myproject changeset added "$1" "$2"
其中 $1 是本地文件系统上的 svn 存储库路径,$2 是修订版。
这个命令的输出是这样的:
/path/to/svn/hooks/post-commit: line 9: 3874 Segmentation fault /usr/bin/trac-admin /var/trac/myproject changeset added "$1" "$2"
我将如何调试这个?有谁知道为什么在全新安装时会发生这种情况(我没有升级,它很干净)?
我对运行此命令的用户进行了一些基本检查,即apache
. 我还尝试运行此命令apache
以查看它是否会失败,但这只能从命令行中找到:
sudo -u apache /usr/bin/trac-admin /var/trac/ujaweb changeset added /path/to/svn/repo 750
我在这里有点没有想法。有谁知道为什么会发生这种情况?
以下是一些有用的信息:
Linux:Linux hostname.com 2.6.18-028stab069.5 #1 SMP 5 月 18 日星期二 17:26:16 MSD 2010 x86_64 x86_64 x86_64 GNU/Linux
Apache:2.2.17 w/ mod_wsgi
Python:2.6.4
Trac:0.12.2 (通过带有 mod_wsgi 的 Apache)
svn - 自动同步 Subversion 存储库和 Git 存储库
我的项目在网络文件系统上有一个 Subversion 存储库,一个新团队希望使用 Git 访问它,并能够提交它并从中获取更新。
我的想法是git-svn
在同一个网络文件系统上创建一个新的 Subversion 存储库的裸克隆,并确保两个存储库相对于彼此始终是最新的。
这样做的方法可能是为 Subversion 和新的 Git 存储库添加一个 post-commit 挂钩,这将各自更新对方的存储库。
Subversion post-commit 钩子将包括git svn rebase
, 和 Git 一个git svn dcommit
.
问题是我将不得不使用某种锁来确保没有人提交到任一存储库,而其他存储库也被提交,因为在任何提交之前它们始终必须保持同步。这有几个缺点,其中包括提交到 Subversion 或推送到 Git 存储库所需的时间(它必须等待钩子完成),以及一些用户可能无法运行的事实git svn
(因为它是未安装在他们的机器上),这意味着他们在提交/推送时无法更新其他存储库。
我该如何解决这些问题?Subversion 和 Git 挂钩会是什么样子?