我目前正在与合作伙伴合作开发一个 PHP 项目。

我们都直接编辑到本地服务器(所有文件都存储在服务器上,该服务器也运行 WAMP 堆栈)。我正在寻找一个 SVN 客户端,它将监视和保存对 htdocs 文件夹的所有更改,并通过网络更新远程 SVN 存储库。

如果我可以通过 Web 界面操作 SVN 客户端,那将是一个巨大的好处。

例如,假设我保存 file1.php 到服务器。它会更新 file1.php 在svn网站上。如果我突然发现我对文件的最新修订很糟糕,我可以前往服务器(或使用我计算机上的某些 Web 界面),然后替换 file1.php 与较旧的修订版。

我不想只在本地计算机上安装 SVN 服务器,因为我总是希望远程保存包含最新更改的副本。

有什么建议吗?

有帮助吗?

解决方案

我不知道有任何软件可以做到这一点。使用标准命令行SVN客户端脚本脚本可能并不难。 IE有一个批处理/外壳脚本,该脚本定期运行并检查已更改的所有内容。

就是说,我会 非常强烈 建议不要这样做!

源控制的正常工作模型是,每个人都有一个本地副本可以使用,然后检查其更改中央存储库。

明确的手册检查确保您只检查有效的东西(通常),并允许您发表宝贵的检查评论。

然后,可以使用源控制存储库中的已知好版本更新服务器。

听起来您正在制作生产系统。我强烈建议您考虑使用开发环境和上述方法。

其他提示

如果我没理解的话,您的意图是使用 SVN 作为版本控制的自动备份系统。如果是这种情况,最直接的方法就是使用文件监控工具,然后调用 svn 命令行客户端来获取更改的文件,将其提交到 SVN。

我还没有尝试过,但是 SVN-Monitor 可能有用。您将需要上面提到的toirtoisevn客户端与之合作。

我还没有找到任何(我也遇到了同样的麻烦)。

我们以2个步骤进行操作。

当我必须开发软件的一部分时 - 我将树干分支并在其他人做同样的工作以完成其任务时进行修改。然后,我们合并分支并测试它们。测试后,该合并的补丁正在更新。

最后,Cronjob(或手动)运行脚本,该脚本将资源设置为维护模式,删除HTDOC并在那里导出新的中继线,然后根据需要的所有内容。

我们可以在Admin-Panel的任何时间运行此脚本,如果需要快速恢复错误的更改,请设置Neccesary修订版...

您可能需要考虑针对您提出的方案的分布源代码控制解决方案(Bazaar,Git,Mercurial),其中您有两个针对两个代码库的提交器。然后,您可以在当地提交并将更改推向两个目的地。

但是,解决您的直接问题,您可能需要某种实用程序,以监视两端的文件更改,然后在检测更改后尽快调用SVN客户端命令

我认为这是不可能的。

当您将文件夹放在客户端上时,创建了特定的文件夹结构,以跟踪文件锁定,更改等。尝试更新服务器SVN文件夹而不先查看文件或编辑文件而不检查文件(就像您想做的那样)是一个坏主意。

计划在zip文件中收集您的HTDOCS文件夹的计划作业,通过文件名进行版本,然后将其上传到某些远程存储可能是一种更简单,更快的方法来管理它。

我不知道是否也许是SVN 邮政挂钩 鉴于正确的脚本,可能有些用途?您可以自动部署从当前修订版(即在调用钩子之前创建的修订版)的更改到生产系统。我认为这是您要的东西吗?

我不得不说,我同意这里关于您提议的不可审核性的其他评论。我建议您在其中手动启动部署过程,然后从存储库中提取源。

如果我被误解了,抱歉。

编辑: 重读问题后,我认为您正在寻找对存储库的自动提交,而不是从中进行自动部署。由于这种情况,其他人提出的计划脚本解决方案也是我能想到的最好的方法。向那些建议的人+1。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top