Svn 源代码直接位于主干文件夹或主干/子文件夹中
我终于进入了修订控制的世界!我以前没有任何关于Subversion的知识,但是已经阅读了大部分的书,我现在正在安装Subversion和Trac。我们将是两个开发人员在一个PHP web应用程序上工作 我的问题涉及目录结构。通常的做法似乎是将源代码直接放入主干中。但是如何处理不是应用程序直接部分的文件,例如:Svn 源代码直接位于主干文件夹或主干/子文件夹中,svn,directory,revision,subdirectory,trunk,Svn,Directory,Revision,Subdirectory,Trunk,我终于进入了修订控制的世界!我以前没有任何关于Subversion的知识,但是已经阅读了大部分的书,我现在正在安装Subversion和Trac。我们将是两个开发人员在一个PHP web应用程序上工作 我的问题涉及目录结构。通常的做法似乎是将源代码直接放入主干中。但是如何处理不是应用程序直接部分的文件,例如: 如果我们选择对MySQL历史记录进行修订控制,请将变更日志分解 小型PHP工具,不会直接成为PHP应用程序的一部分,但具有修订控制很好 我们希望保持版本控制的其他原始文件/源文件 我是
- 如果我们选择对MySQL历史记录进行修订控制,请将变更日志分解
- 小型PHP工具,不会直接成为PHP应用程序的一部分,但具有修订控制很好
- 我们希望保持版本控制的其他原始文件/源文件
我是否可以在trunk下为应用程序本身添加子文件夹--“app”--以及为永远不会部署/在生产中的文件添加其他子文件夹?或者有其他更好的方法来解决这个问题吗?对于您描述的东西,每个应用程序/项目/工具/组件/东西都有自己的目录,目录下有自己的主干/标记/分支
/main-app/trunk
/main-app/tags
/main-app/branches
/small-tool-1/trunk
/small-tool-1/tags
/small-tool-1/branches
/small-tool-2/trunk
/small-tool-2/tags
/small-tool-2/branches
你可以在这本在线书中阅读更多内容。为了补充dave的答案,我会按照他的建议将这些工具等保存在它们自己的目录中
此外,您可以考虑将Svn.Extruts属性添加到主应用程序的主干目录中。可以使用svn.externals使svn将其他存储库目录(工具等)签出到主应用程序工作目录的子文件夹中
例如,这可以用于允许使用多个应用程序签出共享代码 谢谢你的回答!我们有两个主要项目,它们可能共享一些通用代码。我们也可以在途中制作一些小工具,并将文档放在SVN中。这是一个像样的设置吗(每个下都有主干/标签/分支):
/project1
,/project2
,/shared code
,/documentation/project1
,/documentation/project2
,/misc/tools
,/misc/migration scripts
,/misc/database changelogs/project1
,/misc/database changelogs/project2
。或者我应该跳过分类文件夹“misc”中那些不经常使用的东西,而总是把文件夹直接放在根目录下吗?这是一个非常不错的设置。您是否拥有“misc”目录完全取决于个人喜好。