我可以两次创建相同的SVN分支。我希望SVN不允许我再次创建相同的分支。请帮我解决这个问题。
答案 0 :(得分:10)
来自SVN RedBook:
Subversion没有分支的内部概念 - 它只知道如何制作副本。复制目录时,生成的目录只是一个“分支”,因为您将该含义附加到该目录。您可能会以不同的方式考虑目录,或者以不同的方式对待它,但对于Subversion来说,它只是一个恰好带有一些额外历史信息的普通目录。
由于这种复制机制,Subversion的分支作为存储库中的普通文件系统目录存在。
因此,当您创建分支“补丁”时,您可以在存储库中拥有多个目录“补丁”。
在一个区分大小写的操作系统中,当你在同一个父目录'patch'中创建两次,使用不同的情况(Patch与patch)时,可能会让你感到困惑。
为了更好地回答您的问题:
我希望SVN不允许我再次创建相同的分支。
如果你真的想要阻止任何“与案例相关的路径冲突”,你可以设置一个预提交钩子(也是triggered by a svn copy),就像这个一样,来自{ {3}}
<强> svn tools contrib 强>:
使用该钩子,您仍然可以创建多个具有相同名称的分支,但至少不在相同的父目录中,具有不同的大小写。
答案 1 :(得分:0)
在SVN中,分支(和标签)也只是副本。
SVN不知道分支是什么,它只知道副本。 SVN用户给这些副本赋予分支的含义,但它只是人们遵循的惯例,而不是SVN。