GitHub ရှိ မှတ်တမ်းမှတ်စုများ အပြောင်းအလဲများကြောင့် တည်ဆောက်မှုစနစ်များတွင် ပျက်ကွက်မှုများ

GitHub သည် ထုတ်ဝေသည့်စာမျက်နှာများရှိ “.tar.gz” နှင့် “.tgz” မော်ကွန်းတိုက်များကို အလိုအလျောက်ထုတ်ပေးသည့်ပုံစံကို ပြောင်းလဲခဲ့ပြီး ၎င်းတို့၏ checksums များတွင် ပြောင်းလဲမှုများနှင့် ခိုင်မာမှုကိုအတည်ပြုရန် GitHub မှဒေါင်းလုဒ်လုပ်ထားသော archives များကို ယခင်အရာများနှင့်ဆန့်ကျင်၍ စစ်ဆေးသော အလိုအလျောက်တည်ဆောက်မှုစနစ်များတွင် ကြီးမားသောကျရှုံးမှုများဖြစ်စေသည် . သိမ်းဆည်းထားသော checksums များ ဥပမာ၊ package metadata သို့မဟုတ် build scripts များတွင် ထည့်ထားသည်။

ထုတ်ဝေမှု 2.38 မှစတင်၍ Git ကိရိယာတန်ဆာပလာအစုံသည် ပုံမှန်အားဖြင့် gzip ၏ built-in အကောင်အထည်ဖော်မှုတစ်ခုပါ၀င်သည်၊ ၎င်းသည် လည်ပတ်မှုစနစ်များတစ်လျှောက် ဤချုံ့ချမှုနည်းလမ်းအတွက် ပံ့ပိုးမှုကို ပေါင်းစည်းနိုင်စေကာ archive ဖန်တီးမှုစွမ်းဆောင်ရည်ကို တိုးတက်ကောင်းမွန်စေပါသည်။ GitHub သည် ၎င်း၏အခြေခံအဆောက်အအုံရှိ git ဗားရှင်းကို အပ်ဒိတ်လုပ်ပြီးနောက် အပြောင်းအလဲကို ကောက်ယူခဲ့သည်။ Built-in zlib-based gzip အကောင်အထည်ဖော်မှုမှ ထုတ်ပေးသော ချုံ့ထားသော မော်ကွန်းများသည် gzip utility မှ ဖန်တီးထားသော မော်ကွန်းများနှင့် binary ကွဲပြားသောကြောင့် ဖြစ်ရခြင်းဖြစ်ပြီး၊ ၎င်းကို လုပ်ဆောင်သည့်အခါ git ဗားရှင်းအမျိုးမျိုးဖြင့် ဖန်တီးထားသော မော်ကွန်းတိုက်များအတွက် စစ်ဆေးမှုအမျိုးမျိုးကို ဖြစ်ပေါ်စေသည်။ "git archive" အမိန့်။

ထို့ကြောင့်၊ Git တွင် git ကိုမွမ်းမံပြီးနောက်၊ checksums အဟောင်းများကိုအသုံးပြု၍ စိစစ်ခြင်းမအောင်မြင်သော ထွက်ရှိသည့်စာမျက်နှာများတွင် အနည်းငယ်ကွဲပြားသော မော်ကွန်းများကို စတင်ပြသခဲ့သည်။ ပြဿနာသည် အမျိုးမျိုးသော တည်ဆောက်မှုစနစ်များ၊ စဉ်ဆက်မပြတ် ပေါင်းစည်းမှုစနစ်များနှင့် အရင်းအမြစ်ကုဒ်မှ ပက်ကေ့ဂျ်များ တည်ဆောက်ခြင်းအတွက် ကိရိယာများ ပေါ်လာသည်။ ဥပမာအားဖြင့်၊ GitHub မှဒေါင်းလုဒ်လုပ်ထားသော အရင်းအမြစ်ကုဒ်များ 5800 FreeBSD အပေါက်များ ပျက်သွားပါသည်။

ချို့ယွင်းချက်များနှင့်ပတ်သက်၍ ကနဦးတိုင်ကြားချက်များအပေါ် တုံ့ပြန်သည့်အနေဖြင့် GitHub သည် မော်ကွန်းတိုက်အတွက် အမြဲတမ်း checksums များကို ဘယ်သောအခါမှ အာမခံချက်မရှိကြောင်း အစပိုင်းတွင် ကိုးကားဖော်ပြခဲ့သည်။ သက်ရောက်မှုရှိသော တည်ဆောက်မှုစနစ်များ၏ လုပ်ဆောင်နိုင်စွမ်းကို ပြန်လည်ရယူရန်အတွက် အမျိုးမျိုးသော ဂေဟစနစ်များရှိ မက်တာဒေတာကို အပ်ဒိတ်လုပ်ရန် အလုပ်ပမာဏများစွာ လိုအပ်ကြောင်း ပြသပြီးနောက်၊ GitHub ကိုယ်စားလှယ်များသည် ၎င်းတို့၏စိတ်ပြောင်းသွားပြီး အပြောင်းအလဲကို ပြန်ပြောင်းကာ မော်ကွန်းတိုက်ထုတ်သည့် နည်းလမ်းဟောင်းကို ပြန်ပေးခဲ့သည်။

Git developer များသည် ဆုံးဖြတ်ချက်မချသေးဘဲ ဖြစ်နိုင်သည့် လုပ်ဆောင်ချက်များကိုသာ ဆွေးနွေးနေပါသည်။ ပုံသေ gzip utility ကို အသုံးပြုခြင်းသို့ ပြန်ပြောင်းခြင်း ပါ၀င်သော ရွေးချယ်စရာများ ပါဝင်သည်။ မော်ကွန်းတိုက်ဟောင်းများနှင့် ကိုက်ညီမှုရှိစေရန် "--တည်ငြိမ်" အလံကို ပေါင်းထည့်ခြင်း၊ built-in အကောင်အထည်ဖော်မှုကို သီးခြား archive ဖော်မတ်သို့ ချိတ်ဆက်ခြင်း၊ ကတိကဝတ်ဟောင်းများအတွက် gzip utility ကိုအသုံးပြု၍ သတ်မှတ်ထားသောရက်စွဲမှစတင်ကာ commits အတွက် inline အကောင်အထည်ဖော်မှု၊ ချုံ့မထားသော မှတ်တမ်းများအတွက်သာ ဖော်မတ်တည်ငြိမ်မှုကို အာမခံပါသည်။

ပြင်ပ gzip ပရိုဂရမ်တွင် အပြောင်းအလဲသည် မော်ကွန်းပုံစံကို အပြောင်းအလဲဖြစ်စေနိုင်သောကြောင့် ပြင်ပ utility တစ်ခုသို့ ဖုန်းခေါ်ဆိုမှုသို့ ပြန်လှည့်ခြင်းသည် checksum မပြောင်းလဲနိုင်သော ပြဿနာကို လုံးလုံးလျားလျား မဖြေရှင်းနိုင်သောကြောင့် ဆုံးဖြတ်ချက်ချရန် အခက်အခဲကို ရှင်းပြပါသည်။ လက်ရှိတွင်၊ ပုံမှန်အားဖြင့် အပြုအမူဟောင်းကို ပြန်ပေးသည့် ပြန်လည်သုံးသပ်ရန်အတွက် ဖာထေးမှုအစုံကို (ပြင်ပ gzip utility ကိုခေါ်ဆိုခြင်း) နှင့် စနစ်အတွင်းရှိ gzip utility မရှိဘဲ built-in အကောင်အထည်ဖော်မှုကို အသုံးပြုသည်။ "git archive" အထွက်၏ တည်ငြိမ်မှုကို အာမမခံနိုင်ကြောင်းနှင့် အနာဂတ်တွင် ဖော်မတ်ပြောင်းနိုင်သည်ဟု ဖာထေးမှု ဖာထေးမှုများတွင် ထည့်သွင်းဖော်ပြထားသည်။

source: opennet.ru

မှတ်ချက် Add