不僅Windows,GVFS還將滲入macOS和Linux
去年,有一個非常令人驚訝的事情,就是微軟宣佈將使用Git版本控制系統進行Windows開發。為了實現這一目標,微軟不得不修改Git來處理Windows開發的需求,並且將這些需求上傳上去並整合到標準的Git客戶端中。
目前,這個計劃貌似進展得比較順利。16日,微軟公司宣佈GitHub正在積極進行修改,兩家公司將攜手為MacOS和Linux帶來合適的客戶端。
由於Git的特殊性,微軟更希望轉移到Git上,但是轉型卻面臨著三個問題,首先,Git並不是為廣大開發人員設計的,超過2萬人在開發程式碼庫。其次,Git並不是針對如此廣大的程式碼庫設計的,無論是每個檔案的檔案數量和版本歷史數量,還是純粹的大小,都超過了300GB。第三,使用標準的Git時,原始碼庫的速度慢得簡直令人無法接受,一些常見操作(如檢查哪些檔案已被修改)可能就需要幾分鐘。
該公司的解決方案是開發Git虛擬檔案系統(GVFS)。使用GVFS,Git儲存庫的本地副本被虛擬化,使其包含後設資料以及僅顯式檢索的原始碼檔案。通過消除複製每個檔案的需要,儲存庫的磁碟佔用空間和使用速度大大提高。微軟修改了Git來處理虛擬檔案系統。客戶端被改變了,這樣它就不會不必要地嘗試訪問本地不可用的檔案,並且新增了一個新的傳輸協議來選擇性地從遠端儲存庫中檢索單個檔案。
通過內部測試,這個做法是成功的,今年5月Windows開發大幅遷移到了Git。但是,Git社群是否有了變化呢?
微軟表示,到目前為止,大約一半的修改已經被上游接受,上游的Git開發者普遍贊同公司採取的改進軟體擴充套件的方法。 Redmond還表示,願意改變其方法來滿足上游Git的需求。其中最大的複雜性在於,Git對相容性採取了非常保守的方法,要求儲存庫在各個版本之間保持相容。
GitHub對此表現出興趣和參與感是由企業客戶的需求所驅動的。開源,免費的GitHub託管並不需要微軟所做的擴充套件工作,所以對於Git使用者來說,現在的Git必須足夠好,足以滿足開發過程。在付費企業方面,情況會有些不同。某些行業有大量的儲存庫,這會給Git帶來問題,例如,遊戲儲存庫通常很大,這不是因為它們擁有數百萬個檔案和數十年的歷史,而是因為它們有大量的圖形和其他資源。而微軟對Git所做的擴充套件改進對於這種大型的儲存庫也是有用的。因此,在GitHub上所做的改進有助於更好地服務於企業。
同樣,微軟本身也有類似的企業需求,例如西門子希望從Team Foundation Server版本控制轉移到使用Git。但是,只有在規模擴大之後,Git才能更好地發揮效果,目前的規模使用TFS版本控制效果更好。
顧名思義,GVFS需要一個檔案系統驅動程式才能工作。Windows部門與工程團隊合作,為Windows新增功能以提高效率,並最終將此功能轉換為受支援的可擴充套件API,在某些時候移動新的OneDrive佔位符等系統以使用相同的API。
微軟和GitHub也正在努力為其他平臺帶來類似的功能,首先會是macOS,接下來是Linux。在這兩個系統上執行此操作的方法是使用FUSE,這是一種構建以使用者模式而不是核心模式執行的檔案系統的基礎結構(因為使用者模式開發比核心模式更簡單,更安全)。但是結果發現FUSE的速度還不夠快,通過Dropbox開發類似功能Project Infinite中學到一些東西,目前,採用Kauth(或KAuth)的macOS可擴充套件性機制將是最好的選擇。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2154127/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Redis不僅僅是快取,還是……Redis快取
- Unix, Linux 和MacOSLinuxMac
- Dart + GitHub Actions:將 Windows/macOS/Linux 的命令列工具釋出到 GitHub ReleasesDartGithubWindowsMacLinux命令列
- UTM v4.5.2 - 在 macOS 上優雅的使用 QEMU 虛擬化 Windows、Linux 和 macOSMacWindowsLinux
- JetBrains CLion 2024.2 (macOS, Linux, Windows) - C 和 C++ 跨平臺 IDEAIMacLinuxWindowsC++IDE
- JetBrains IntelliJ IDEA 2024.2 (macOS, Linux, Windows) - 領先的 Java 和 Kotlin IDEAIIntelliJIdeaMacLinuxWindowsJavaKotlin
- VS code Windows和MacOS快捷鍵WindowsMac
- JetBrains DataGrip 2024.2 (macOS, Linux, Windows) - 資料庫和 SQL 跨平臺 IDEAIMacLinuxWindows資料庫SQLIDE
- JetBrains IDE 2024.2 (macOS, Linux, Windows) - 開發者工具AIIDEMacLinuxWindows
- 重要 | Spark和MapReduce的對比,不僅僅是計算模型?Spark模型
- Autodesk Maya 2025 Multilanguage (macOS, Linux, Windows) - 三維動畫和視覺特效軟體MacLinuxWindows動畫視覺特效
- NoSQL——not onlySQL不僅僅是SQLSQL
- 攻防世界-不僅僅是RSA
- Linux 和 macos 常見的埠操作LinuxMac
- 資料分析工具的雷達圖:監測的不僅僅是天氣,還有能力!
- JetBrains IDE 2024.1 (macOS, Linux, Windows) 發版 - 開發者工具AIIDEMacLinuxWindows
- 如何在 Linux/Windows/MacOS 上使用 .NET 進行開發LinuxWindowsMac
- JetBrains Aqua 2024.2 (macOS, Linux, Windows) - 測試自動化 IDEAIMacLinuxWindowsIDE
- Fondazione Policlinico:研究發現喝酒不僅不會“殺精” 還能促進精子活性
- IBM:AI不僅要合規, 還要合乎道德(附下載)IBMAI
- Nature子刊:吹空調不僅涼快,還能減肥
- Parallels Desktop 19 for Mac:無縫整合Windows和MacOSParallelMacWindows
- Linux之父: Rust 將進入 Linux 6.1LinuxRust
- 看了這篇還不會Linux效能分析和優化,你來打我Linux優化
- 時尚的不僅僅是它們的服裝,還有它們的網站設計網站
- 不僅僅是送貨無人機,亞馬遜還要用無人駕駛包攬地面無人機亞馬遜
- 30歲還能學Linux運維不?Linux運維
- 未來的客戶服務將不僅僅在試這些最基本的東西
- 5個macOS 和 Linux的主要區別MacLinux
- Shotcut 24.11 (Linux, macOS, Windows) - 免費開源影片編輯器LinuxMacWindows
- Krita 5.2 (Linux, macOS, Windows) - 開源免費繪畫軟體LinuxMacWindows
- 新型Windows惡意軟體正在針對Linux、macOS裝置WindowsLinuxMac
- 監聽得建立不僅 可以使用netca還以可用使用netmgr
- 英偉達 GTC 大會不僅有 AI 晶片,還有 AI for ScienceAI晶片
- 資料分析軟體,不僅“外表好看”,還“十分能幹”。
- 熬夜玩手機後果很嚴重!不僅傷眼,還“折壽”
- 原來 GitHub 不僅能學程式碼,還有這些東西Github
- 勒索病毒再進化:新型Awesome勒索不僅加密還留後門!加密