今天我的Subversion工作文件夹不再在文件和文件夹上有Windows资源管理器图标,当我尝试在Windows资源管理器或Visual Studio中提交时,它显示没有版本化文件。然而,这一切都在今天早上奏效。
我已验证5.2.3.0
文件夹仍在工作副本的根目录中。我没有安装任何Subversion更新或删除文件夹中的任何文件(故意)。我的项目工作正常,没有任何问题,只是项目不再受版本控制,我不能再提交我的代码了。
我在工作副本上运行.svn
命令,它说svn数据库已损坏(如果我能找到它,我会尝试发布确切的错误消息)。
我知道我可以在新目录中签出我的项目,并在该目录和我的“损坏”工作目录之间执行差异,并手动将项目合并到新的版本化目录中。但是,有没有办法将我的旧工作副本“重新链接”到我的Subversion存储库而不会丢失我最近的所有未提交的更改?
答案 0 :(得分:2)
我最终做的是在不同的目录中检出项目,并使用Beyond Compare查找两个项目之间的差异,并将更改的文件仅复制到新签出的版本。注意,我只迁移了版本化文件(在我的例子中,是web应用程序文件,如cs,cshtml,js,vs项目文件等),并且没有复制svn
相关文件。
然后我就可以打开项目并检查代码。
答案 1 :(得分:1)
您是否删除了工作副本根目录下隐藏的.svn
目录?工作副本不能单独“丢失链接”(即成为 unversioned )。
您应该能够以这种方式解决问题:
将当前工作副本复制到其他地方,以便在出现问题时作为备份(您不想丢失未提交的更改,是吗?)。
将svn checkout
运行到现在未版本化的同一目录。