也许这个问题更适合服务器故障,但我还是先试试这个......
是否有办法检测用户何时将文件上传到服务器并自动将该文件检入源控件?这是在带有WebStack的Solaris 10服务器上。
我知道这可能是相反的,但我真的很想这样做。这样做的原因是该公司刚刚开始使用SVN,我们希望通过不采取他们过去做事的方式让所有老开发人员(主要是业余爱好者)保持一定的舒适感。
答案 0 :(得分:1)
在您的情况下可能有趣的一件事。可以将通过Apache服务器提供的svn存储库映射到Windows中的简单网络文件夹(如果我不认为它与SVN的最新版本中的WebDAV协议支持相关)。
因此,如果您的开发人员使用Windows资源管理器将文件上传到FTP,他们可能会切换到这种方式而不会注意到差异。因此根本不需要FTP。
答案 1 :(得分:1)
我相信你想要的是Autoversioning:
...此功能的用例对于使用非技术用户的管理员来说非常有吸引力。想象一下运行Microsoft Windows或Mac OS的普通用户的办公室。每个用户“安装”Subversion存储库,它似乎是一个普通的网络文件夹。他们一如既往地使用共享文件夹:打开文件,编辑文件并保存。同时,服务器自动对所有内容进行版本控制。任何管理员(或知识渊博的用户)仍然可以使用Subversion客户端来搜索历史记录并检索旧版本的数据。
但是,要求您通过Apache服务器(使用 mod_dav_svn
模块)使您的SVN服务器可用。
答案 2 :(得分:0)
你在服务器故障方面可能更好。基本上你想要在ftp上挂钩上传完成事件,然后你需要做的就是在该目录中运行svn ci,假设开发人员上传的目录是svn树的结帐。
修改强> 我过去所做的是使用Apache FTP server这是一个纯java ftp。它允许您编写ftplets,可以监听上述事件。您只需扩展DefaultFtplet类并实现onUploadEnd,onRenameEnd,onDeleteEnd。对于每个事件,您将执行某些svn命令,无论是更新,删除还是添加。
在我的旧公司,我们使用向ftp上传新工件来触发hudson中的构建。
答案 3 :(得分:0)
我的一位同事发现File Events Notification基本上是Solaris的inotify(据我所知)。我们没有进一步研究,但一旦我们做了,我会在这里标出适当的答案。