मैं SVN फ़ाइल के पुराने संस्करण को कैसे देख सकता हूँ?


156

मेरे पास एक SVN फ़ाइल है जो अब कुछ तर्क याद कर रही है और इसलिए मुझे उस समय लगभग 40 संशोधन वापस करने की आवश्यकता है जब उसके पास तर्क की आवश्यकता थी। कमांड लाइन में फ़ाइल का एक अंतर देखने की कोशिश करने के अलावा ( पढ़ने में बहुत कठिन ), क्या कोई तरीका है जिससे मुझे समीक्षा करने के लिए उस फ़ाइल की एक प्रति मिल सके ताकि मैं इसे ठीक करने के लिए भागों का अध्ययन कर सकूं?

जवाबों:


237

आप पुराने संशोधन में अपडेट कर सकते हैं:

svn update -r 666 file

या आप फ़ाइल को सीधे देख सकते हैं:

svn cat -r 666 file | less

13
svn cat -r 666 file | lessएकदम सही है इसलिए मैं इसे विम के साथ पढ़ सकता हूं!
Xeoncross

4
@sillyMunky आज़माएं svn cat | vim -। अगर विम का सिंटैक्स हाइलाइटिंग स्वचालित रूप से, :set syntax=java(या जो भी भाषा) में किक नहीं करता है ।
बजे जॉन कुगेलमैन

1
बहुत बहुत धन्यवाद जॉन, वास्तव में मैं डेबियन पर हूँ और मैंने पाया कि एक छोटा सा वाक्यविन्यास हाइलाइटिंग पैकेज है जिसे 'सोर्स-हाइलाइट' कहा जाता है, इतना कम स्वचालित रूप से पिक सिंटैक्स हाइलाइटिंग कर सकता है (वास्तव में मैं अब यह भेद के लिए कम करने के लिए उर्फ)।
मूर्ख34

2
svn cat -r 666 फ़ाइल> file_666.js अगर आप उस पूरी फ़ाइल को देखना चाहेंगे: p
पारिजात कालिया

या यदि आप bash का उपयोग कर रहे हैं vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
h4unt3r

5

वर्तमान कामकाजी संशोधन की फ़ाइल की तुलना दूसरे संशोधन की फ़ाइल के साथ करना भी दिलचस्प है।

आप निम्नानुसार कर सकते हैं:

$ svn diff -r34 file


1

मेरा मानना ​​है कि संशोधन देखने का सबसे अच्छा तरीका एक प्रोग्राम / ऐप का उपयोग करना है जो आपके लिए आसान बनाता है। मुझे trac का उपयोग करना पसंद है: http://trac.edgewall.org/wiki/TracSubversion

यह एक महान svn ब्राउज़र प्रदान करता है और आपके संशोधनों के माध्यम से वापस जाने के लिए वास्तव में आसान बनाता है।

यह एक विशेष संशोधन के लिए सेट करने के लिए थोड़ा ओवरकिल हो सकता है जिसे आप जांचना चाहते हैं, लेकिन यह उपयोगी हो सकता है यदि आप भविष्य में ऐसा करने जा रहे हैं।


1

Subclipse के नवीनतम संस्करणों का उपयोग करके , आप वास्तव में cmd ​​प्रॉम्प्ट का उपयोग किए बिना उन्हें देख सकते हैं। फ़ाइल पर, बस राइट-क्लिक करें => टीम => किसी अन्य शाखा / टैग / संशोधन पर स्विच करें। संशोधन क्षेत्र के अलावा, आप चयन पर क्लिक करते हैं, और आपको उस फ़ाइल के सभी संस्करण दिखाई देंगे।


1

"उस फ़ाइल की प्रतिलिपि कैसे प्राप्त करें" के सवाल का सीधे जवाब देने के लिए:

svn cat -r 666 file > file_r666

फिर आप file_r666किसी भी दर्शक या तुलना कार्यक्रम के साथ नए बनाए गए उदाहरण देख सकते हैं

kompare file_r666 file

अच्छी तरह से मतभेदों को दर्शाता है।

मैंने उत्तर पोस्ट किया क्योंकि स्वीकृत उत्तर की कमांड वास्तव में फ़ाइल की प्रतिलिपि नहीं देती है और क्योंकि svn cat -r 666 file | vimमेरे सिस्टम के साथ काम नहीं करता है ( Vim: Error reading input, exiting...)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.