我提前道歉,因为我问了一个问题,这是由于我的严重白痴…:)
最近,我将我的网站托管从一个服务迁移到另一个服务,包括我的数据库和SVN存储库(我不在团队中,我是一个自雇承包商,我使用SVN来备份我编写的所有代码)。
嗯,我搞砸了。现在我被困住了。振作起来,这很蠢。
- 我用这个SSH命令
svnadmin dump path-to-repo | gzip > dumpfile.gz
备份了我的SVN仓库 - 我做了域迁移
- 用SSH命令
gunzip -c home_dir/dumpfile.gz | svnadmin load svn/repository_id
重新加载我的SVN repos 我为每个版本做了一个"测试提交"。Repo 1不能工作(一些奇怪的错误),Repo 3可以。 - 我卸载/删除了所有的repos并重新安装了它们
Repo 1仍然不能工作,所以我去睡觉了。今天,它起作用了……所以有些东西可能需要冲进系统。然而…
现在,我的本地版本的Repo 3比在线版本"更新",因为我提交,删除了在线Repo,并重新安装了它。现在本地版本的数字比在线版本高,Netbeans给了我这个错误:
org.apache.subversion.javahl.ClientException: E160006: Commit failed (details follow):
E160006: No such revision 26
E175002: CHECKOUT of '/Proj3/!svn/ver/26/Proj3_test/src/mainpackage/Main.java': 500 Internal Server Error (http://www.mysite.com)
有人知道该怎么做吗?
通过删除subversion存储库并重新创建它,您基本上失去了整个历史记录,并从第一次修订开始。你的工作副本(本地)的版本仍然是26。
要与服务器同步,您只需备份工作副本并从服务器执行新签出。
如果您没有未提交的更改,并且一切正常,您可以删除(现在旧的)工作副本,并从版本1开始使用您刚刚签出的工作副本继续工作。
如果您有未提交的更改,那么将更改的文件(或所有文件)从备份的旧工作副本(在资源管理器或cli中)复制到新的签出并提交。
无论哪种方式,您都无法恢复以前的版本,因为它们与原始存储库一起被删除了。