我的网络中有两台PC: 1)CentOs 2)Windows 7
我在Linux机器上创建了存储库并添加了一些预提交钩子脚本。然后,我将文件签出到两台机器上的工作副本目录。现在,当我进行一些更改并从linux工作副本提交它们时,预提交挂钩就可以正常工作。但是当我从Windows提交我的更改(使用Tortoise或命令行)时,提交执行但没有任何工作脚本的结果。
我已经读过,脚本是在拥有存储库的PC上发布的(如果我错了,请纠正我),所以不应该对我正在做什么样的平台进行更改。
所以,如果有人能解释为什么这不起作用,那么我会很感激吗?
答案 0 :(得分:0)
预提交挂钩由托管服务器的计算机运行。如果您使用带有file://
URL的存储库或使用svnlook
或svnadmin
命令,那么它始终是本地计算机,因为实际上没有服务器并且直接访问存储库。
从您所说的内容听起来就像您将存储库放在网络卷(SMB,NFS等)上,然后使用file://
URL来访问它。如果您使用其他访问方法之一,那么您将不会遇到此问题。
您有3个选项。
<强>的svnserve 强>
svnserve是一个提供svn://
访问方法的简单守护进程。它侦听自己的网络端口,并讨论特定于Subversion的协议。
svnserve over ssh
svnserve协议通过ssh进行隧道传输,并按需启动svnserve进程。
Apache HTTP
mod_dav_svn和mod_authz_svn模块通过Apache httpd服务器提供对Subversion的访问。这通过HTTP使用DAV和DeltaV协议(可选地支持SSL / TLS)。
SVN Book有whole section on server setup,其中包括选择服务器以配置它。您可能希望在进行选择之前阅读此内容,然后阅读所选服务器的配置步骤。