java-在修订控制中组织我自己的外部库

我想设置一个SVN存储库以“修订控制”我的项目.当前,我的工作区看起来像这样,我打算保持这样:

\workspace
   \myPrj1
   \myPrj2
   \myLibBase 
   \myLibA
   \myLibB

myPrj1正在使用myLibBase和myLibA. myPrj2正在使用myLibBase和myLibB.我将有更多的项目在使用这些库.我已经写过,并且正在自己写库.当我在任何项目上工作时,我一直在不断尝试不仅改善项目,而且还改善库:查找错误,添加功能等.

现在如何在存储库中组织它?

这是我的主意,但这是最佳解决方案吗?

>我将始终使用工作空间作为项目根目录.
>我将始终将项目正在使用的库包含在snv项目文件夹中
>我将始终为库提供其他snv项目

然后在存储库中,以上示例将如下所示:

\repository    
   \myPrj1 
       \myPrj1
       \myLibBase
       \myLibA
    \myProj2
       \myProj2
       \myLibBase
       \myLibB
    \myLibBase
       \myLibBase
    \myLibA
       \myLibA
    \myLibB
       \myLibB

像这样

…关于项目:

每当我检入项目的工作副本时,我总是拥有所有资源,包括一起检入库.因此,当我签出修订版时,我总是会获得签到时的所有来源(包括库).

…关于库:

另外,当我认为它是一个不错且稳定的版本时,我可以在库svn项目中检入库的工作副本.然后,当我创建一个新项目时,可以签出该版本.

有人可以确认这是个好主意吗?最佳实践?有没有更好的方法?我可以找到有关此主题的文档/教程/ ..吗?在网上?在书上?

解决方法:

似乎这是您想要的:Externals

摘抄:
“有时候,由许多不同的检出构成的工作副本很有用.例如,您可能希望不同的子目录来自存储库中的不同位置,或者可能完全来自不同的存储库.您当然可以设置这样的副本手工场景-使用svn checkout创建您想要实现的嵌套工作副本结构,但是如果此布局对使用存储库的每个人都很重要,则其他所有用户都需要执行与您执行的相同的checkout操作”.

它基本上可以按照您想要的方式工作.当您出于任何原因而需要对它们进行不同的修订时,具有多个依赖关系副本是可以的,而且是必要的.

相关文章

首先介绍下什么是git和svnGIT(分布式版本控制系统)Git(读音...
注意点:系统环境:centos7,python,django,svn,jenkins首先安装...
  我使用过的版本控制工具有两种:早期的时候使用的是SVN,...
用好Git和SVN,轻松驾驭版本管理本文从Git与SVN的对比入手,...
01.jenkins安装jenkins网站:https://jenkins.io/安装:资料...
软件环境:centos7jdk1.8svn1.9maven3.5tomcat8jenkins2.80 ...