如何让git-svn优雅地处理空目录?

时间:2011-11-08 14:32:45

标签: git directory git-svn

我很高兴使用git-svn,虽然我注意到当将空目录作为SVN时,git有不同的方法。我需要一种方法来解决以下特定情况:

我在我的项目的SVN存储库中有几个属于那里的空目录,不应该被触及。由于一些重构,我不得不删除另一个曾经有文件的目录。 git svn dcommit删除文件,但保留目录。令我感到震惊的是,git对空目录的无知导致我的SVN仓库不一致。

我想从我的SVN存储库中删除该特定目录。 git-svn能做到吗?如果没有,我该怎么做呢? (并且 - 最终 - 如何在同一变更集中同时提交其他文件时,我该怎么做?)

2 个答案:

答案 0 :(得分:35)

使用rmdir参数或配置参数:

  

- 命令rmdir

     

仅与dcommit,set-tree和commit-diff命令一起使用。

     

如果没有文件,则从SVN树中删除目录   背后。 SVN可以对空目录进行版本控制,并且不会删除它们   默认情况下,如果没有文件。 git不能版本为空   目录。启用此标志将使提交到SVN的行为类似   GIT中。

     

config key:svn.rmdir

答案 1 :(得分:13)

您必须在SVN端删除它:

svn delete -m "deleting empty dir" http://path/to/deleted/dir