繁体   English   中英

将本地svn存储库转换为git

[英]convert local svn repo to git

我有什么应该是svn回购。 在我计算机的本地文件夹中。 我不知道是否可能,但我想将其转换为仅使用git。 我不再可以访问svn服务器,.svn文件夹中的所有内容都是

all-wcprops
entries
format
prop-base
props
text-base
tmp

我曾尝试做svn log但它开始要求提供凭据。 我还尝试通过执行svnadmin verify /folder类的操作来svnadmin verify /folder它是否为svn存储库,但它表示的只是svnadmin: Can't open file 'format': No such file or directory 我需要的只是提交历史记录。

如果这是存储库 (而不是本地工作空间),请使用git svn clone将其插入到新创建的git存储库中。 在周日之前以5种方式检查结果,将SVN抛弃到漂亮舒适的CD / DVD中以进行保管。

请注意, git svn clone可能会花费长时间,因为它顺序要求SVN重新创建曾经存在的每个sigle修订,然后将其集成为提交。 SVN在挖掘旧内容时效率低下,并且git svn的处理也不是很出色。 对于不太大的远程SVN存储库,可能需要一两天的时间。 由于连接中断,我不得不重新启动几次。 我不记得正确的咒语是git svn clone还是git svn rebase或其他(是的,看到空的克隆存储库很可怕,但是有下载的东西)。

如果您不介意丢失历史记录(如我在评论中所述,如果您无权访问中央服务器,则无权访问历史记录),则可以在同一文件夹中创建一个git repo,添加.gitignore文件,除了.svn/行以外,还要包含您通常在SVN中忽略的所有文件/文件夹,以忽略.svn文件夹,然后添加/提交所有内容。

使用命令行git时,它将类似于:

cd path/to/repo
git init
touch .gitignore
#EDIT THE .gitignore FILE HERE
git add .
git commit -m "Initial commit"

如果以后要清理.svn文件夹,则可以使用werd答案中的链接,也可以将仓库克隆到另一个文件夹

1)取下的.svn /文件夹- http://www.anyexample.com/linux_bsd/bash/recursively_delete__svn_directories.xml

2)将其添加到GIT仓库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM