SVN X仍然是在树的冲突
-
26-09-2019 - |
题
我使用VisualSVN(其使用乌龟).我不小心动一个文件夹不同位置。当试图搬回来,SVN吐这个错误。它发生了前一次我要做一些随机的更新/承诺,不知道我在做什么和它是"固定"。我不拔的同样的神奇了,所以我需要知道如何获取文件和目录和树冲突。
谢谢!
解决方案
我有同样的错误(树冲突),但来自不同的工作流程。
查找哪个进程锁定。下载Handle.exe,并开放给你解压到文件夹中。然后运行"C:\path\handle.exe" "C:\path\FileOrFolder"
。
https://technet.microsoft.com/en-us/sysinternals/ bb896655.aspx
工作流重现:
- 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
其他提示
我不知道什么状态,它是在现在,但是你最好的选择很可能是:
- 移动的文件夹出你的存储库完全
- 做一个
svn cleanup
- 做一个
svn update
- 复制的文件夹背的(没有.svn文件)的复盖旧的源文件只是svn更新。
http://rubyjunction.us/subversion-hell-sh
修改强>
下面是从链接的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
我有同样的问题时试图删除的一个分支在linux的环境。我所做的就是:
- svn恢复分支
- svn了
- svn清理
- svn删除分标记的 支再次为拆除
- svn ci
我不知道是什么问题但是我经历过两次在两个星期。
请在文件夹的备份,你已经感动。现在SVN,点击TortoiseSVN的解决>>。 选择文件/文件夹和决心。现在更新/提交了svn数据。
请注意,如果你“什么都没做”这甚至会发生 - 即周围有人在仓库中你的文件夹移动,你不知道这件事。发生在我身上。如果是这样的话,从你的资料库和svn update
删除问题文件夹。
当显影剂移动/重命名/删除的文件时,会发生冲突树 或文件夹,其中另一种显影剂或者也有 移动/重命名/删除或刚修改。有许多不同的 的情况下,可能导致树冲突,所有这些都需要 不同的步骤来解决冲突。