如何组织C++代码的SVN存储库

Jav*_*ock 5 c++ svn tortoisesvn

我是SVN的新手,我想使用TortoiseSVN向SVN提交代码.我有C++标题和代码的来源,但我不知道如何在将版本上传到SVN之前以有效的方式组织文件夹.关于人们通常如何做的任何建议?不同语言的代码结构之间是否有任何区别,例如C++或java.我应该遵循任何具体规则吗?

更新

因此,在检查答案后,我让事情变得更加清晰.对于一个项目,通常的文件夹结构如下:

/trunk
/branches
/tags
Run Code Online (Sandbox Code Playgroud)

但我也发现了一个我喜欢的类似结构,它是:

/trunk                  #Keep it to developement mode always.
    /samples            #samples of use
    /modules            #software modules
       /project_modName
           /include     # .hpp files
           /src         # .cpp files
    /test               #unitary tests
/branches               #experimental developements (copies of trunk at various stages)
/tags                   #estable versions
/extras
    /3rdparty           #libs
    /data               #necessary data for developement
    /doc                #documentation
    /resources          #for window applications
Run Code Online (Sandbox Code Playgroud)

至少我喜欢它用于多媒体应用程序代码.

更新2

此更新只是为了解释我如何创建我的存储库.我创建了一个名为structure_svn的文件夹.在里面我创建了上面显示的结构.我右键单击父文件夹并选择导入.在URL中我写了文件夹路径(file:/// c:/ svn_repos),所以自动在svn_repos 创建结构,没有文件夹structure_svn.

我想要注意这一点,因为您右键单击要导入的文件夹将永远不会出现.我刚刚意识到,当我尝试它的时候,也就是对于它的解释.

下一步是成功地将我的代码划分到创建的结构中.

Pau*_*nta 9

以下是我在编程项目中构建树的方法(主要是从C/C++的角度来看):

  • /
    • src - 我自己编写的源文件和头文件
    • ext - 外部依赖; 包含第三方库
      • LIBNAME-1.2.8
        • 包括 - 标题
        • lib - 编译的lib文件
        • Donwload.txt - 包含下载所用版本的链接
    • ide - 我在这里存储项目文件
      • vc10 - 我通过IDE安排项目文件
    • bin - 编译的二进制文件在这里
    • obj - 编译器的构建文件
      • gcc - 如果您的项目大小合理,请为每个编译器的文件创建一个单独的文件夹
    • doc - 任何类型的文档
    • 自述
    • 安装
    • 复印
    • makefile - 自动生成IDE项目文件的东西.我更喜欢CMake.

几点说明:

  1. 如果我正在编写一个库(我正在使用C/C++),我将首先在两个名为"src/include"和"src/source"的文件夹中组织我的源文件,然后按模块组织.如果它是一个应用程序,那么我将按模块组织它们(标题和源将放在同一个文件夹中).

  2. 我在上面用斜体字列出的文件和目录我不会添加到代码存储库中.

编辑:请注意,我使用的是Mercurial,而不是SVN,因此上面的结构为该版本控制系统量身定制.无论如何,我从你的更新中看到你已经找到了一个你喜欢的.