git-svn clone svn repository,只将特定文件提取并合并到git项目中

时间:2014-05-19 19:50:12

标签: git svn

我想用PHPUnit设置WordPress测试。手册的Automated Testing指南指出运行测试所需的步骤是:

 1. Standard PHPUnit install
 2. svn co http://develop.svn.wordpress.org/trunk/ wordpress-develop
 3. cd wordpress-develop
 4. phpunit

我想将来自SVN存储库(点nª2)的./wp-config-test.php./tests/./phpunit.xml.dist合并到项目的主分支中,并能够获取并合并将来的更新到这些文件/目录从它的起源到项目。

我当前项目的配置是由带有masterstage分支的git跟踪的WordPress安装。

ajf:leadsconsite alain$ git branch
  master
* stage

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我有点迟到回答,但也许对别人有所帮助。

单元测试通常与他们测试的代码紧密相关,因此将它们与主WordPress代码分开可能没有意义。

那就是说,我认为你有两个选择:

  1. 从与您的存储库中的WP代码最匹配的版本的WP repo中复制测试。
  2. 克隆整个WP回购(包括生产代码和测试),并在此基础上将您的更改移植(转发)给WP。换句话说,使您的存储库成为WP主存储库的一个分支。
  3. 方法1)最初可能更容易,但意味着获取测试的上游更改将是一个手动过程(将差异提取到上次导入,并将其合并)。但是,获取上游更改可能需要手动工作,因为您可能必须使新的/更改的测试适应您的代码版本。所以这可能不会太糟糕。

    从长远来看,

    2)可以说更优雅,并允许您使用git的机制进行更新(合并或变基)。但是,初始设置更麻烦,因为您需要将当前存储库重新编写为基于主WP存储库。

    就个人而言,我可能会使用方法2),但这取决于您喜欢的权衡。