相关疑难解决方法(0)

如何将平面 svn repo 迁移到 git repo

我有一个平面 svn 存储库,它看起来像:

my_repo/
??? file1.c
??? file2.c
??? file3.c
??? README
Run Code Online (Sandbox Code Playgroud)

这个 repo 没有分支或标签,我想要做的就是将它转换为 git 存储库并维护提交历史。

我试过了:

git svn clone --trunk=/ -A users.txt svn+ssh://user@svn.example.com/projects/my_repo dest_dir

我认为这会起作用,但是,当我导航dest_dir并执行时git svn fetch,它似乎没有获取任何东西。使用git log产量:

fatal: bad default revision 'HEAD'

如果我使用svn checkout svn+ssh://user@svn.example.com/projects/my_repo 它返回:

A    my_repo/file1.c
A    my_repo/file2.c
A    my_repo/file3.c
A    my_repo/README
Checked out revision 57.
Run Code Online (Sandbox Code Playgroud)

因此,存储库是活动的且可访问的。

我尝试了各种工具,包括subgit给我这个错误的工具:svn: E170003: 'stat' not implemented我认为这是因为托管存储库的服务器使用的是旧版本的 subversion。我无法控制服务器,因此无法执行更新。

我也试过使用svn2git, 使用命令

svn2git svn+ssh://user@svn.example.com/projects/my_repo --rootistrunk -authors users.txt …

svn git version-control git-svn svn2git

5
推荐指数
1
解决办法
6011
查看次数

标签 统计

git ×1

git-svn ×1

svn ×1

svn2git ×1

version-control ×1