मैं एक PHP उपकरण बना रहा हूं जो एक भंडार से जुड़ता है, काम की सूची डाउनलोड करता है और उन्हें स्थानीय रूप से स्टोर करता है। हालांकि, इस संभावना के कारण कि कुछ रिपॉजिटरीज बहुत अधिक हैं और लंबे समय तक प्रतीक्षा समय और संभावित समय-बहिष्कार/त्रुटियों में अपने लॉग परिणामों को पकड़ते हैं, मैं एसिंक अनुरोधों का उपयोग करके प्रत्येक प्रतिबद्ध संदेश डाउनलोड करना चाहता हूं।एसवीएन: क्या दिए गए पथ के लिए संशोधन संख्याओं की सूची प्राप्त करना संभव है?
तो, मैं संशोधन इतिहास में एक प्रारंभ और अंत बिंदु है, और मैं इस तरह सभी लॉग हड़पने कर सकते हैं:
svn log -r <from_revision>:<to_revision> <REPO_URL>
... और मैं संभवतः एक XML फ़ाइल है, जिसके साथ खत्म हो जाएगा इतना बड़ा है कि इसे डाउनलोड करने में लंबा समय लगेगा, लंबे समय तक और बहुत सारे संसाधनों को पार्स करने के लिए, और स्टोर करने में लंबा समय लगेगा।
अगर मैं प्रारंभ और अंत बिंदु पता है, मैं एक के बाद संशोधन एक हड़पने के लिए एक के लिए() पाश बना सकते हैं:
svn log -r <revision> ...
लेकिन, के बाद से मैं नहीं जानता कि जो विशिष्ट संशोधन मौजूद दिए गए पथ के लिए, मुझे एक त्रुटि प्राप्त होगी। मैं एप्लिकेशन को अद्यतन के दौरान उस त्रुटि को अनदेखा करने के लिए कर सकता हूं, लेकिन यह एक बुरा हैक है और यह अनुरोध पोस्ट करेगा और वैसे भी प्रतिक्रियाओं का इंतजार करेगा - जो बिल्कुल भी अच्छा नहीं है।
तो, मैं कुछ इस तरह की जरूरत है:
- "मुझे इस पथ के लिए संशोधन संख्या की सूची देने के", या:
- "मुझे इस पथ के लिए संशोधन संख्या की सूची देने के लिए, के बीच और
इस तरह मैं भंडार पथ के लिए मान्य संशोधन की एक सरणी बनाने के लिए और उन्हें एक एक करके प्राप्त करने में सक्षम हो जाएगा।
सभी सुझाव, स्वागत है अग्रिम धन्यवाद ।
क्या आपने एसवीएन सीएलआई निष्पादन योग्य को कॉल करने के बजाय एसवीएन बाइंडिंग का उपयोग करने पर विचार किया है? आईआईआरसी, वे पहले से ही PHP के लिए मौजूद हैं। यह एक और अधिक प्रोग्रामेटिक और कम त्रुटि-प्रवण इंटरफ़ेस होगा। – rmeador