在尝试使用标准布局使用 git-svn 克隆现有 Subversion 存储库时,我得到了一堆W: -empty_dir
(and W: +empty_dir
) 警告。克隆的 git 存储库似乎正在工作,即我可以执行常规的 git 操作并提交到 SVN 存储库。
真正的问题是,初始克隆和变基会在存储库顶部(以及主干中的其他目录)创建一些 SVN 存储库中不存在的空目录。这些目录不包含任何文件,只包含一些空目录。看来“W: -empty_dir”警告对应于这些空目录。
我通过使用 SVN 检查整个存储库来查找空目录,但没有空目录。我还通过 SVN 检查了存储库中是否有具有特殊属性的文件,但除了“可执行文件”和“mime-type”之外没有其他文件。
现有的存储库最初并不遵循标准布局,但我对其进行了清理,以便顶级目录只是“trunk”、“tags”和“branches”。
是什么原因导致创建这些 Subversion 下不存在的空目录?
如果不知道这些空目录的确切来源,您可以知道git-svn
通过使用删除它们--rmdir
命令行选项或svn.rmdir
配置选项。
See git-svn OPTIONS http://git-scm.com/docs/git-svn#_options手册页和
如果没有留下任何文件,请从 SVN 树中删除目录。
SVN 可以对空目录进行版本控制,如果其中没有文件,则默认情况下不会删除它们。 git 无法对空目录进行版本控制。
启用此标志将使对 SVN 的提交就像 git 一样。
该警告来自 git-svn 不支持的 SVN 标签(即“目录”),如“git svn中断,然后我丢失了所有标签,如何修复? https://stackoverflow.com/q/11999914/6309".
从这个线程 https://groups.google.com/d/msg/msysgit/_iiD3DgNMk4/FPAa2QxjFFoJ:
SVN 跟踪目录,而 git 不跟踪,因此空目录无法在 git 中表示。
这些文件警告似乎告诉您哪些文件被删除,导致空目录保留在原地,在特定情况下svn commit
正在被进口。
和...之间的不同-empty_dir
and +empty_dir
是关于空目录如何出现在 SVN 存储库中:
-empty_dir
一堆文件被删除,留下一个目录(分支或标签)为空。
+empty_dir
刚刚在导入的 SVN 修订版中创建了一个空分支或标签,并且git-svn
不会导入空目录。
请注意,您可以在警告后重新启动导入 https://stackoverflow.com/a/11265799/6309.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)