Windows下从SVN导入Git时如何添加空文件夹?
Posted
技术标签:
【中文标题】Windows下从SVN导入Git时如何添加空文件夹?【英文标题】:How to add empty folders when importing from SVN to Git under Windows? 【发布时间】:2019-12-14 19:56:38 【问题描述】:我需要将多个存储库从 SVN 迁移到 Windows 下的 Git。部分存储库有空文件夹,它们对项目至关重要,如果不破坏项目,则无法删除这些文件夹。
我用--preserve-empty-dirs --placeholder-filename = .gitkeep
键尝试了git svn clone
命令,但这根本不起作用。
因此,该文件夹没有添加到提交历史记录中 - 这是一个大问题,因为无法更新到旧版本。完全迁移后也不会添加文件夹。
我试图为机制制作拐杖,但我不明白如何正确制作:
此代码创建 Git 不处理的零大小文件:
for /f "delims=" %d in ('dir /s /b /ad ^| sort /r') do (fsutil file createnew %d/.gitkeep 0 && echo.>%%d/.gitkeep)
此代码创建大小为 2 个字节的文件:
for /f "delims=" %d in ('dir /s /b /ad ^| sort /r') do (echo.>%d/.gitkeep)
在这两种情况下,文件都是在所有文件夹中创建的,而不仅仅是空文件夹。此外,我对如何从处理中排除.git
文件夹缺乏了解。
请帮忙。
【问题讨论】:
【参考方案1】:没办法,不过我在Ubuntu 18.04下写了个拐杖,在WSL下可以成功:
echo The crutches for git svn clone --preserve-empty-dirs command, because it is not working properly.
找到 . -type d -empty -not -path "./.git/*" -exec echo blablabla>.gitkeep \;
git add --all
【讨论】:
以上是关于Windows下从SVN导入Git时如何添加空文件夹?的主要内容,如果未能解决你的问题,请参考以下文章