"अपलोड-पैक: हमारा रेफरी नहीं" का क्या मतलब है, जब जीआईटी -गैग के माध्यम से रिफिट प्राप्त होता है?


10

मेरी एक परियोजना में, ट्रैविस बिल्ड मेरे किसी भी बिल्ड-सिस्टम या कोड तक पहुंचने से पहले विफल हो रहे हैं, जैसे ही मेरी बिल्ड-स्क्रिप्ट सभी Git टैग प्राप्त करने का प्रयास करती है git fetch --tags:

`` git fetch --tags --verbose
POST git-upload-pack (350 bytes)
POST git-upload-pack (788 bytes)
POST git-upload-pack (797 bytes)
From https://github.com/ELLIOTTCABLE/bs-sedlex
 = [up to date]      fix-ci        -> origin/fix-ci
 * [new tag]         sedlex-1.99.2 -> sedlex-1.99.2
 * [new tag]         v1.99.3       -> v1.99.3
...
 * [new tag]         v20.0.0-pre.2 -> v20.0.0-pre.2
Fetching submodule ppx-sedlex
POST git-upload-pack (122 bytes)
From https://github.com/ELLIOTTCABLE/ppx-sedlex
 = [up to date]      develop       -> origin/develop
 = [up to date]      master        -> origin/master
...
 = [up to date]      v20.0.0-pre.2 -> v20.0.0-pre.2
POST git-upload-pack (4 bytes)
POST git-upload-pack (69 bytes)
POST git-upload-pack (586 bytes)
fatal: remote error: upload-pack: not our ref 0f509703fcd43ff4324d721a39220153bab49d4a

यह विशेष रूप से भ्रामक है, क्योंकि न तो मुख्य रेपो bs-sedlex, न ही गिट-सबमॉडल ppx-sedlex, किसी भी तरह की प्रतिबद्ध शुरुआत है 0f5097...; मुझे पता नहीं है कि एसएचए कहां से आ रहा है। यह विफलता केवल लिनक्स श्रमिकों पर हो रही है, और मैं यह पता नहीं लगा सकता कि क्यों - git fetch --tagsउसी रेपो पर macOS ट्रैविस-वर्कर्स, मेरे macOS मशीन पर काम करता है, और एक Ubuntu Vagrant बॉक्स पर मैं इसे डिबग करने के लिए घूमता हूं।

"घातक: दूरस्थ त्रुटि: अपलोड-पैक: हमारा रेफरी नहीं" त्रुटि दर्शाता है; और मैं इसके आसपास कैसे काम कर सकता हूं? मुझे यह भी निश्चित नहीं है कि इस त्रुटि को डीबग करना कहां से शुरू किया जाए, क्योंकि यह केवल ट्रैविस श्रमिकों पर विशेष रूप से होता है।

(यह सहायक होने की संभावना नहीं है, लेकिन यहां संदर्भ में त्रुटि है , और प्रश्न में भंडार है ।)

1 संपादित करें: यहाँ GIT_TRACE = 2 को जोड़ने से कुछ अतिरिक्त दिलचस्प आउटपुट हैं:

Fetching submodule ppx-sedlex
23:55:28.125076 git.c:439               trace: built-in: git fetch --no-prune --no-prune-tags --tags -v --recurse-submodules-default on-demand --submodule-prefix ppx-sedlex/
23:55:28.125914 run-command.c:663       trace: run_command: git-remote-https origin https://github.com/ELLIOTTCABLE/ppx-sedlex.git
23:55:28.429609 run-command.c:663       trace: run_command: git rev-list --objects --stdin --not --all --quiet --alternate-refs
23:55:28.432485 run-command.c:663       trace: run_command: git rev-list --objects --stdin --not --all --quiet --alternate-refs
23:55:28.434082 git.c:439               trace: built-in: git rev-list --objects --stdin --not --all --quiet --alternate-refs
From https://github.com/ELLIOTTCABLE/ppx-sedlex
 = [up to date]      develop       -> origin/develop
 = [up to date]      master        -> origin/master
 = [up to date]      v1.99.4       -> v1.99.4
 = [up to date]      v1.99.4-pre.1 -> v1.99.4-pre.1
 = [up to date]      v1.99.4-pre.3 -> v1.99.4-pre.3
 = [up to date]      v1.99.4-pre.8 -> v1.99.4-pre.8
 = [up to date]      v2.0.0        -> v2.0.0
 = [up to date]      v20.0.0-pre.1 -> v20.0.0-pre.1
 = [up to date]      v20.0.0-pre.2 -> v20.0.0-pre.2
23:55:28.442482 run-command.c:1616      run_processes_parallel: preparing to run up to 1 tasks
23:55:28.442504 run-command.c:1648      run_processes_parallel: done
23:55:28.442536 run-command.c:663       trace: run_command: git gc --auto
23:55:28.443983 git.c:439               trace: built-in: git gc --auto
23:55:28.444903 run-command.c:663       trace: run_command: cd /home/vagrant/ELLIOTTCABLE/bs-sedlex/.git/modules/ppx-sedlex; unset GIT_PREFIX; GIT_DIR=. git fetch --no-prune --no-prune-tags --tags -v --recurse-submodules-default on-demand --submodule-prefix ppx-sedlex/ origin 0f509703fcd43ff4324d721a39220153bab49d4a
23:55:28.446392 git.c:439               trace: built-in: git fetch --no-prune --no-prune-tags --tags -v --recurse-submodules-default on-demand --submodule-prefix ppx-sedlex/ origin 0f509703fcd43ff4324d721a39220153bab49d4a
23:55:28.447105 run-command.c:663       trace: run_command: git-remote-https origin https://github.com/ELLIOTTCABLE/ppx-sedlex.git
23:55:28.735871 run-command.c:663       trace: run_command: git fetch-pack --stateless-rpc --stdin --lock-pack --thin --no-progress https://github.com/ELLIOTTCABLE/ppx-sedlex.git/
23:55:28.738885 git.c:439               trace: built-in: git fetch-pack --stateless-rpc --stdin --lock-pack --thin --no-progress https://github.com/ELLIOTTCABLE/ppx-sedlex.git/
error: Server does not allow request for unadvertised object 0f509703fcd43ff4324d721a39220153bab49d4a

मैं यहाँ क्यों "अनजाने वस्तु" का अनुरोध कर रहा हूँ, क्यों नहीं छिपाएँ-न-बाल कर सकते हैं; लेकिन यह स्पष्ट रूप से एक GitHub समस्या नहीं है, यहाँ - किसी कारण से, कमांड:

git fetch --no-prune --no-prune-tags --tags -v \
   --recurse-submodules-default on-demand \ 
   --submodule-prefix ppx-sedlex/ \
   origin 0f509703fcd43ff4324d721a39220153bab49d4a

... स्वचालित रूप से submodule पर लागू किया जा रहा है, जब मैं git fetchमूल रेपो में। (फिर से, यह प्रतिबद्ध है, 0f509703या तो रेपो में मौजूद नहीं है; फिर से, वही रेपो, सटीक वही प्रतिबद्ध है, और यह macOS पर नहीं हो रहा है - केवल ट्रैविस के लिनक्स मशीनों पर।)

जवाबों:


2

यह विशेष रूप से भ्रामक है, क्योंकि न तो मुख्य रेपो बीएस-सेडलेक्स, और न ही गिट-सबमॉड्यूल ppx-sedlex, किसी भी तरह की शुरुआत 0f5097 ... है;

लेकिन उनके पास उस SHA1 के साथ एक टैग हो सकता है (जो, एक बार dereferenced, एक कमिट को इंगित करेगा)

"घातक: दूरस्थ त्रुटि: अपलोड-पैक: हमारा रेफरी नहीं" त्रुटि दर्शाता है;

" नेस्टेड सबमॉड्यूल्स के साथ एक रेपो क्लोनिंग काम नहीं करता है " देखें

Git तीन विकल्प प्रदान करता है जो नियंत्रित करता है कि क्या आप एक मनमानी वस्तु ID प्राप्त कर सकते हैं:

  • वह जो किसी भी मनमाने वस्तु को प्राप्त करने की अनुमति देता है जो Git के पास है।
  • एक संदर्भ से किसी भी वस्तु को प्राप्त करने की अनुमति देता है,
  • और एक जो अतिरिक्त रूप से छिपा संदर्भों से वस्तुओं को लाने की अनुमति देता है।

"हमारा रेफरी" संदेश का मतलब यह नहीं है कि आप ऑब्जेक्ट आईडी द्वारा एक ऑब्जेक्ट लाने की कोशिश कर रहे हैं, जो सबमॉड्यूल के लिए उपयोग किया जाता है, लेकिन सर्वर इसे अनुमति नहीं देता है।

आपके मामले में, यह संभव हो सकता है:

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