git - गिट svn क्लोन malformed सूचकांक जानकारी त्रुटि




perl (9)

जांचें कि कौन सी svn प्रतिबद्ध समस्या का कारण बनता है।

कामों को git svn clone कमांड द्वारा आउटपुट किया जाता है, जो पहले आर द्वारा किया जाता था। आउटपुट की आखिरी प्रतिबद्धता समस्याग्रस्त है।

अगला उदाहरण दिखाता है कि गिट 373fb1... git svn clone कमांड आउटपुट करता है जब सबवर्सन संशोधन 15 को गिट प्रतिबद्ध 373fb1... रूप में 373fb1... :

r15 = 373fb1de430a6b1e89585425f276aae0058c3deb (refs/remotes/svn/trunk)

-r (संशोधन) विकल्प का उपयोग कर git svn clone कमांड को विभाजित करें

इस विधि का प्रयोग करें:

git svn clone -r 0:<problematic_revision - 1> <repo URL>
git svn clone -r <problematic_revision - 1>:problematic_revision <repo URL>
git svn clone -r <problematic_revision>:HEAD <repo URL>

संशोधन 15 को समस्याग्रस्त एक के रूप में मानते हुए, और रेपो इन /tmp/svn/repo/ , समाधान होगा:

git svn clone -r  0:14   file:///tmp/svn/repo/
git svn clone -r 14:15   file:///tmp/svn/repo/
git svn clone -r 15:HEAD file:///tmp/svn/repo/

जब मैं गिट svn क्लोन चलाता हूं तो मुझे निम्न त्रुटि मिलती है:

  0 [main] perl 24432 cygwin_exception::open_stackdumpfile: Dumping stack trace to perl.exe.stackdump
  fatal: malformed index info 100644 362f1c18ceed5d593eb021432545685283a93 

जब मैं फ़ाइल खोलता हूं तो मुझे निम्न दिखाई देता है:

अपवाद: रिप पर STATUS_ACCESS_VIOLATION = 0048360C537 Rax = 00000006039F81E0 Rbx = 000000005219E248 RCX = 000000060003A3C0 RDX = -0000000000000000 RSI = 000000000000FDB4 RDI = 0000000000000004 r8 = -0000000000000000 r9 = -0000000000000000 R10 = 0000000000230000 r11 = 000000048D785FBA r12 = 0000000000000003 R13 = 000006FFFF7FEDB8 R14 = 00000006014D4030 R15 = 000006FFFF7FEDD0 RBP = 000000000007EDA8 आरएसपी = 000000000022 बीई 80 प्रोग्राम = सी: \ प्रोग्राम फ़ाइलें \ गीट \ usr \ bin \ perl.exe, पिड 24432, थ्रेड मुख्य सीएस = 0033 डीएस = 002 बी एस = 002 बी एफएस = 0053 जीएस = 002 बी एसएस = 002 बी

मैंने निम्नलिखित लिंक चेक किए हैं:

गिट एसवीएन क्लोन के साथ त्रुटि

गिट svn के माध्यम से एक एकल एसवीएन शाखा क्लोनिंग समस्या

विंडोज के लिए पायथन एसवीएन बाइंडिंग्स

subversion पायथन बाइंडिंग दस्तावेज?

दुर्भाग्यवश, मैं अंतर्निहित प्रौद्योगिकियों के लिए पर्याप्त परिचित नहीं हूं कि मुझे यह पता लगाना चाहिए कि मुझे क्या करना चाहिए। इसका कारण बन सकता है और मैं कैसे हल कर सकता हूं?


Svn2git उपकरण का उपयोग करके गिट में विशाल svn भंडार माइग्रेट करते समय मुझे यह त्रुटि मिली। मैंने अपनी .git / config फ़ाइल में लाइनों के नीचे जोड़ा और यह काम करना शुरू कर दिया:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
    packedGitLimit = 256m
    packedGitWindowSize = 256m
    longpaths = true
[http]
    postBuffer = 524288000
[pack]
  deltaCacheSize = 256m
  packSizeLimit = 256m
  windowMemory = 1024m

इन सेटिंग्स को गिट-कॉन्फ़िगर मैन पेज पर समझाया गया है।


मेरे पास समान अपवाद और त्रुटि संदेश थे, मेरे लिए ए

git gc

और / या ए

git svn gc

भंडार वापस एक उपयोगी राज्य में लाया। https://.com/a/1436386/411846 भी https://.com/a/1436386/411846


मेरे मामले में यह त्रुटि बड़ी भंडार के साथ हुई। तो यदि संभव हो तो सबफ़ोल्डर क्लोन करने का प्रयास करें।


मेरे मामले में, यह त्रुटि उबंटू 16.04 में हुई और संस्करण git svn --version कमांड चलाने के बाद git-svn संस्करण 2.17.0 (svn 1.9.3) है , मैं अपने मैकोज़ पर स्विच करता हूं जो संस्करण जानकारी git-svn संस्करण है 2.17.0 (svn 1.7.20) जब मैंने git svn --version कमांड चलाया, तो मैकोज़ में सफल क्लोन और फ़ेच और अन्य ऑपरेशन के बाद उबंटू पर वापस स्विच करें।


मेरे लिए काम करने वाला एकमात्र समाधान गिट के पुराने संस्करण का उपयोग कर रहा था। मैंने गिट 1.8.3 के पोर्टेबल पैकेज का उपयोग किया जिसे यहां डाउनलोड किया जा सकता है:

https://github.com/msysgit/msysgit/releases/tag/Git-1.8.3-preview20130601

इसके साथ .git / config edits, splitted checkouts, या perl डीबग कथन की कोई आवश्यकता नहीं थी।


मैं हर बार इस समस्या को पुन: पेश कर सकता हूं, और git svn में सही काम करता है

संस्करण 1.9.5

आप इसे गिट-1.9.5-preview20141217.exe से इंस्टॉल कर सकते हैं

https://github.com/msysgit/msysgit/releases/tag/Git-1.9.5-preview20141217

मुझे आश्चर्य है कि कोई पुराने संस्करण 1.9.5 और वर्तमान संस्करण के बीच अंतर की जांच कर सकता है (जब आप msysgit से यहां जाते हैं)

गिट के लिए पुराने संस्करण का उपयोग करना दर्दनाक है, सिर्फ इसलिए कि गिट svn नए संस्करण में ठीक से काम नहीं कर सकता है।


यहां मेरी समस्या है:

  • ओएस: xubuntu 16.04
  • गिट-एसवीएन संस्करण 2.7.4 (एसवीएन 1.9.3)

perl -d /usr/lib/git-core/git-svn fetch से ट्रेस जानकारी:

Signal SEGV at /usr/local/share/perl/5.22.1/Git/SVN/Fetcher.pm line 368
    Git::SVN::Fetcher::apply_textdelta(Git::SVN::Fetcher=HASH(0x20ee160), HASH(0x2488a40), undef, _p_apr_pool_t=SCALAR(0x2488bf0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.22/SVN/Ra.pm line 623
    SVN::Ra::Reporter::AUTOLOAD(SVN::Ra::Reporter=ARRAY(0x8d0fa0), SVN::Pool=REF(0x20ee910)) called at /usr/local/share/perl/5.22.1/Git/SVN/Ra.pm line 308
    Git::SVN::Ra::gs_do_update(Git::SVN::Ra=HASH(0x20df170), 42560, 42560, Git::SVN=HASH(0x20dea08), Git::SVN::Fetcher=HASH(0x20ee160)) called at /usr/local/share/perl/5.22.1/Git/SVN.pm line 1205
    Git::SVN::do_fetch(Git::SVN=HASH(0x20dea08), HASH(0x20ee1d8), 42560) called at /usr/local/share/perl/5.22.1/Git/SVN/Ra.pm line 471
    Git::SVN::Ra::gs_fetch_loop_common(Git::SVN::Ra=HASH(0x20df170), 42500, 95400, ARRAY(0x1637c08), ARRAY(0x1637c20)) called at /usr/local/share/perl/5.22.1/Git/SVN.pm line 179
    Git::SVN::fetch_all("svn", HASH(0x20dee28)) called at /usr/lib/git-core/git-svn line 570
    main::cmd_fetch() called at /usr/lib/git-core/git-svn line 386
    eval {...} called at /usr/lib/git-core/git-svn line 384
Aborted (core dumped)

अंततः मैंने निम्नलिखित चरणों से इस समस्या को ठीक किया (यह उबंटू लिनक्स 16.04 उपयोगकर्ताओं के लिए है):

sudo apt build-dep subversion
sudo apt install libneon27-dev
sudo cpan SVN::Core

फिर मैं किसी भी दुर्घटना के बिना git svn fetch/clone उपयोग कर सकते हैं।

इस समस्या का मूल कारण यह है कि पर्ल एसवीएन :: कोर लाइब्रेरी स्क्रिप्ट पर्ल में स्थापित द्विआधारी से मेल नहीं खाती है (सिस्टम स्थापित किए गए पर्ल में अलग पृथक्करण बाइनरी स्थापित हैं)।

सावधान रहें यह आपके गिट-एसवीएन के एसवीएन संस्करण को 1.8.11 (इससे पहले 1.9.3) से डाउनग्रेड करेगा, और अन्य समस्याएं पैदा कर सकता है।


अपडेट किया गया - समस्या अभी भी मेरे लिए गिट जीसी के बाद होती है। मैंने गिट विंडोज़ (32 और 64 बिट दोनों) के हर संस्करण की कोशिश की, लेकिन फिर भी मुझे यह त्रुटि मिली। फिर मैंने लिनक्स पर गिट का उपयोग करने के लिए स्विच किया और यह मेरे लिए ठीक काम करता है, यहां तक ​​कि बहुत बड़ी काम करता है। मैं लिनक्स पर स्विच करने की अनुशंसा करता हूं अन्यथा आप यहां उठाए गए मुद्दे के रूप में भाग्य से बाहर हैं - https://github.com/git-for-windows/git/issues/274 लगभग 6 महीने पुराना है।

अपडेट किया गया - सेंटीक के जवाब में जोड़ने के लिए, git gc केवल इस विशेष समस्या के लिए विंडोज़ के लिए 32-बिट गिट के लिए ठीक काम करता है।

मुझे लगता है कि विंडोज़ के लिए 64-बिट गिट के लिए समस्या मौजूद है। मुझे 64 बिट गिट के साथ एक ही समस्या हो रही थी, लेकिन गिट 2.7.2 विंडोज 32-बिट पर स्विच करने के बाद, समस्याएं मेरे लिए हल हो रही हैं।







svn