0

目前我正在开发 opencart 站点,我想将 opencart 源代码集成到我自己的 SVN(https://github.com/opencart/opencart)中。

目标是能够对核心 OpenCart 文件进行我自己的自定义,然后在发布新版本的开放购物车时,将更改集成到我的本地版本中。

我在考虑源结构如下:

  • /trunk/opencart- 我的自定义版本的打开购物车
  • /vendor/opencart- 当前的 opencart 后备箱。

预期的工作流程是从他们的服务器中提取最新的打开购物车,然后在我的主干中执行本地合并。目前,我一直在努力正确设置它,因为我对 SVN 和 TortoiseSVN 还很陌生。

我当前的设置是运行 TortoiseSVN 1.8.0、Build 24401 - 64 位的 Windows7。在我的本地服务器上,我有 Ubuntu 13.04 64bit 和 svn,版本 1.7.5 (r1336830)。

我设法设置了可以签入和签出的存储库,并使用外部在供应商文件夹中创建了一个外部引用。但我正在努力从这些外部数据生成主干。当我尝试从 to 分支vendor/opencarttrunk/opencart,它会尝试在https://github.com/opencart/opencart而不是我的本地服务器上生成该分支。(这正确地失败了,因为存储库是只读的)。

如果我尝试在 SVN 中对空trunk/opencart文件夹执行合并,vendor/opencart我也会遇到问题,因为树干文件夹中缺少祖先。我已经阅读了多个来源 - 有人说使用我的方法,有人说我应该使用 svnsync。

最好/最简单的方法是什么?理想情况下,我希望 SVN 提取最新的源代码,而不是将源代码转储到单独的文件夹中。

4

1 回答 1

0
  1. 重新阅读 Subversion 中的 svn:externals
  2. 获取此 Git 存储库的 Subversion URL(SVN 不能直接与 Git 通信) - 它是侧栏中的“Subversion checkout URL”,在 Repo-browser 中打开它并为您选择所需的子树 - 它可以是某个分支或主干,记住完整所需子树的 URL(可以是,fe,https://github.com/opencart/opencart/trunk/upload
  3. 定义,你想在你的仓库中挂载外部仓库的位置(让它是 /vendor/opencart URL)
  4. 将挂载点的父级(或父级的父级,如果父级仍然不存在)签出到与工作无关的新工作副本中
  5. 在 WC 根目录中创建新文件夹(通常、普通、标准)供应商
  6. 对于文件夹vendor,在 TSVN 的向导中添加新的 svn-propery svn:externals
  7. 提交更改
  8. 检查结果

PS:您可以在此 URL https://subversion.assembla.com/svn/subversion-troubleshoot-b/trunk看到(结帐,检查)作为外部最简单用例的示例(lib主干中的子目录是 svn:external to另一个存储库子树)

PPS:在起点,您的主干可以是空的,您合并/vendor/opencart以获得主干中代码的初始香草状态,以便您在其上进行自己的更改

外部样品

于 2013-07-15T16:08:42.793 回答