23

सत्यापित करने के लिए एसवीएन कमिट संदेश टेम्पलेट और हुक कैसे बना सकता हूं मैं स्रोत नियंत्रण के लिए विजुअल एसवीएन सर्वर और कछुए एसवीएन (क्लाइंट) का उपयोग कर रहा हूं। मैं सभी डेवलपर्स को चेकइन नोट्स के लिए एक सतत प्रारूप पर मानकीकृत करना चाहता हूं।मैं

डेवलपर नाम: (पहले से भरा)

द्वारा समीक्षित:

[बग

उदाहरण के लिए मैं उनके डिफ़ॉल्ट संदेश कमिट ...

सार चाहते हैं आईडी]:

[बदलें बग राज्य]:

ज्ञात समस्याएँ:

प्रभावित फ़ाइलें: (पूर्व आबादी वाले)

भविष्य में मैं चाहूँगा [बग आईडी] और [बग राज्य] जानकारी की आपूर्ति करने के लिए एक स्वचालित अपडेट लागू करने के बग ट्रैकिंग सिस्टम। इसके अलावा डेवलपर नाम और प्रभावित फ़ाइलों को svn उपयोगकर्ता और फ़ाइलों के साथ पूर्ववत किया जाना चाहिए जो उपयोगकर्ता आ रहा है।

कृपया आपके पास कोई लिंक या नमूने भेजें।

+10

"प्रभावित फ़ाइलें", और शायद यह भी "डेवलपर नाम", प्रतिबद्ध संदेश में नहीं होना चाहिए, क्योंकि वे कर रहे हैं * मज़बूती * निर्मित में मेटाडाटा के लिए प्रतिबद्ध। –

उत्तर

30

How to create a Tortoise SVN Checkin Template से लिया (अधिक वर्तमान संस्करण के लिए फिट करने के लिए संशोधित):

लॉग टेम्पलेट परियोजना आवश्यकताओं के अनुसार अनुकूलित किया जा सकता है और सख्त लॉग प्रारूप लागू करने के लिए इस्तेमाल किया जा सकता।

आसान है अपने SVN भंडार को यह जोड़ना:

  1. इस (ठीक क्लिक करें TortoiseSVN -> Properties)

  2. करें New -> Advanced सबवर्सन गुण के लिए जाने के लागू करने के लिए एक SVN फ़ोल्डर का चयन करने के लिए जो आप चाहते हैं, तो tsvn:logtemplateProperty name नाम की ड्रॉप डाउन सूची से।

  3. कॉम्बो बॉक्स के नीचे टेक्स्ट क्षेत्र में उपरोक्त टेम्पलेट्स (या अपना स्वयं का) जोड़ें।

  4. यदि आप वर्तमान फ़ोल्डर के नीचे पदानुक्रम में प्रत्येक फ़ाइल और फ़ोल्डर में संपत्ति लागू करना चाहते हैं, तो रिकर्सिव चेकबॉक्स देखें।

  5. सूची में उस संपत्ति को जोड़ने के लिए OK पर क्लिक करें।

  6. सभी फ़ोल्डरों और फ़ाइलों को चेक-इन करें ताकि आपकी टीम में हर कोई एक ही टेम्पलेट का उपयोग कर सके।

+4

खोजने के लिए थोड़ा मुश्किल था, लेकिन अनुमान है कि 4 साल बाद इसकी उम्मीद की जा सकती है :) मैंने इसे उपयोग किया: फ़ोल्डर राइट-क्लिक -> गुण -> नया ... -> उन्नत -> संपत्ति का नाम: tsvn: logtemplate - > एक संपत्ति मूल्य दर्ज करें -> ठीक है -> ठीक है। रिकर्सिव विकल्प इस टेम्पलेटेड प्रॉपर्टी वैल्यू को लागू करने या हटाने में कोई फर्क नहीं पड़ता। बहुत बहुत धन्यवाद adrainbanks (यहां तक ​​कि 4 साल भी!)। –

+0

रिकर्सिव विकल्प केवल तभी मायने रखता है जब आप रूट फ़ोल्डर की जांच नहीं करते हैं (जहां संपत्ति केवल सेट की गई थी)। सभी 'tsvn' गुण ग्राहक गुण हैं, इसलिए गुणों को पढ़ने के लिए सर्वर से कोई संचार नहीं किया जाता है। – mliebelt

+0

लिंक सड़ांध। नया लिंक: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-propertypage.html –

4

कमांड लाइन के साथ ऐसा करना एक तरह से SVN_EDITOR वातावरण चर बदलने के लिए है, यहाँ वर्णित:

http://svn.haxx.se/dev/archive-2006-02/0487.shtml

SVN_EDITOR="rm svn-commit.tmp && cp $REPOS/hooks/log.tmpl svn-commit.tmp && vi svn-commit.tmp" 
1

या, आगे SVN_EDITOR आराम के लिए (ठीक से जैसे SvnBridge का उपयोग करने के मामले में TFS कार्य आइटम से लिंक करना), कोई निम्न स्क्रिप्ट को ~/bin/svn_editor के रूप में संग्रहीत कर सकता है:

#!/bin/sh 

template_file="${@}" 
template_file_new="${template_file}.new" 

current_work_item_number_file="${HOME}/tfs_work_item_number_current.txt" 
[ -f "${current_work_item_number_file}" ] && work_item=$(cat "${current_work_item_number_file}") || work_item="please fill in!" 

# Yes folks, this is the TFS convention (hard, NOT-TO-BE-ALTERED text) 
# to properly link to work items via SvnBridge commits! 
work_item_prefix_hard_tfs_convention_text="work item: " 

work_item_text="${work_item_prefix_hard_tfs_convention_text}${work_item}" 

custom_text="${work_item_text}\n\n[this addition above initially placed to ignored content part here,\nto ensure properly abortable empty message by default - please move it to active content as needed]" 

sed -e 's/\(will be ignored--\)/\1\n'"${custom_text}"'/' "${template_file}" > "${template_file_new}" 

mv -f "${template_file_new}" "${template_file}" 

$EDITOR "${@}" 

और फिर बस ~/.bashrc या कुछ इस तरह में

export SVN_EDITOR=~/bin/svn_editor 

है। फ़ायरफ़ॉक्स TFS वेब इंटरफ़ेस में देखे गए वर्तमान कार्य आइटम पृष्ठ से भी कार्य आइटम संख्या फ़ाइल को अद्यतन रखने के लिए बोनस अंक (मुझे लगता है कि पेज शीर्षक प्राप्त करने के लिए फ़ायरफ़ॉक्स के साथ संवाद करने का संभवतः एक तरीका है)। या बस इस स्क्रिप्ट को लगातार कार्य आइटम फ़ाइल पर चलने वाला पहला प्रारंभिक संपादक प्रारंभ करें और फिर इसे अनुकूलित किए गए प्रतिबद्ध टेम्पलेट पर दूसरा संपादक चलाएं।

1

मैं का उपयोग कर यह पाया: Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.