在机器之间共享源代码

时间:2009-05-05 18:57:20

标签: svn language-agnostic version-control

跨本地计算机共享源的最佳方法是什么?

我正在开发一个带有svn存储库的跨平台项目。我在一个平台(可能是osx)上执行结账,并进行更改。然后我必须在其他平台上测试我修改过的代码(xp,vista,...)然后再检查它。在机器之间手动复制文件或从网络驱动器运行所有内容是一件痛苦的事情......我有什么更好的选择? / p>

9 个答案:

答案 0 :(得分:11)

您也可以在SVN中为自己创建分支。然后你可以检查你的分支,检查所有测试机器上的分支代码,当你满意时,使用SVN的分支合并工具将分支中保存的所有更改合并回主干。

答案 1 :(得分:3)

您可以尝试在存储库中创建一个分支,仅用于您自己的更改。对分支进行更改,提交更改,然后签出其他平台上的分支并进行测试。如果一切正常,请将分支与主干合并。

答案 2 :(得分:1)

为什么不使用svn ..在切换到另一个平台之前,请检入并标记当前版本。签出并在另一个平台上进行测试。如果你失败了,只需要还原它。

答案 3 :(得分:1)

我会说最好和最容易管理(一旦启动和运行是有一个开发分支,自动部署到测试环境,然后当你很高兴你可以合并到一个发布分支。将需要一段时间设置,但从长远来看,这将为您节省很多时间。

它还允许您在处理其他物品时进行测试。

如果您不想这样做,那么一个简单的shell脚本应该足以在您想要部署时运行。

答案 4 :(得分:1)

您可以随时尝试使用Git或其他DVCS,这样您就可以在不包含中央服务器的情况下分享内容。

Git允许你向/从SVN服务器推/拉(也就是提交/更新),但是给你更多的余地。

答案 5 :(得分:0)

独立于研究平台的网络磁盘安装 - 类似于sshfs。检查一台计算机上的源,然后将该位置通过网络安装在另一台计算机上。

或者,在同一台计算机上的虚拟机中运行一个操作系统,然后以这种方式共享文件。像VirtualBox这样的虚拟机允许您以类似的方式通过网络安装访问主机的文件系统。

答案 6 :(得分:0)

我认为你在这里犯了一个基本错误。 SVN(以及其他适当的VC系统)的规则是“尽早检查,就像投票一样”。正如@Koray所说,检查代码,从其他机器检查并重建。否则,您可能会对其他计算机上的潜在更改感到不安,或者需要合并不同的更改集。

诀窍是为最新测试的版本制作一个标签,这样如果遇到麻烦,你可以恢复到那个特殊的快照。

答案 7 :(得分:0)

我会使用Ant之类的工具创建一个构建脚本,通过网络共享将我签出的源复制到我的一组不同的测试机器上。然后,我将继续测试每台计算机,但只对我的签出源进行更改 - 所有更改都将使用构建脚本分发到我的测试计算机。

一旦我满意,我会从我正在构建的同一台机器上提交我的更改。

答案 8 :(得分:0)

基本问题是在办理登机手续之前进行测试。这正是问题所在。检查代码然后测试没有错。使用源代码控制的目的是,如果某些内容不起作用,则允许回滚。

我也在你的帖子中假设你单独从事这个项目,所以这不是一个问题。如果您在团队中工作,那么创建一个单独的SVN分支进行开发,然后在测试和开发完成时与主干合并。

另一种选择,使用虚拟机。