在我开始:我花了很长一段时间在许多论坛(包括堆栈溢出 - 是有很多对组织SVN做题),谷歌搜索和阅读文件(我自己的一些颠覆书籍)。我至今还没有找到组织我们在颠覆代码库的好方法。我们目前使用RCS作为我们的版本控制系统,和的所有的存储在1个RCS目录 - 丑陋,我知道 - 这就是为什么我对一些更好的工作。我也用颠覆了很多,所以我知道它的功能,它是如何工作的。我犹豫询问几个月这个问题,因为它不是完全编程相关的,但因为我一直没能来解决,有什么更好的地方要问我的问题!

什么在我的脑海复杂的事情是颠覆术语“项目”。如果我想管理颠覆Java项目,这使我感觉良好:所有共同结合成一个jar文件的Java文件都可以被看作一个“项目” - 他们都属于一个整体。然而,在我们的环境中,我没有看到一个简单的方法来定义什么是“项目”是。我们有超过4000的程序,所有的人都彼此几乎无关。他们中许多人是shell脚本或Perl脚本。我们的一些脚本使用通用的“效用”或“库”的脚本,但在大多数情况下,所有的代码对象indepenant。

“工程”在我们的环境中可能涉及的程序A,B和C,以及配置文件AA。另一个项目可以使用程序C,d和E,以及配置文件BB。另一个项目可能只是更改配置文件AA,也许程序B.没有一种方法来分类的程序或文件组中的归属。正因为如此 - 我不知道如何组织我们的代码到颠覆。我可以把一切都变成主项目行李箱,但后来检查出的工作副本是指检查出所有的4000 +元素。

要给予一些上下文中,这是一个数据仓库。需要所有4000 +代码元素,使仓库功能。也许有一定的业务需求出现在需要在几个元素的访问的列的变化,而另一个业务需求需要改变一些其他因素(也许从其他项目中一些相同的)。

也许Subversion是不是我们最合适的,虽然我相信它可以工作。我们已经为我们的网页代码和Java程序,一个Subversion服务器,它的伟大工程,因为有容易定义的项目。我只是无法弄清楚如何组织我们的主代码库。

希望一些有意义之...预先感谢您的智慧!

有帮助吗?

解决方案

您可能看的外部属性。它允许用户定义的目录的出现检出到该该属性附加,也将签出存储库中的其他位置到该目录的子目录。

所以,你可能会为每个组件“真实”的目录,然后将使用外部组件所需组件进行检查每个项目创建单独的目录。

其他提示

我会尝试之前只是简单地倾倒入一个颠覆存储库来组织文件的文件夹结构。

我觉得你的问题主要在于现有文件的混乱。如果你能找到一种方法,在逻辑上划分系统成段,那么这将是更容易让人们只签出文件的数据块(这将是逻辑分组)。

颠覆确实反映了一个文件系统,因此,如果它不能在一个文件系统看起来很漂亮,也不会看起来很漂亮颠覆无论是。

如果你想避免重新组织文件,你或许可以找到一个版本控制系统,可以让你登入/登出基于标签的东西,而不是它们在文件系统中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top