我对'标准'svn布局最熟悉(也很舒服)
+---trunk
| +---file1
| +---file2
| \---...
+---tags
| +---0.0.1
| +---0.1.0
| \---1.0.0
\---branches
+---developer1
| +---file1
| +---file2
| \---...
+---developer2
\---developer3
Run Code Online (Sandbox Code Playgroud)
我的同事在版本控制系统中有不同的背景,宁愿有这种布局
+---trunk
| \---branches
| +---developer1
| | +---file1
| | +---file2
| | \---...
| +---developer2
| \---developer3
+---file1
+---file2
\---...
Run Code Online (Sandbox Code Playgroud)
这完全是错误的方式,但我无法给出充分的技术理由,为什么我们会遇到第二种(当前)方法的问题.
我有一种感觉--mergeinfo不喜欢这种布局,但我们的服务器运行1.4,我不确定很快就会升级.
你是对的,他们不是.这是标准结构,它是标准结构的原因.
他们的主要问题是他们在一个目录中混合不同版本的代码.该trunk目录似乎包含项目中的两个文件以及branches目录.这意味着合并到该目录或从该目录移出将始终是奇怪的,并且查看该目录的日志将始终混合分支中的更改和主干中的更改.
标准布局的好处是每个分支,标签或主干都是项目的自包含副本,因此它们之间的合并将起作用,检查它将为您提供正确的内容等.