1

我有一个 svn repo。在我电脑的本地文件夹中。我不知道这是否可能,但我想将其转换为仅使用 git。我不再可以访问 svn 服务器,并且 .svn 文件夹中的所有内容都是

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

我已经尝试过,svn log但它开始要求提供凭据。我还尝试通过执行类似的操作来验证它是否是一个 svn 存储库,svnadmin verify /folder但它所说的只是svnadmin: Can't open file 'format': No such file or directory. 我需要的只是提交历史。

4

3 回答 3

3

如果这是存储库(不是本地工作区),请使用git svn clone将其添加到新创建的 git 存储库中。通过周日检查结果的 5 种方式,将 SVN 丢弃到漂亮、舒适的 CD/DVD 以妥善保管。

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

于 2013-03-25T20:45:19.717 回答
1

如果您不介意丢失历史记录(正如我在评论中提到的,如果您无权访问中央服务器,则您无权访问历史记录),您可以在同一文件夹中初始化一个 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 答案中的链接或将 repo 克隆到另一个文件夹

于 2013-03-25T20:41:14.313 回答
-4

1) Remove .svn/ folders - http://www.anyexample.com/linux_bsd/bash/recursively_delete__svn_directories.xml

2) Add it to GIT repo

于 2013-03-25T20:23:29.583 回答