Git 2.37 மூலக் கட்டுப்பாடு வெளியீடு

விநியோகிக்கப்பட்ட மூலக் கட்டுப்பாட்டு அமைப்பு Git 2.37 இன் வெளியீடு அறிவிக்கப்பட்டுள்ளது. Git மிகவும் பிரபலமான, நம்பகமான மற்றும் உயர் செயல்திறன் கொண்ட பதிப்பு கட்டுப்பாட்டு அமைப்புகளில் ஒன்றாகும், இது கிளை மற்றும் ஒன்றிணைப்பு அடிப்படையில் நெகிழ்வான நேரியல் அல்லாத மேம்பாட்டு கருவிகளை வழங்குகிறது. வரலாற்றின் ஒருமைப்பாட்டையும், பின்னோக்கிச் செல்லும் மாற்றங்களுக்கு எதிர்ப்பையும் உறுதிசெய்ய, ஒவ்வொரு கமிட்டிலும் முந்தைய முழு வரலாற்றையும் மறைமுகமாக ஹேஷிங் செய்வது பயன்படுத்தப்படுகிறது; டெவலப்பர்களின் டிஜிட்டல் கையொப்பங்களுடன் தனிப்பட்ட குறிச்சொற்கள் மற்றும் கமிட்களை சான்றளிக்கவும் முடியும்.

முந்தைய வெளியீட்டுடன் ஒப்பிடும்போது, ​​புதிய பதிப்பில் 395 மாற்றங்கள் ஏற்றுக்கொள்ளப்பட்டன, 75 டெவலப்பர்களின் பங்கேற்புடன் தயாரிக்கப்பட்டது, அதில் 20 பேர் முதல் முறையாக வளர்ச்சியில் பங்கேற்றனர். முக்கிய கண்டுபிடிப்புகள்:

  • களஞ்சியத்தின் ஒரு பகுதியை மட்டுமே உள்ளடக்கிய பகுதி குறியீடுகளின் (ஸ்பேர்ஸ் இன்டெக்ஸ்) பொறிமுறையானது பரவலான பயன்பாட்டிற்கு தயாராக கொண்டு வரப்பட்டுள்ளது. பகுதி குறியீடுகள் செயல்திறனை மேம்படுத்தலாம் மற்றும் பகுதி குளோனிங் (சிறிதளவு-செக்அவுட்) செயல்பாடுகளைச் செய்யும் அல்லது களஞ்சியத்தின் முழுமையற்ற நகலுடன் பணிபுரியும் களஞ்சியங்களில் இடத்தை சேமிக்கலாம். புதிய வெளியீடு ஜிட் ஷோ, ஜிட் ஸ்பார்ஸ்-செக்அவுட் மற்றும் ஜிட் ஸ்டாஷ் கட்டளைகளில் பகுதி குறியீடுகளின் ஒருங்கிணைப்பை நிறைவு செய்கிறது. பகுதி குறியீடுகளைப் பயன்படுத்துவதன் மூலம் மிகவும் குறிப்பிடத்தக்க செயல்திறன் நன்மையானது git stash கட்டளையுடன் காணப்படுகிறது, இது சில சூழ்நிலைகளில் செயல்படுத்தும் வேகத்தில் 80% அதிகரிப்பைக் கண்டுள்ளது.
  • களஞ்சியத்தில் குறிப்பிடப்படாத (கிளைகள் அல்லது குறிச்சொற்களால் குறிப்பிடப்படவில்லை) அடைய முடியாத பொருட்களை பேக்கிங் செய்வதற்கு ஒரு புதிய "க்ரஃப்ட் பேக்ஸ்" பொறிமுறை செயல்படுத்தப்பட்டுள்ளது. அணுக முடியாத பொருள்கள் குப்பை சேகரிப்பாளரால் நீக்கப்படும், ஆனால் இனம் நிலைமைகளைத் தவிர்க்க அவை நீக்கப்படுவதற்கு முன்பு ஒரு குறிப்பிட்ட காலத்திற்கு களஞ்சியத்தில் இருக்கும். அடைய முடியாத பொருள்கள் நிகழும் காலத்தைக் கண்காணிக்க, ஒத்த பொருள்களை மாற்றும் நேரத்துடன் குறிச்சொற்களை இணைக்க வேண்டியது அவசியம், இது அனைத்து பொருட்களுக்கும் பொதுவான மாற்ற நேரத்தைக் கொண்ட ஒரு பேக் கோப்பில் சேமிக்க அனுமதிக்காது. முன்பு, ஒவ்வொரு பொருளையும் தனித்தனி கோப்பில் சேமிப்பது, நீக்குவதற்கு இன்னும் தகுதியில்லாத புதிய, அணுக முடியாத பொருள்கள் அதிக எண்ணிக்கையில் இருக்கும்போது சிக்கல்களுக்கு வழிவகுத்தது. முன்மொழியப்பட்ட "க்ரஃப்ட் பேக்ஸ்" பொறிமுறையானது, அணுக முடியாத அனைத்து பொருட்களையும் ஒரு பேக் கோப்பில் சேமிக்கவும், மேலும் ".mtimes" நீட்டிப்புடன் ஒரு கோப்பில் சேமிக்கப்பட்ட தனி அட்டவணையில் ஒவ்வொரு பொருளின் மாற்ற நேரத்தின் தரவைப் பிரதிபலிக்கவும் உங்களை அனுமதிக்கிறது.
  • Windows மற்றும் macOS க்கு, கோப்பு முறைமையில் மாற்றங்களைக் கண்காணிப்பதற்கான உள்ளமைக்கப்பட்ட பொறிமுறை உள்ளது, இது "ஜிட் ஸ்டேட்டஸ்" போன்ற செயல்பாடுகளைச் செய்யும்போது முழு வேலை கோப்பகத்திலும் மீண்டும் மீண்டும் செய்வதைத் தவிர்க்க அனுமதிக்கிறது. முன்னதாக, மாற்றங்களைக் கண்காணிக்க, வாட்ச்மேன் போன்ற FS இல் மாற்றங்களைக் கண்காணிப்பதற்கான வெளிப்புற பயன்பாடுகள் கொக்கிகள் வழியாக இணைக்கப்படலாம், ஆனால் இதற்கு கூடுதல் நிரல்களின் நிறுவல் மற்றும் உள்ளமைவு தேவைப்பட்டது. இப்போது குறிப்பிடப்பட்ட செயல்பாடு உள்ளமைக்கப்பட்டுள்ளது மற்றும் "git config core.fsmonitor true" கட்டளையுடன் செயல்படுத்தப்படும்.
  • "git sparse-checkout" கட்டளையில், "-cone" பயன்முறைக்கு மாற்றாக ஆதரவு, பகுதி குளோனிங்கிற்கான டெம்ப்ளேட்களை வரையறுக்கும் முறை வழக்கற்றுப் போனதாக அறிவிக்கப்பட்டுள்ளது, இது களஞ்சியத்தின் பகுதியை தீர்மானிக்கும் போது அனுமதிக்கிறது. குளோனிங் செயல்பாடு, ".gitignore" தொடரியல் பயன்படுத்தி தனிப்பட்ட கோப்புகளை பட்டியலிட, இது தேர்வுமுறை பகுதி குறியீடுகளுக்கு பயன்படுத்த அனுமதிக்காது.
  • fsync() அழைப்பை வட்டில் மாற்றங்களை ஃப்ளஷ் செய்ய உள்ளமைப்பதில் அதிக நெகிழ்வுத்தன்மை. "core.fsyncMethod" அளவுருவில் "தொகுப்பு" ஒத்திசைவு உத்திக்கான ஆதரவு சேர்க்கப்பட்டுள்ளது, இது ரைட்பேக் தற்காலிக சேமிப்பில் மாற்றங்களைக் குவிப்பதன் மூலம் அதிக எண்ணிக்கையிலான தனிப்பட்ட கோப்புகளை எழுதும் போது வேலையை விரைவுபடுத்த அனுமதிக்கிறது, இது ஒற்றை fsync() மூலம் மீட்டமைக்கப்படுகிறது. அழைப்பு. “git add” கட்டளையைப் பயன்படுத்தி 500 கோப்புகளைச் சேர்த்த சோதனையானது, புதிய பயன்முறை இயக்கப்பட்டபோது 0.15 வினாடிகளில் முடிந்தது, fsync() ஐ அழைக்க ஒவ்வொரு கோப்பிற்கும் 1.88 வினாடிகள் ஆனது, fsync ஐப் பயன்படுத்தாமல் - 0.06 வினாடிகள் .
  • "git log" மற்றும் "git rev-list" போன்ற கிளை டிராவர்சல் கட்டளைகளுக்கு இப்போது "-since-as-filter=X" என்ற விருப்பம் உள்ளது, இது "X" ஐ விட பழைய கமிட்கள் பற்றிய தகவல்களை வடிகட்ட உங்களை அனுமதிக்கிறது. “—இருந்து” விருப்பத்தைப் போலன்றி, புதிய கட்டளையானது ஒரு வடிப்பானாக செயல்படுத்தப்படுகிறது, இது குறிப்பிட்ட நேரத்தை விட பழைய முதல் உறுதிப்பாட்டிற்குப் பிறகு தேடலை நிறுத்தாது.
  • "git remote" கட்டளையில், "-v" கொடியைக் குறிப்பிடும்போது, ​​களஞ்சியத்தின் பகுதி குளோன்கள் பற்றிய தகவல்கள் காட்டப்படும்.
  • "transfer.credentialsInUrl" அமைப்பு சேர்க்கப்பட்டது, இது "எச்சரிக்கை", "இறக்க" மற்றும் "அனுமதி" மதிப்புகளை எடுக்கலாம். அளவுருவில் குறிப்பிடப்பட்டால் “தொலை. "transfer.credentialsInUrl" அமைப்பு "die" என அமைக்கப்பட்டால், அல்லது "எச்சரிக்கை" என அமைக்கப்பட்டால் எச்சரிக்கை, "Fetch" அல்லது "push" செயல்பாட்டைச் செய்ய முயற்சிக்கும் .url எளிய உரைச் சான்றுகள் பிழையால் தோல்வியடையும்.
  • இயல்பாக, "git add -i" கட்டளையின் ஊடாடும் பயன்முறையின் புதிய செயலாக்கம், Perl இலிருந்து C க்கு மீண்டும் எழுதப்பட்டது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்