测试svn REPO更改是否反映在工作副本中


-1

需求

将对REPO目录进行更改,这应该更新为wc(工作副本),而不是WC> REPO的正常方式。

塞纳里奥:

我的svn repo- / var / www / svn / drupal

我的checkout-dir / working-copy- / var / www / html / drupalsite

所以我做到了:

  1. 编辑后提交钩子包含:“/ usr / bin / svn update / var / www / html / drupalsite”

  2. 我不会对svn WC做任何改变。我将对svn REPO- / var / www / svn / drupal进行更改。

  3. 在对svn repo进行更改后,运行“svn commit / var / www / html / drupalsite”。这将触发post-commit钩子。这个转换将运行“svn update / var / www / svn / drupal”,因此我的WC将更新REPO的更新。

询问

一种。以上步骤1-3是否有助于实现我的“要求”?

湾 我需要建议如何测试上述设置是否成功。我对第1-3步的成功感到茫然,这是查询(a)存在的原因。这对我来说有点担心。

NB:我是颠覆的新手。无论我到目前为止配置的是通过在线阅读文章来完成的。查询(b)的原因是因为我没有进入开发阶段。它似乎是一个php drupal网站,我碰巧正在设置它。因此,我不知道如何在REPO中进行“正确”更改,以便在WC中反映出来。如果反映出来,我的配置是正确的,团队可以开始开发。我手动将一个随机文件/文件夹放入REPO目录中以查看WC中的更改并运行步骤1-3但无效,后来才知道它不是对REPO进行更改的方法。

请求建议。谢谢


您确定了解SVN基础知识在“repo”中进行更改的方法是checkout- > <change> - > commit。也许你可以详细说明为什么你希望这种情况发生..
Karthik T

Answers:


1
  1. 你不能直接在存储库中进行更改 - 它是数据库,而不是“真正的树的镜像”
  2. 你不能执行“奇怪的”,错误的命令(svn commit /var/www/html/drupalsite)并等待并从良好的命令结果中获得良好的预期

当你有固定的工作流程时,你的工作流程(“网站作为WC,通过钩子更新来自另一个WC的提交”)将起作用

它必须如何运作

  1. 在路径上创建(或拥有)SVN-repository /var/www/svn/drupal
  2. 定义自己的工作副本(以下称为WC-Work)的位置,您可以在其中更改代码(可以是同一主机,包含Repo和网站,或者任何其他,您可以从中获取Repo)
  3. 根据WC-Work位置的选择,可能需要在Repo主机(svn://或http://用于远程访问)上配置和运行SVN服务器。检测并记住存储库的URL(以下称为REPO-URL)
  4. 转换/var/www/html/drupalsite为存储库的工作副本(以下简称WC-Site):svn co REPO-URL
  5. 使用.htaccess规则保护WC-Site的.svn目录
  6. 准备WC工作: svn co REPO-URL
  7. 将rep-commit钩子添加到repo(你的钩子是可以接受的起点
  8. WC-Work的工作 - 工作
  9. 从WC-Work提交更改
  10. 检查网站状态

改进的领域

对于第3页:您可以将WC-Site的用户定义为只读用户,在任何条件下都不能提交到站点

对于第7页:钩子只能从WC-Work的用户发布到WC-Site修订版,只有一些URL可能必须发布(不止一个,最初检查过,如果它是正确的 - WC-Site必须重新定位在更新之前),在“单点发布”策略的情况下:可以忽略发布点之外的提交(如果只提升了trunk,我们就无法提交到分支|标签)


感谢您付出巨大努力并充分考虑如此详细地解释事情。真的很可观!干得好,再次感谢你!
user492160

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.