2010-04-08 110 views
0

我正在开发一个最初使用Subversion的项目,但远程存储库已被删除,我不想再使用Subversion。我想将它迁移到git。如何从本地SVN迁移到GIT

有没有办法做到这一点,没有远程存储库,保持所有修订历史(不做git init .)?

我已经使用git-svn做了一个颠覆git-svn的迁移,在其他项目上没有问题,但是它们都在远程存储库上,我找不到任何关于本地迁移的信息。

回答

5

Subversion不像Git,它不会将存储库保留在工作文件夹中,因此您将无法迁移它。

您将需要创建一个新的存储库并将其作为新代码进行检查。

1

有一个办法做到这一点没有 远程仓库,保持所有 修订历史(没有做一个git 初始化。)?

简答:没有。

与混帐,颠覆是集中版本控制系统,这意味着它存储所有的修订历史服务器

相比之下,分布式版本控制系统如Git,mercurialbazaar店内所有修订历史本地。在后一种情况下,您确实可以相对容易地在存储库之间导入/导出数据。在前者中,您需要服务器的存在才能这样做。

0

“svn switch --relocate”to rescue [1]。

首先,您必须在任何普通服务器上设置一个临时svn存储库,然后将您的本地svn存储库(又名工作副本)重定位到该服务器,将其提交到那里,然后使用git-svn live you以前做过。


[1] http://webkit.org/blog/97/svn-repository-location-change/

+0

这并不保留所有修订,因为它们保存在* original *服务器上。这个提交只会有最新的一个。所以git-svn只会下载一个版本。 – 2010-04-09 07:40:30

0

你只能保持在颠覆历史的信息,如果你设法让你的手到已删除的远程Subversion版本库的备份正确。

否则,历史记录会丢失,您只需从头开始。

如果你有一个备份(如SVN回购的文件服务器上的rsync的副本),你可以在本地做使用git svn通过经file:// URL它指向本地SVN回购副本转换,而不做首先是一个特殊的SVN服务器设置。