2011-10-05 14 views

उत्तर

29

सामान्य आदेशों cleartool ls पर आधारित हैं:

  • ct lsprivate: लेकिन यह केवल गतिशील दृश्यों के लिए हैं, विचारों
  • ct ls -rec -view_only स्नैपशॉट नहीं: कम से कम, यह गतिशील विचारों दोनों स्नैपशॉट में काम करता है और

हालांकि आपकी चेक-आउट फ़ाइलों दोनों दोनों सूचीबद्ध हैं।

आप केवल निजी फ़ाइलें चाहते हैं, यानी का अपहरण कर लिया/ग्रहण/जाँच-आउट और सिमलिंक लंघन, तो आप उन को फिल्टर करने की जरूरत है।

Windows में, कि होगा:

for /F "usebackq delims=" %i in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do @echo "%i" 

यूनिक्स में:

cleartool ls -rec | grep -v "Rule:" | grep -v "hijacked" | grep -v "eclipsed" | grep -v "-->" | xargs echo 
+0

सीटी lsprivate के लिए, -अन्य विकल्प को अलग कर देंगे जाँच से बाहर फ़ाइलों को निर्दिष्ट। संपादित करें: कभी भी ध्यान न दें, Otzen पहले से ही कहा है कि 2 साल पहले उसके जवाब में। – antred

1
ct lsprivate -other 

भी को फ़िल्टर चाहेंगे जाँच से बाहर फ़ाइलें

ct lsprivate -co: सूची सभी की जाँच से बाहर फ़ाइलें

ct lsprivate -do: सूची सभी व्युत्पन्न वस्तु फ़ाइलों

ct lsprivate -other: सूची में अन्य सभी निजी फ़ाइलों

+0

केवल गतिशील दृश्य में काम करता है हालांकि – x29a

3

मामले में यह किसी और यहाँ यह सवाल पढ़ने में मदद करता है मामूली परिवर्तन एक विंडोज़ स्क्रिप्ट के रूप में चलाने के लिए के एक जोड़े के साथ VonC की खिड़कियों समाधान है:

@echo off 
setlocal 
for /F "usebackq delims=" %%A in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do @echo "%%A" 

rmdir /S /Q और del /F साथ @echo बदलें के रूप में वर्णित here वास्तविक विलोपन करने के लिए। तो अंतिम स्क्रिप्ट है:

@echo off 
setlocal 
for /F "usebackq delims=" %%A in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do rmdir /S /Q "%%A" 
for /F "usebackq delims=" %%A in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do del /F "%%A" 

आप जिस दृश्य पर आप की सफाई कर रहे हैं के तत्व के तहत एक .bat फ़ाइल के रूप में सहेजते हैं, तो स्क्रिप्ट खुद के साथ-साथ को हटाने :-)

+1

विंडोज के लिए मेरे उत्तर से अच्छा, अधिक सटीक लगता है। +1 – VonC

2

मैं द्वारा साफ होगा @MilesHampson द्वारा संस्करण में संशोधन किया गया क्योंकि इससे मेरे लिए बहुत सारे परिणाम लौटे और मैं इसे बैच फ़ाइल के रूप में चलाने के लिए चाहता हूं।

मेरी नई फ़ाइलें debug या obj फ़ोल्डर में नहीं होंगी और इस तरह, मुझे उन फ़ोल्डरों के लिए कोई परिणाम देखने की आवश्यकता नहीं है ... मैं केवल सी # पर काम कर रहा हूं। तो मुझे बस इतना देखने की ज़रूरत है।

@echo off 
setlocal 

@echo Searching, please wait as this can take a while... 

for /F "usebackq delims=" %%A in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->" ^| find /V "obj" ^| find /V "debug"`) do ( 
    if "%%~xA"==".cs" echo %%A 
) 
) 

@echo === === === === === Search Complete === === === === === === 

pause 

उपरोक्त के साथ एक बैट फ़ाइल बनाएं, इसे अपने रूट प्रोजेक्ट फ़ोल्डर में छोड़ दें और इसे चलाएं। यह उन लोगों को प्रदर्शित करेगा जो स्रोत नियंत्रण में नहीं हैं।

2

यदि यह किसी और को इस प्रश्न को पढ़ने में मदद करता है, तो यहां विंडोज़ पर सिगविन के तहत चलाने के लिए कुछ मामूली परिवर्तनों के साथ वोनसी यूनिक्स समाधान है।

Cygwin में:

cleartool ls -rec | grep -v "Rule:" | grep -v "hijacked" | grep -v "eclipsed" | grep -v -- "-->" 

Cygwin लाइन यूनिक्स VonC द्वारा दिए गए के समान है, लेकिन ध्यान दें कि पिछले ग्रेप पर दो बार पानी का छींटा की जरूरत है (और xargs की जरूरत नहीं है)।

0

मैंने उपर्युक्त समाधानों का पालन किया और यह बहुत अच्छा आदेश है। मैं कुछ और आवश्यकताओं कि तो मैं स्क्रिप्ट के नीचे अतिरिक्त अंक

साथ छोटे से अधिक संशोधित उपरोक्त में शामिल नहीं किया गया था
    सूची से
  1. अपवर्जित बैच फ़ाइल (अन्यथा वर्तमान बैच फ़ाइल भी सूची में आ रहा है)
  2. के रूप में सूची से निर्देशिका निकाला गया आम तौर पर मैं फ़ाइल

  3. में दिलचस्पी जावा डेवलपर, निकाले गए लक्ष्य फ़ोल्डर और जार फ़ाइलों के लिए विशेष रूप से के रूप में वे आम तौर पर

  4. निकाला गया .classpath में जाँच नहीं कर रहे हैं, .project जो ग्रहण के लिए विशिष्ट है और .settings फ़ोल्डर (अगर वे परियोजना/मॉड्यूल के रूप में ही स्तर हैं)

    @echo off 
    setlocal 
    
    @echo. 
    @echo Searching, please wait as this can take a while... 
    @echo. 
    for /F "usebackq delims=" %%i in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->" ^| find /V ".settings" ^| find /V "jar" ^| find /V "keep" ^| find /V "target" ^| find /V ".classpath" ^| find /V ".project" ^| find /V "%~n0" `) do (if not exist %%i\* @echo "%%i") 
    
    @echo. 
    @echo === === === === === Search Complete === === === === === === 
    @echo. 
    @echo. 
    
    pause 
    
संबंधित मुद्दे

 संबंधित मुद्दे