2010-08-30 5 views
5

मैं यह पता लगाने की कोशिश कर रहा हूं कि क्या हमें svn व्यवस्थापक अधिकार रखने वाले डेवलपर्स की संख्या को कम करने की आवश्यकता है।svn हटाने के बाद फ़ाइल को पुनर्प्राप्त किया जा सकता है?

1 - यदि कोई सबवर्सन उपयोगकर्ता गलती से फ़ाइल या फ़ोल्डर को हटा देता है और करता है, तो फाइल को कैसे पुनर्प्राप्त किया जा सकता है?

2 - यदि उपवर्तन उपयोगकर्ता के पास svn व्यवस्थापक अधिकार हैं, तो क्या क्लाइंट पर निष्पादित एसवीएन अलग-अलग व्यवहार करता है (अधिक स्थायी)?

लक्ष्य: रेड हैट एंटरप्राइज लिनक्स (RHEL) 5,2

+0

सब अच्छा जवाब के लिए धन्यवाद। मैं कुछ भी समझता हूं एक एसवीएन क्लाइंट बस एक नया संशोधन करता है और सभी पिछले संशोधन अभी भी सुलभ हैं। मेरी गलती svn उपयोगकर्ता अनुमतियों (विनाशकारी शक्ति) को svn उपयोगकर्ता अनुमतियों (विनाशकारी) के साथ भ्रमित कर रही थी। बस सुनिश्चित करें कि सर्वर का बैक अप लिया गया है। :-) –

उत्तर

6

हाँ, हटाए गए डेटा बरामद किया जा सकता के लिए लागू होता है। बस यह निर्धारित करें कि किस संशोधन ने सूचना को हटा दिया है, और प्रतिबद्धता को "उलटा" कर दिया है। इस तरह कुछ:

svn merge -c -12345 working_copy_path 
svn commit working_copy_path 

द12345 का अर्थ है "संशोधन 12345 में उलटा विलय"।

ध्यान दें कि उपversण में स्वयं "प्रशासनिक" उपयोगकर्ताओं की कोई अवधारणा नहीं है। उपयोगकर्ताओं को या तो भंडार में दिए गए किसी भी पथ को पढ़ने और/या लिखने की अनुमति नहीं है या नहीं। यह भी ध्यान रखें कि आप कैसे भंडार तक पहुंचते हैं, इस पर निर्भर करता है कि प्रभावी रूप से कोई प्रमाणीकरण नहीं हो सकता है।

+0

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

+0

@Ed: आप निश्चित रूप से स्वागत करते हैं। – Mark

0
  • 1 के तहत SVN कमांड लाइन ग्राहक - सब कुछ SVN का उपयोग कर नष्ट कर दिया जा सकता है। यहां तक ​​कि एक आरएम (या हटाएं) कमांड को पूर्ववत किया जा सकता है।
  • 2 - # 1 हर उन
0

बस एक संशोधन चेकआउट जहां फ़ाइल अभी भी अस्तित्व में:

svn checkout -r <revision> <path to repository> 

अब आप फ़ाइल को फिर से जोड़ सकते हैं।

+0

timdev के उत्तर पर मेरी टिप्पणी देखें। परिवर्तन को विलय करने से प्रश्न में फ़ाइल (ओं) के इतिहास को बरकरार रखा जाता है। – Mark

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