Svn 工作副本丢失到Subversion的链接

Svn 工作副本丢失到Subversion的链接,svn,tortoisesvn,Svn,Tortoisesvn,今天,我的Subversion工作文件夹的文件和文件夹上不再有Windows资源管理器图标,当我尝试在Windows资源管理器或Visual Studio中提交时,它显示没有版本控制的文件。然而,今天早上一切都起了作用 我已经验证了.svn文件夹仍在工作副本的根目录中。我没有安装任何Subversion更新或删除文件夹中的任何文件(有意)。我的项目工作得很好,没有问题,只是项目不再受版本控制,我不能再提交代码 我在工作副本上运行了svn cleanup命令,它说svn数据库已损坏(如果我能找到它

今天,我的Subversion工作文件夹的文件和文件夹上不再有Windows资源管理器图标,当我尝试在Windows资源管理器或Visual Studio中提交时,它显示没有版本控制的文件。然而,今天早上一切都起了作用

我已经验证了
.svn
文件夹仍在工作副本的根目录中。我没有安装任何Subversion更新或删除文件夹中的任何文件(有意)。我的项目工作得很好,没有问题,只是项目不再受版本控制,我不能再提交代码

我在工作副本上运行了
svn cleanup
命令,它说svn数据库已损坏(如果我能找到它,我将尝试发布准确的错误消息)


我知道我可以在一个新目录中签出我的项目,并在该目录和我的“坏”工作目录之间执行差异,然后手动将项目合并到新的版本目录中。但是,有没有一种方法可以在不丢失所有最近未提交的更改的情况下将旧的工作副本“重新链接”回Subversion存储库?

您是否删除了工作副本根目录下隐藏的
.svn
目录?工作副本不能自行“丢失链接”(即成为未版本)

您应该能够通过以下方式解决问题:

  • 将当前工作副本复制到其他地方作为备份,以防出现问题(您不想丢失未提交的更改,是吗?)

  • 运行
    svn checkout
    到现在未版本化的同一目录


  • 我最后做的是在不同的目录中签出项目,并使用Beyond Compare查找两个项目之间的差异,并将更改的文件仅复制到新签出的版本。注意,我只迁移了版本化文件(在我的例子中,是web应用程序文件,如cs、cshtml、js、vs项目文件等),没有复制
    svn
    相关文件


    然后我可以打开项目并签入代码。

    工作副本根目录中的
    .svn
    目录仍然存在。我不想丢失未提交的更改。在我更改的基础上再次签出项目会覆盖它们吗?你知道只“签出”
    .svn
    文件夹的任何方法吗?@Andrew你为什么问这个问题?你最好发布一个关于你的任务的新问题。@bahrep这个问题基本上与这个问题相同。当我创建回购协议时,它们没有链接到SVN,我必须签出我刚刚提交给新回购协议的所有文件。如果能够导出
    .svn
    目录就好了。@Andrew您可以将
    svn checkout
    运行到导入到svn的目录中,它将创建
    .svn
    目录。通过测试回购尝试这种方法。不过,我不确定我是否理解你的情况。我建议你发表一个新的问题,而不是评论。说出这是否只是一个乌龟问题并不难。安装程序包含命令行二进制文件作为可选组件,并且像
    svn info
    这样简单的东西可以突出显示某些问题。