Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN-缺少原始文本_Svn_Tortoisesvn_Smartsvn - Fatal编程技术网

SVN-缺少原始文本

SVN-缺少原始文本,svn,tortoisesvn,smartsvn,Svn,Tortoisesvn,Smartsvn,已经很沮丧了…尝试更新/提交/清理乌龟SVN,但总是收到关于原始文本丢失的通知 在SO和web上找到一些帖子/问题,没有任何帮助: -建议清理原始文件,在我的情况下,未找到“原始文本” -建议使用smartSVN-单击“修改”->验证管理区域-这在我刚下载的smart SVN中不再存在 及 没有答案 任何人-请提供一些帮助?Subversion工作副本格式不是特别健壮,而且它偶尔会损坏也不奇怪。当这种情况发生时,通常不值得努力修复它。如果svn cleanup无法处理,最好: 查看一份新的工作副

已经很沮丧了…尝试更新/提交/清理乌龟SVN,但总是收到关于原始文本丢失的通知

在SO和web上找到一些帖子/问题,没有任何帮助:

-建议清理原始文件,在我的情况下,未找到“原始文本”

-建议使用smartSVN-单击“修改”->验证管理区域-这在我刚下载的smart SVN中不再存在

及 没有答案


任何人-请提供一些帮助?

Subversion工作副本格式不是特别健壮,而且它偶尔会损坏也不奇怪。当这种情况发生时,通常不值得努力修复它。如果
svn cleanup
无法处理,最好:

  • 查看一份新的工作副本
  • 使用您喜爱的文件比较工具(、、或其他工具)从损坏的工作副本复制挂起的更改

  • 考虑到Subversion是一个集中的版本控制系统,您不应该丢失变更列表以外的重要信息,因为其他所有信息都存储在存储库中。

    Subversion的工作副本格式不是特别健壮,而且偶尔会损坏也不奇怪。当这种情况发生时,通常不值得努力修复它。如果
    svn cleanup
    无法处理,最好:

  • 查看一份新的工作副本
  • 使用您喜爱的文件比较工具(、、或其他工具)从损坏的工作副本复制挂起的更改

  • 您不应该丢失变更列表之外的重要信息,因为其他所有信息都存储在存储库中,因为Subversion是一个集中的版本控制系统。

    我刚刚遇到了同样的问题。原始文本实际上就在那里

    .svn/pristine/09/09verylongnamereportedbysvncleanup.svn-base
    
    通过检查它的内容我可以追踪到

    ./local/foobar/somefile
    
    另一种方法是直接访问SVN数据库:

    sqlite3 .svn/wc.db
    sqlite> SELECT repos_path FROM nodes WHERE checksum LIKE '%7685df22%';
    path/to/the/file/that/got/corrupted
    sqlite> .quit
    

    删除该文件(将其移动到其他位置,例如重命名为“.bak”),对该文件运行
    svn清理
    ,执行
    svn更新
    ,然后查看应用以前保存的副本中的任何更改。

    我刚刚遇到了相同的问题。原始文本实际上就在那里

    .svn/pristine/09/09verylongnamereportedbysvncleanup.svn-base
    
    通过检查它的内容我可以追踪到

    ./local/foobar/somefile
    
    另一种方法是直接访问SVN数据库:

    sqlite3 .svn/wc.db
    sqlite> SELECT repos_path FROM nodes WHERE checksum LIKE '%7685df22%';
    path/to/the/file/that/got/corrupted
    sqlite> .quit
    

    删除该文件(将其移动到其他位置,例如将其重命名为“.bak”),对该文件运行
    svn清理
    ,执行
    svn更新
    ,然后查看应用以前保存的副本中的任何更改。

    有一种简单的方法。对同一数据库/主干执行新的SVN签出。 然后转到损坏的_数据库/查找.svn文件夹。将此文件夹重命名为.svn\u old(使用“损坏的\u数据库”目录中的命令
    mv corrude\u database/.svn corrude\u database/.svn\u old

    现在转到“fresh_checkout”并查找.svn文件夹。使用命令
    cp-r fresh\u checkout/.svn corrude\u database/


    现在做
    cd损坏的_数据库;svn启动
    并检查其工作情况。

    有一种简单的方法。对同一数据库/主干执行新的SVN签出。 然后转到损坏的_数据库/查找.svn文件夹。将此文件夹重命名为.svn\u old(使用“损坏的\u数据库”目录中的命令
    mv corrude\u database/.svn corrude\u database/.svn\u old

    现在转到“fresh_checkout”并查找.svn文件夹。使用命令
    cp-r fresh\u checkout/.svn corrude\u database/


    现在做
    cd损坏的_数据库;svn启动
    并检查其工作情况。

    最后一个问题确实有答案,也是我通常使用的答案:如果工作副本损坏,只需创建一个新副本。这不是一个可接受的答案,至少对我来说不是。启用未来合并怎么样?日志呢?如果我丢失了所有的数据,我怎么能比较不同的修订呢?没有答案。。。开始合并到新的签出,10个不同的分支,包括更改。。。必须有一个解决方案…这不是Subversion的工作方式。工作副本不存储属于存储库的修订历史记录。另外,不要给被接受的答案太多他们应得的信任:有些用户不在乎在他们的问题得到解决时返回报告,有些用户接受错误的答案。明白了。谢谢其实我会接受,目前,在没有其他答案后,你回答。。。无法接受评论。。。感谢最后一个问题的答案,也是我通常采用的答案:如果工作副本损坏,就创建一个新的。这不是一个公认的答案,至少对我来说不是。启用未来合并怎么样?日志呢?如果我丢失了所有的数据,我怎么能比较不同的修订呢?没有答案。。。开始合并到新的签出,10个不同的分支,包括更改。。。必须有一个解决方案…这不是Subversion的工作方式。工作副本不存储属于存储库的修订历史记录。另外,不要给被接受的答案太多他们应得的信任:有些用户不在乎在他们的问题得到解决时返回报告,有些用户接受错误的答案。明白了。谢谢其实我会接受,目前,在没有其他答案后,你回答。。。无法接受评论。。。谢谢你说我提到的最后一个问题有答案谢谢你说我提到的最后一个问题有答案谢谢