SVN X仍处于树冲突中

SVN X仍处于树冲突中,svn,tortoisesvn,visualsvn-server,tree-conflict,Svn,Tortoisesvn,Visualsvn Server,Tree Conflict,我使用的是VisualSVN(它使用的是乌龟)。我不小心将文件夹移动到了其他位置。当尝试将其向后移动时,SVN会因此错误而呕吐。它以前发生过一次,我设法做了一些随机更新/提交,不知道我在做什么,它是“固定的”。我不能再使用同样的魔法了,所以我需要知道如何获取我的文件和目录以及树冲突 谢谢 我不确定它现在处于什么状态,但您最好的选择可能是: 将文件夹完全移出存储库 执行svn清理 执行svn更新 将文件夹中的文件复制回来(不包括.svn文件),覆盖刚刚更新的旧源文件 编辑 下面是链接中的shel

我使用的是VisualSVN(它使用的是乌龟)。我不小心将文件夹移动到了其他位置。当尝试将其向后移动时,SVN会因此错误而呕吐。它以前发生过一次,我设法做了一些随机更新/提交,不知道我在做什么,它是“固定的”。我不能再使用同样的魔法了,所以我需要知道如何获取我的文件和目录以及树冲突


谢谢

我不确定它现在处于什么状态,但您最好的选择可能是:

  • 将文件夹完全移出存储库
  • 执行
    svn清理
  • 执行
    svn更新
  • 将文件夹中的文件复制回来(不包括.svn文件),覆盖刚刚更新的旧源文件
  • 编辑

    下面是链接中的shell脚本,它可能对Linux/Unix用户有用

    #!/bin/sh
    
    if [ "" == "$1" ] ; then
      echo "Usage: subversion-hell.sh A_PROJECT"
      echo "A_PROJECT should be a Subversion folder you are having problems with,"
      echo "and you should be in the folder above A_PROJECT"
    fi
    
    DIR=`pwd`
    PWD=$DIR
    DIR=`echo $DIR | sed s/^.*\\\/trunk/trunk/`
    
    mkdir ~/tmp/       2>/dev/null
    rm -Rf ~/tmp/$1   2>/dev/null
    mv ~/$DIR/$1 ~/tmp/
    find ~/tmp/$1/ -iname '.svn*' -exec rm -Rf {} \; 2>/dev/null
    cd $PWD
    echo svn co YOUR_URL_HERE/$DIR/$1 $1
    svn co YOUR_URL_HERE/$DIR/$1 $1
    cp -Rf ~/tmp/$1/* $PWD/$1/
    
    # YOUR_URL_HERE can be found by looking in file .svn/entries, near the top
    
    我也有同样的错误(树冲突),但来自不同的工作流

    查找具有锁的进程。下载Handle.exe,并打开解压缩到的文件夹。然后运行
    “C:\path\handle.exe”“C:\path\FileOrFolder”

    要复制的工作流:

    - delete folder (having one of the files locked by a program that is within this folder)
    - commit parent folder of folder you deleted, and look for red text of the folder you deleted (it should be brown, not red if there aren't issues in SVN)
    
    要修复:

    - forcefully kill the lock (or close the program so it releases the lock)
    - run cleanup command on folder you deleted
    - revert folder you deleted
    - delete folder you deleted
    - commit parent folder of folder you deleted
    

    当我试图在linux环境中删除一个分支时,我也遇到了同样的问题。我所做的是:

  • svn恢复分支
  • svn向上
  • svn清理
  • svn移除分支-标记该分支 再次分支以便移除
  • svn ci

  • 我不知道问题出在哪里,但我在两周内经历了两次。

    保留已移动文件夹的备份。现在在SVN中,单击OttoiseSVN>>已解决。
    选择文件/文件夹并解析。现在更新/提交svn数据。

    请注意,即使您“什么都没做”,也可能发生这种情况,即有人在存储库中移动您身上的文件夹,而您对此一无所知。发生在我身上。如果是这种情况,请从存储库中删除问题文件夹并
    svn update

    开发人员移动/重命名/删除文件时会发生树冲突 或文件夹,其他开发人员也可以使用该文件夹 移动/重命名/删除或刚刚修改。有很多不同的方法 可能导致树冲突的情况,所有这些情况都需要 解决冲突的不同步骤


    不适合我。之后尝试提交时,我得到“svn:无法锁定路径/到/目录/我/刚刚/移动/返回”。Ehm。。。如果“有问题的文件夹”是“.”的话,这不会删除你的主目录吗?!(这当然会忽略脚本中的使用信息,但仍然有点危险)另一件事,结尾的“cp”不会复制任何以“.”(句点)开头的修改过的文件或目录,而不是从SVN更新的内容。我复制了一份,然后从SVN和本地文件系统中删除了文件夹。然后在windows上,我需要使隐藏的文件夹可见。然后,我删除了我希望更新的文件夹中所有带有.svn的文件夹。然后我提交了文件夹。这是到目前为止最好的答案。另请注意(本页上的答案对我都不起作用)即使你“做得对”,也可能发生这种情况,即有人在回购中移动你的文件夹,而你对此一无所知。