假设前段时间我检查了一个 SVN 仓库:
SVN 公司http://example.com/repo
现在我有文件夹 $HOME/repo,其中包含有关主机.svn
中 repo 元数据的子文件夹whatever
。
假设http://example.com下跌降落。
此时,我可以将本地 SVN 检出迁移到 GIT 吗?
这关于 svn2git 迁移的文档仅提到处理远程 http repos,并建议通过 svnserve 提供我自己的 repo 的解决方案这里好像不起作用(svn: E210005: Unable to connect to a repository at URL 'svn://localhost'
)。
那么,我应该失去希望吗?
答案1
SVN 是一个基于服务器的版本控制系统。本地只有您签出的版本。如果无法访问服务器,您就无法将其转换为 git 并获取历史记录,因为您在离线时无法访问它。
将您拥有的工作副本添加到 git 中相当容易。
一个简单的方法可以做这样的事情。
- 创建 SVN 工作副本的副本并删除所有
.svn
多余的 rsync -Cva current_wc/ new_wc - cd 进入干净的工作副本并执行
git init
,和git add .
,和git commit
。