原创 Git 巨型存儲庫的解決方案 頂 原

前言 通常來說,分佈式版本控制系統適合體積較小的存儲庫,分佈式版本控制系統 意味着存儲庫和工作目錄都放置在開發者自己的機器上,當開發者需要克隆一個巨大的存儲庫時,爲了獲得完整的拷貝,版本控制軟件不得不從遠程服務器上下載大量的數據。這是分佈式

原创 碼雲存儲庫加密工具 頂 原 薦

安全的隱憂 對於很多開發者而言,代碼既是資產,於是一小部分開發者身懷鉅富,將代碼放置在代碼託管平臺上時,顯得‘惴惴不安’,唯恐平臺泄密或者平臺人員窺探到這些財富。 git,svn,hg 幾乎所有的版本控制工具都不會將用戶的文件通過特定的方法

原创 GIT 存儲格式與運用 頂 原 薦

GIT 存儲格式與運用 在 GIT 的實現規範中,存儲格式是非常簡單而且高效的,一個代碼託管平臺通常需要 基於這些特性實現一非常有意思的功能。在本文中,將介紹基於 GIT 存儲庫格式實現的 倉庫體積限制與大文件檢查。 存儲庫的佈局 正常的

原创 碼雲已經支持 Git Wire Protocol 頂 原 薦

前言 兩個半月前,Google 開發者宣佈了 Git Wire Protocol,即 Git v2 協議,Git Wire Protocol 協議改進了 Git 的傳輸過程,增加了可擴展性。關於協議的背景和細節介紹,大家可以去 《碼雲即將

原创 Subversion 和 GIT 開發者演進 頂 原 薦

##前言 在開發軟件的過程中,往往是需要多個人參與,版本控制系統的協同工作的重要性不言而喻,除此之外, 版本控制軟件對整個開發流程的記錄對於缺陷追蹤也是非常重要的。版本控制系統也是軟件開發的基礎設施。 筆者開始接觸版本控制系統是大學的時候,

原创 基於 Git Namespace 的存儲庫快照方案 頂 原

前言 Git 是一種分佈式的版本控制系統,分佈式版本控制系統的一大特性就是遠程存儲庫和本地存儲庫都包含存儲庫的完整數據。 而集中式的版本控制系統只有在中心服務器上纔會包含存儲庫完整的數據,本地所謂的存儲庫只是遠程服務器特定版本的 check

原创 碼雲分佈式之 Brzo 服務器 頂 原 薦

前言 碼雲是國內最大的代碼託管平臺。碼雲基於 Gitlab 5.5 開發,經過幾年的開發已經和官方的 Gitlab 有了很大的不同。 爲了支撐更大的用戶規模,碼雲也在不斷的改進,而本文也主要分享碼雲分佈式 Brzo GIT HTTP 服務器

原创 WiFiAssistant 無線承載網絡設置助手的開發歷程 頂 原 薦

今年6月中旬,我曾經基於MFC寫過一個WiFiHelper的小程序,開啓和關閉虛擬WiFi,並且能夠支持定時關機,當然,真正使用虛擬WiFi還需要手動設置共享。並且,由於我的是臺式機,所以並沒有去升級WiFiHelper。 估計是即將畢業的

原创 Windows AppContainer 降權,隔離與安全 頂 原

##Windows 權限策略的發展 從 Windows 8開始,我在使用 Windows 系統的同時也就不再關閉 UAC 了,並且不再安裝任何國產的安全軟件,這些軟件仗着運行在管理員權限上肆意的推行 “全家桶策略”,Windows 多年來一

原创 碼雲即將支持 Git v2 Protocol 頂 原 薦

美國當地時間 5月18日 Google 開發者發佈了一篇博客 Introducing Git protocol version 2 宣佈了 Git v2 Protocol,v2 協議又叫做 Git Wire Protocol,新協議旨在改進

原创 基於清單的啓動器的實現 頂 原 薦

#Launcher Launcher (啓動器) 是一類非常有用的工具,這類工具的意義就在於設置好特定的環境以特定的參數啓動特定的進程。 很多軟件也用到了 launcher, 比如 Chrome,還有 Android Studio, 在 W

原创 關於 Subversion 協議動態代理服務器 頂 原 薦

##前言 在2015年下半年的時候,筆者的工作主要轉向 GIT@OSC 分佈式後端服務器的實現,GIT@OSC 分佈式對於不同的接入有有不同的解決方案,HTTP 訪問使用 nginx 模塊實現動態代理,對於 ssh ,則是使用的端口轉發。對

原创 基於 .NET Core 的跨平臺 GIT HTTP 服務器實現 頂 原 薦

關於 Git HTTP 服務器是代碼託管服務最重要的組件之一,Git HTTP 服務器將 HTTP 請求的數據寫入到 git-upload-pack/git-receive-pack 的標準輸入,然後讀取 git-upload-pack/g

原创 C,C++ 動態字符串的實現 頂 原 薦

##一. 字符串的思考 開發者經常需要使用字符串進行操作,相對於 C/C++,很多語言提供了完備的字符串解析類庫,正是由於這一點,許多開發者也就偏好這些語言。 大多數時候,C 庫的字符串操作函數都是夠用的,你需要的功能基本能夠實現依靠這些函

原创 Git 原生鉤子的深度優化 頂 原

前言 Git 是最流行的版本控制工具,和大多數版本控制工具一樣,Git 也擁有鉤子特性,用戶可以利用鉤子實現一些附加功能,在 《Pro Git v2》 中,對鉤子類型,消息格式等有詳細介紹: 8.3 Customizing Git - Gi