Recursively को कैसे निकालें। Svn निर्देशिकाएँ?


7

मैं उन सभी .svn निर्देशिकाओं को कैसे पुन: हटा सकता हूं, जो निर्देशिका मैं हूं, से शुरू कर रहा हूं?


1
क्या मंच - विंडोज? लिनक्स / यूनिक्स? कुछ और?
क्रिस जे


यह लिनक्स, डेबियन

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

जवाबों:


13

ध्यान रखें कि svn "निर्यात" कमांड प्रदान करता है जो आपको अपने काम के पेड़ की एक प्रति प्रदान करता है, लेकिन सभी के बिना .svn निर्देशिकाओं में छिड़का हुआ है। यह वही हो सकता है जो आप चाहते हैं।

$ svn export /tmp/copy_of_my_tree

यह रेपो के लिए काम नहीं करेगा, आपके पास कोई पहुंच नहीं है (जैसे ज़िप किया गया है और आपको मेल किया गया है)
mbx

9

यदि आप लिनक्स (या समतुल्य) में काम कर रहे हैं, तो आप बस निम्नलिखित कर सकते हैं:

find . -name .svn -exec rm -rf {} \;

2
या, बेहतर, और Piskvor उल्लेख के रूप में, -type dयह सुनिश्चित करने के लिए उपयोग करें कि कोई गलती से कुछ नहीं हटा रहा है जो निर्देशिका नहीं है।
JDBP

7

किसी भी आधुनिक UN * X- जैसी प्रणाली में (Linux, Mac OS X, FreeBSD):

find . -type d -name '.svn' -exec rm -rf {} \;

लगता है:

  • वर्तमान निर्देशिका में
  • निर्देशिका
  • नाम के साथ .svn
  • और जब मिल जाए, rm -rfप्रत्येक पर दौड़ो

4
वह लगभग विहित मुहावरा है। आप आवश्यक प्रक्रियाओं की xargsसंख्या कम करना भूल गए rm: find . -type d -name '.svn' -print0 | xargs -0 rm -rf --
JdeBP

@ JdeBP की टिप्पणी में जोड़ने के लिए: कुछ findकार्यान्वयन भी समर्थन करते हैं -exec rm -rf {} +या -deleteएक ही चीज़ को प्राप्त करने के लिए भी ।
११:११
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.