在同一Subversion存储库中的工作副本中使用嵌套svn工作副本的最佳方法是什么?

约翰·霍尔

我的团队维护着我们PHP源代码的单个多项目Subversion存储库。我们有一个简单的部署策略,其中应用程序使用的库存储在其目录结构中。这使得可以通过使用tarball或通过检查Subversion之外的代码来进行部署。一切都很好,但是在过去,我曾担任过svn用户的管理员角色,请不要创建嵌套的工作副本或重新排列代码树,尤其是在领先于trunk分支头的工作副本中。

我们有一个更复杂的存储库,但是重要的部分是:

trunk/app4/libs/libB
trunk/lib1

包含LibB是为了说明某些库与部署它们的应用程序一起存储,但是在应用程序之间共享的,积极开发的库则以我们在存储库中的项目级别存储。我们在存储库中的文件树如下所示:

parent_dir/
   app4/libs/libB
   lib1/

但是对于我们的部署,我们需要像这样构建代码树:

app4/
   libs/
     lib1
     libB

我已经按照以下步骤进行了设置。
#svn co svn://svn.example.com/trunk/app4 ./#cd app4 / libs#svn co ssvn://svn.example.com/trunk/lib1

结果是lib1目录未包含在工作副本的app1部分中,从而使app1的状态变得不干净,而是其自身工作副本的根目录。这会使app1工作副本的svn状态变得不干净,因为目录lib1是app4工作副本中的新文件。

#svn状态

退货

? lib1

通过添加svn可以从app1 / libs添加lib1目录来清除此问题是个好主意吗?可能希望这会将p1 / libs / lib1目录添加到app1的svn信息中,而无需对app1 / libs / lib1 / .svn /进行任何更改,但是我认为这种可能性很小。(TODO:在一个示例中对此进行测试)

最好只是亲自忽略该状态,或者添加libs / lib1忽略以获得干净的状态?还有哪些其他选择?

约翰·霍尔

正确的解决方案是创建2个这样的工作副本。

app4_prj/
  app4/
      libs/
        lib1

lib1_prj
  app4/
     libs/
       lib1

同时:

# cd app4/libs 
# svn ignore lib1

在各自的项目中使用lib1和app4进行开发。这样,当每个项目的工作副本中的项目都处于干净状态时,lib1不会在svn中复制,并且您可以更轻松地测试和修改lib,并在继续开发该应用的同时包含其他团队成员的更改,

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是什么原因导致SVN“工作副本<路径>被锁定”?

来自分类Dev

SVN:仅从工作副本中删除文件,而不从存储库中删除文件

来自分类Dev

将工作副本重定位到在Netbeans中不起作用的新SVN存储库

来自分类Dev

检查svn工作副本是否已更改的最快方法是什么?

来自分类Dev

从SVN中现有工作副本的一部分制作工作副本

来自分类Dev

SVN“不是工作副本”

来自分类Dev

SVN“不是工作副本”

来自分类Dev

如何从本地工作副本创建一个Subversion存储库并保留日志和历史记录?

来自分类Dev

Subversion“非工作副本”错误

来自分类Dev

删除工作副本中的“ svn”文件

来自分类Dev

SVN:如何在转储并将其加载到另一个存储库后迁移工作副本

来自分类Dev

用jgit递归检查Git工作副本中的更改的最快方法是什么?

来自分类Dev

使用外部存储库在cPanel服务器上将SVN工作副本设置为public_html

来自分类Dev

Git:使用第三方远程管理单个存储库的多个工作副本的最佳方式?

来自分类Dev

将现有的SVN工作副本转换为git存储库

来自分类Dev

如何提交从SVN存储库导出的工作副本中所做的更改

来自分类Dev

无法升级SVN工作副本

来自分类Dev

如何在Eclipse中保留同一分支的不同SVN工作副本?

来自分类Dev

如何更改Subversion工作副本UUID?

来自分类Dev

工作副本丢失了到Subversion的链接

来自分类Dev

SVN:仅在工作副本中跳过单个文件

来自分类Dev

如何在Tortoise SVN中启用多个独立的工作副本

来自分类Dev

查看乌龟SVN中工作副本和HEAD之间的差异?

来自分类Dev

使用ant svn任务来获取工作副本的版本?

来自分类Dev

如何允许2个人在git存储库的同一本地副本上工作?可以吗

来自分类Dev

机器上同一存储库的多个副本

来自分类Dev

TortoiseSVN错误:存储库中不存在工作副本路径

来自分类Dev

使用本地副本中的更改更新SVN存储库中的文件

来自分类Dev

托管Subversion(svn)存储库的密码到期如何工作?

Related 相关文章

  1. 1

    是什么原因导致SVN“工作副本<路径>被锁定”?

  2. 2

    SVN:仅从工作副本中删除文件,而不从存储库中删除文件

  3. 3

    将工作副本重定位到在Netbeans中不起作用的新SVN存储库

  4. 4

    检查svn工作副本是否已更改的最快方法是什么?

  5. 5

    从SVN中现有工作副本的一部分制作工作副本

  6. 6

    SVN“不是工作副本”

  7. 7

    SVN“不是工作副本”

  8. 8

    如何从本地工作副本创建一个Subversion存储库并保留日志和历史记录?

  9. 9

    Subversion“非工作副本”错误

  10. 10

    删除工作副本中的“ svn”文件

  11. 11

    SVN:如何在转储并将其加载到另一个存储库后迁移工作副本

  12. 12

    用jgit递归检查Git工作副本中的更改的最快方法是什么?

  13. 13

    使用外部存储库在cPanel服务器上将SVN工作副本设置为public_html

  14. 14

    Git:使用第三方远程管理单个存储库的多个工作副本的最佳方式?

  15. 15

    将现有的SVN工作副本转换为git存储库

  16. 16

    如何提交从SVN存储库导出的工作副本中所做的更改

  17. 17

    无法升级SVN工作副本

  18. 18

    如何在Eclipse中保留同一分支的不同SVN工作副本?

  19. 19

    如何更改Subversion工作副本UUID?

  20. 20

    工作副本丢失了到Subversion的链接

  21. 21

    SVN:仅在工作副本中跳过单个文件

  22. 22

    如何在Tortoise SVN中启用多个独立的工作副本

  23. 23

    查看乌龟SVN中工作副本和HEAD之间的差异?

  24. 24

    使用ant svn任务来获取工作副本的版本?

  25. 25

    如何允许2个人在git存储库的同一本地副本上工作?可以吗

  26. 26

    机器上同一存储库的多个副本

  27. 27

    TortoiseSVN错误:存储库中不存在工作副本路径

  28. 28

    使用本地副本中的更改更新SVN存储库中的文件

  29. 29

    托管Subversion(svn)存储库的密码到期如何工作?

热门标签

归档