svn分支问题

时间:2011-03-28 05:08:42

标签: svn

我的源代码是/ tmp / easton /有两个文件夹1 src和2个Webroot。 现在我在/ var / www / html / easton文件夹中进行svn checkout。

我必须导入这两个1. src(包含java文件)2。Webroot(/ WEB_INF / classes)到我的/ var / www / html / easton。为此我已经完成了 svn import / tmp / easton svn:// localhost / easton 此创建存储库中的两个文件夹。

现在我必须将我的WebRoot目录签出到/ var / www / html / easton。 为此,我去 cd / var / www / html / easton 然后 svn co svn:// localhost / easton / Webroot

现在在这里创建WebRoot目录到/ var / www / html / easton。

我怀疑我不想创建/ var / www / html / easton的WebRoot目录。但是将所有文件夹复制到我的/ var / www / html / easton。

例如

在我的WebRoot中有两个文件夹1. WEB-INF 2.页面。 所以我想把这两个复制到/ var / www / html / easton / WEB-INF..Pages。

请帮我解决这个问题。这是svn分支。当我在我的本地启动提交命令时,它会更新/ var / www / html / easton / ..以及/ tmp / easton / src和WebRoot的源代码。

1 个答案:

答案 0 :(得分:0)

Subversion(以及我所知道的所有其他版本控制软件)对您在本地检出源或数据的目录不感兴趣。

我发现这个问题有点难以理解,但如果我理解你的话,你不希望在提交时以相同的方式修改存储库,以用于不同的本地副本(不同的检出目录)。要做到这一点,如果你想滥用subversion将数据部署到这些目录,你确实需要subversion中的几个相关目录。 (我说滥用但并不意味着否定,有些情况下使用subversion部署会让你的生活更轻松)

如果不同的目录包含完全不同的数据,那么分支不适合您,只需在subversion中创建不同的目录,并将每个目录检出一个本地目录。 (但我想你已经知道了)

现在出现了简单的部分:对于颠覆分支就像创建副本一样。要从同一个subversion目录中分离一个目录,您需要:

  1. 分支/创建目录的副本
  2. 将其中一个本地目录切换到该分支DirA
  3. 在dirA中对该分支进行更改
  4. 提交dirA(这些更改只会转到分支机构)
  5. 现在,如果您想要从分支点开始使用新内容更新分支,则需要合并。两个分支中必须相同的部分的替代方法是使用svn:externals

    我希望这有帮助,也是你想知道的。