2015-08-25 14 views
9

से विलय अनुरोध को कैसे निकालें I gitlab (स्थानीय) सर्वर पर एक मर्ज अनुरोध बनाया। अब जब भी मैं मर्ज अनुरोध पर क्लिक करता हूं, त्रुटि 500 ​​के साथ अनुरोध का समय समाप्त होता है। इससे पहले मुझे त्रुटि कोड 504 प्राप्त होता था और मैंने this gitlab support topic में उल्लिखित परिवर्तन लागू किया था।गिटलैब सर्वर

मैं बस इतना करना चाहता हूं कि विलय अनुरोध को हटा दें। क्या ऐसा करने का कोई मैनुअल तरीका है?

+0

संपादन के लिए धन्यवाद ... अब कुछ उत्तरों के बारे में !! – Sanj

उत्तर

8

हां, वहाँ है .... मुझे उपयोगकर्ता इंटरफ़ेस में मर्ज अनुरोध को हटाने का कोई तरीका नहीं मिला, लेकिन आप इसे डेटाबेस से हटा सकते हैं।

(किसी भिन्न डेटाबेस संरचना कृपया ध्यान दें, कि मैं केवल Ubuntu 14.04.3 LTS पर gitlab सीई 8.4.0-ce.0 पर इस परीक्षण किया .. अन्य संस्करणों हो सकता है)

एक कमांड प्रॉम्प्ट पर, निष्पादित (रूट के रूप में) के लिए निम्न आदेश:

sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq_production 

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

select id, title from merge_requests; 

आपको मर्ज अनुरोध आईडी और शीर्षक की एक सूची मिल जाएगी। आपके द्वारा हटाया और ध्यान दें id

ठीक करना चाहते हैं, मान लीजिए कि आप मर्ज अनुरोध आप हटाना चाहते हैं और id5 है मिल गया है सकते हैं। आप निम्न SQL आदेशों का उपयोग करके उस विलय अनुरोध से जुड़े सभी डेटा को हटाने जा रहे हैं। (स्थानापन्न 5 अपने वास्तविक मर्ज अनुरोध id साथ नीचे दिए गए आदेशों में)

delete from merge_requests where id = 5; 
delete from merge_request_diffs where merge_request_id = 5; 
delete from notes where noteable_type = 'MergeRequest' and noteable_id = 5; 

अब आप टाइप करके PostgreSQL आदेश टर्मिनल से बाहर बाहर निकलें:

\q 

आपका मर्ज अनुरोध अब से चला जाना चाहिए वेब इंटरफेस।

+1

यह प्रक्रिया अभी भी गिटलैब सीई 8.5.8 (46 बीबी 47 ए) पर काम करती है। तो मुझे लगता है कि कम से कम सभी संस्करणों पर भी 8.4.0 और 8.5.8 betweens। –

+0

मुझे लगता है कि @ थॉमस-केलर द्वारा प्रस्तावित समाधान क्लीनर है। सीधे डीबी में फिडलिंग त्रुटि-प्रवण है और आपको 100% सुनिश्चित होना चाहिए कि आप सब कुछ ठीक से साफ करें। एपीआई का उपयोग करके इस जिम्मेदारी को गिटलैब डेवलपर्स को बदल दिया जाता है, जो निस्संदेह एक एमआर हटाने के दौरान क्या करना चाहिए (और नहीं होना चाहिए) की बेहतर समझ है। – exhuma

2

मैं अगर यह रूप में अच्छी तरह सीई के साथ काम करता पता नहीं है, लेकिन कम से कम ई मर्ज अनुरोध को हटाने के लिए एक API endpoint है: कि रेपो पर मर्ज अनुरोध को खोजने

curl --request DELETE --header "PRIVATE-TOKEN: <private_token>" https://gitlab.example.com/api/v3/projects/4/merge_request/85 
+0

बस सीई के साथ परीक्षण किया और एक आकर्षण की तरह काम करता है। धन्यवाद! – exhuma

0

गंतव्य भंडार पर जाएँ, और बस "मर्ज अनुरोध बंद करें" पर क्लिक करें। चूंकि यह आपका विलय अनुरोध है, इसलिए आपके पास ऐसा करने का अधिकार है।

+1

बंद करना उतना ही नहीं है जितना हटाना। एमआर बंद करने से इसे पीबी में पोस्टरिटी के लिए रखा जाता है। कभी-कभी आप इसे पूरी तरह से छुटकारा पाने के लिए चाहते हैं (उदाहरण के लिए जब आप कुछ परीक्षण करने के लिए एमआर खोलते हैं)। – exhuma

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