我能够两次创建相同的SVN分支.我希望SVN不允许我再次创建相同的分支.请帮我解决这个问题.
来自SVN RedBook:
Subversion没有分支的内部概念 - 它只知道如何制作副本.复制目录时,生成的目录只是一个"分支",因为您将该含义附加到该目录.您可能会以不同的方式考虑目录,或者以不同的方式对待目录,但对于Subversion来说,它只是一个恰好带有一些额外历史信息的普通目录.
由于这种复制机制,Subversion的分支作为存储库中的普通文件系统目录存在.
因此,当您创建分支"补丁"时,您可以在存储库中拥有多个目录"补丁".
可能让您感到困惑的是,在一个区分大小写的操作系统中,在同一个父目录"patch"中创建两次,使用不同的情况(Patch与patch).
为了更好地回答您的问题:
我希望SVN不允许我再次创建相同的分支.
如果你真的想要阻止任何"与案例相关的路径冲突",你可以从svn tools contrib设置一个预提交钩子(也是由svn拷贝触发),就像这个一样
case-insensitive.py:
检测与现有路径或其他新路径"冲突"的新路径.
忽略已经"冲突"的现有路径
如果检测到"碰撞",则退出并显示错误代码和stderr诊断.
使用该钩子,您仍然可以创建多个具有相同名称的分支,但至少不在同一个父目录中,具有不同的大小写.