2010-04-13 11 views
24

में रहता है मैं विजुअल एसवीएन (जो कछुआ का उपयोग करता है) का उपयोग कर रहा हूं। मैं गलती से एक फ़ोल्डर को एक अलग स्थान पर ले जाता हूं। जब इसे वापस ले जाने की कोशिश की जाती है, तो इस त्रुटि के साथ एसवीएन पुक करता है। यह एक बार पहले हुआ था और मैं कुछ यादृच्छिक अपडेट/काम करता हूं, यह नहीं जानता कि मैं क्या कर रहा था और यह "तय" था। मैं एक ही जादू को दोबारा नहीं खींच सकता, इसलिए मुझे अपनी फाइलें और निर्देशिका और पेड़-संघर्ष के बारे में जानने की जरूरत है।एसवीएन एक्स पेड़-संघर्ष

धन्यवाद!

+1

यह भी देखें http://stackoverflow.com/questions/2406469/svn-remains-in-conflict (इस पृष्ठ पर दिए गए उत्तरों में से कोई भी मेरे लिए काम नहीं करता) –

उत्तर

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

16

मुझे यकीन है कि क्या राज्य यह अब में है नहीं कर रहा हूँ, लेकिन आपका सर्वश्रेष्ठ दांव शायद होगा:

  1. ले जाएँ अपने भंडार से बाहर फ़ोल्डर पूरी तरह से
  2. एक svn cleanup
  3. एक svn update क्या करें
  4. फ़ाइलों को वापस फ़ोल्डर से कॉपी करें (.svn फ़ाइलों के बिना) पुरानी स्रोत फ़ाइलों को ओवरराइट करना जो केवल svn अद्यतन थे।
+1

मेरे लिए काम नहीं करता है।मुझे "svn: बाद में प्रतिबद्ध करने का प्रयास करते समय पथ/से/निर्देशिका/I/बस/स्थानांतरित/वापस लॉक करने में असमर्थ" मिलता है। – aioobe

+1

मेरे लिए इसे हल नहीं करता – Tjorriemorrie

2

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

संपादित

यहाँ लिंक है, जो लिनक्स/यूनिक्स उपयोगकर्ताओं के लिए उपयोगी हो सकता है से खोल स्क्रिप्ट है ...

#!/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 ... यदि "समस्याग्रस्त फ़ोल्डर" ".." है तो क्या आपकी होम निर्देशिका को हटा नहीं देगा ?! (यह निश्चित रूप से स्क्रिप्ट में उपयोग की जानकारी को अनदेखा कर देगा, लेकिन फिर भी थोड़ा खतरनाक) –

+1

एक और बात, अंत में "सीपी" किसी भी संशोधित फाइल या निर्देशिका को "।" से शुरू नहीं करेगा। (अवधि) एसवीएन से अद्यतन किया गया था पर वापस। –

+0

मैंने एक प्रतिलिपि बनाई और फिर एसवीएन और स्थानीय फाइल सिस्टम से फ़ोल्डरों को हटा दिया। फिर खिड़कियों पर मुझे छिपे हुए फ़ोल्डर्स को दिखने की ज़रूरत थी। फिर मैंने फ़ोल्डरों में .svn के साथ सभी फ़ोल्डरों को हटा दिया जिन्हें मैं अपडेट करना चाहता हूं। तो मैंने फ़ोल्डरों को किया। और यह काम किया – Leoa

1

मैं एक ही समस्या थी जब linux वातावरण पर एक शाखा को हटाने का प्रयास। क्या मैंने किया था:

  1. SVN शाखा वापस लौटने
  2. अप svn
  3. SVN सफाई
  4. SVN निकालें शाखा - हटाने के लिए फिर से शाखा निशान
  5. SVN ci

मैं पता नहीं क्या समस्या थी लेकिन मैंने इसे दो हफ्तों में दो बार अनुभव किया।

0

आपके द्वारा स्थानांतरित किए गए फ़ोल्डर का बैकअप रखें। अब एसवीएन में, TortoiseSVN >> हल पर क्लिक करें। फ़ाइलें/फ़ोल्डर का चयन करें और हल करें। अब svn डेटा को अद्यतन/प्रतिबद्ध करें।