我一直在使用Dropbox中具有本地SVN存储库的项目进行工作,但是其修订历史记录似乎已损坏,无法修复,并且所有签入现在都失败了。因此,我正在考虑从现有工作副本中创建一个新的存储库。只要可以保持开发环境中的实际路径相同(在Mac和Windows开发机上),我就可以保留历史记录。
当然,如果我只是尝试使用svn import
来导入本地文件... svn无法将现有路径识别为工作副本,那么它将迫使我将其检出,从而进行了更改一切的位置。
我尝试在新的空存储库中创建一个空的trunk/Client
文件夹,并将其检出到现有的<main dev folder>/Client
目录中,以便可以将所有项目重新添加到其中。但是SVN客户端拒绝添加<main dev folder>/Client
的内容,因为它检测到它们已经在旧存储库中进行版本控制。
当然,即使我在Mac开发机上都将它们全部签入,我也需要拉一个类似的开关,以使Windows开发机从新存储库同步其工作副本。 (我在Mac上使用svnX,在Windows上使用TortoiseSVN,但是我正在Mac客户端上工作,因为该工作副本是最新的。)
关于如何将这些文件放入新存储库而无需重新排列所有内容的任何建议?
(注意:“放弃svn并转到git”实际上是一个可以接受的答案,但是我仍然需要指导;我在这两个方面的经验同样有限!)
答案 0 :(得分:1)
svn import
,因为此命令“将未版本化的文件或树提交到存储库中”,并且您必须从中准备未版本化的树导入之前您的WC svn relocate
命令svnadmin setuuid
的旧存储库一样因此
svn://
访问类型而不是file:///
准备和使用svnserve)svn info | grep UUID
的UUID并将其应用于新存储库svn up
验证结果但是您可能更愿意完全忘记旧的回购协议并使用
svn://
访问类型而不是file:///
准备和使用svnserve)svn ls -R <REPO-ROOT-URL>
的导入测试结果