2010-04-13 63 views
24

我使用VisualSVN(它使用烏龜)。我不小心將一個文件夾移動到不同的位置。當試圖將其移回時,SVN吐出這個錯誤。它發生過一次之前,我設法做一些隨機更新/提交,不知道我在做什麼,它是「固定的」。我不能再次拉同樣的魔法,所以我需要知道如何獲取我的文件和目錄以及樹形衝突。SVN X仍然存在樹衝突

謝謝!

+1

另請參閱http://stackoverflow.com/questions/2406469/svn-remains-in-conflict(本頁面的答案都不適用於我) – 2015-02-12 19:19:14

回答

15

我有同樣的錯誤(樹衝突),但來自不同的工作流程。

找到哪個進程有鎖。下載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 
+1

這是迄今爲止最好的答案。 – robomc 2012-08-20 02:38:38

16

我不知道它在什麼現在的狀態,但你最好的選擇可能會是:

  1. 移動文件夾出你的資料庫完全
  2. 做一個svn cleanup
  3. 做一個svn update
  4. 從文件夾中複製文件(不包含.svn文件),覆蓋剛剛svn更新的舊源文件。
+1

不適用於我。嘗試提交之後,我收到「svn:Unable to lock path/to/directory/I/just/moved/back」。 – aioobe 2011-11-06 11:28:52

+1

不能解決它我 – Tjorriemorrie 2012-07-18 08:38:50

2

http://rubyjunction.us/subversion-hell-sh

編輯

下面是鏈接,這可能是對Linux/Unix用戶有用的shell腳本...

#!/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 
+1

Ehm ...不會刪除您的主目錄,如果「有問題的文件夾」是「..」?! (它當然會忽略腳本中的使用信息,但仍然有點危險) – 2011-12-16 21:29:51

+1

另一件事,最後的「cp」不會複製任何以「。」開頭的修改過的文件或目錄。 (期間)重新從SVN更新的內容。 – 2011-12-16 21:50:44

+0

我做了一個副本,然後從svn和本地文件系統中刪除了這些文件夾。然後在窗戶上,我需要使隱藏的文件夾可見。然後,我刪除了所有要更新的文件夾中的.svn文件夾。然後我犯了這些文件夾。和那工作 – Leoa 2013-05-17 18:26:57

1

我有同樣的問題試圖刪除在Linux環境的一個分支時。我所做的是:

  1. SVN恢復分支
  2. svn的最高
  3. 清理命令
  4. SVN移除分支 - 去除再次迎來 分支
  5. SVN CI

我不知道問題是什麼,但是我在兩週內經歷了兩次。

0

保留您移動的文件夾的備份。現在在SVN中,點擊TortoiseSVN >>已解決。 選擇文件/文件夾並解決。現在更新/提交svn數據。