2016-06-09 4 views
12

बहुत पहले नहीं, हमने एसवीएन से गिट में स्विच किया है।पूरी टीम को 'बहुत अधिक पहुंचने योग्य ढीले ऑब्जेक्ट्स' संदेश मिलते हैं

कुछ दिन पहले, मैंने महसूस किया कि हमारी टीम के सभी उन संदेशों को हो जाता है जब वे धक्का:

$ git push 
Counting objects: 32, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (19/19), done. 
Writing objects: 100% (32/32), 2.94 KiB | 0 bytes/s, done. 
Total 32 (delta 14), reused 0 (delta 0) 
error: The last gc run reported the following. Please correct the root cause 
and remove gc.log. 
Automatic cleanup will not be performed until the file is removed. 

warning: There are too many unreachable loose objects; run 'git prune' to remove them. 

To [email protected]:root/xxx.git 
    15c3bbb..69e6d8b xxxx -> xxx 

मैंने सोचा कि यह थोड़ी देर के लिए अपने कंप्यूटर से आ रहा था, जब तक मुझे लगता है कि हर कोई एक ही है मुद्दे।

कहने की जरूरत नहीं है कि मेरे .git फ़ोल्डर में कोई gc.log नहीं है, और 'git gc' या 'git prune' का कोई प्रभाव नहीं पड़ता है।

तो मेरा सवाल यह है: क्या यह हो सकता है कि सर्वर पर होस्ट किया गया भंडार किसी भी तरह से साफ नहीं है? यदि हां, तो मैं वास्तव में इसे कैसे साफ कर सकता हूं?

मुझे अब तक के सभी समाधान भंडारों की स्थानीय प्रतियों से संबंधित हैं।

इसके अलावा, हम अपने रिपो होस्ट करने के लिए गिटलैब का उपयोग करते हैं।

संपादित करें: यह कहने योग्य है कि मैंने इस प्रश्न को पोस्ट करने के बाद भी गिटलाब का उपयोग करके भंडार "हाउसक्लेनिंग" करने का प्रयास किया है, लेकिन इसका कोई परिणाम नहीं है।

धन्यवाद

+0

क्या आप गिटलैब का उपयोग कर रहे हैं? – VonC

उत्तर

12

यह issue 14357 द्वारा पीछा किया जाता (GitLab 8.6- या उससे कम)

मैनुअल ठीक था: में

  • worker1 में SSH
  • सीडी gitlab-संगठन/gitlab -स निर्देशिका
  • rm gc.log भाग गया, इसमें केवल "चेतावनी" थी: बहुत अधिक पहुंचने योग्य ढीली वस्तुएं हैं ; उन्हें हटाने के लिए 'Git छँटाई' चलाते हैं। "
  • git prune भाग गया और यह चीजों को (जो यह शुक्र है नहीं था)

नहीं तोड़ा प्रार्थना की लेकिन यह की तरह, GitLab 8.7, auto gc is disabled शुरू।
लग रहा है यह भी (still opened) issue 13524 के संदर्भ में किया जाता है:

आम तौर पर एक रिबेस के बाद

, संशोधन या अन्य कार्रवाई एक शक्ति धक्का हम प्रतिबद्ध झूलती रही है कर सकते हैं की आवश्यकता है कि

इस तरह के। git gc के कारण "अस्वीकृत" काम खो रहे हैं जिन्हें आंतरिक रूप से या गिटलैब हाउसकीपिंग सुविधाओं का उपयोग करके निष्पादित किया जा सकता है।

यदि ऐसा होता है कि एक विशिष्ट प्रतिबद्धता से जुड़ी एक चर्चा हुई - यह संदर्भित नहीं है कि समर्पण प्रतिबद्धता कचरा-संग्रहित हो गई है।

कंपनियां पुश घटनाओं में दर्ज की जा रही हैं और अनुरोध मर्ज करने के लिए जोड़े गए सिस्टम नोट्स के माध्यम से उपलब्ध हैं, और वर्तमान में यह गिटलैब में त्रुटि 500 ​​उत्पन्न करती है।

+0

हे, धन्यवाद। मैंने एक समान मुद्दे की खोज की लेकिन इसे स्पष्ट रूप से याद किया। हम आज रात आवश्यक कदमों को करने की कोशिश करेंगे और देखेंगे कि यह इस मुद्दे को हल करता है या नहीं। – jlengrand

+0

@jlengrand ठीक है, लेकिन वर्तमान में आप गिटलैब का किस संस्करण का उपयोग कर रहे हैं? – VonC

+0

संस्करण 8.6.4 है :) – jlengrand

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