前言
注意本文的 GIT 传输协议 仅代表 智能传输协议
美国当地时间 5月18日 Google 开发者发布了一篇博客 Introducing Git protocol version 2 宣布了 Git v2 Protocol,v2 协议又叫做 Git Wire Protocol,新协议旨在改进 Git 的传输过程。Git 不是有个好好的传输协议,为什么要重新弄一个?
Git Submodule 介绍
Git Submodule 翻译成中文叫做子模块
,将一个存储库(如 B)作为另一个(如 A)存储库的子目录,这个存储库就可以称之为 B 是 A 的子模块。
在 ProGit2: https://git-scm.com/book/en/v2/Git-Tools-Submodules, Git-SCM 官网:https://www.git-scm.com/docs/gitsubmodules,对 submodule 有非常详细的介绍。
前言
通常来说,分布式版本控制系统适合体积较小的存储库,分布式版本控制系统 意味着存储库和工作目录都放置在开发者自己的机器上,当开发者需要克隆一个巨大的存储库时,为了获得完整的拷贝,版本控制软件不得不从远程服务器上下载大量的数据。这是分布式版本控制系统最大的缺陷之一。
前言
与客户端程序不同的是,服务端程序要尽可能的长时间运行,故障时能够自动恢复,并且更新时不能影响服务正在处理的请求。这就产生了平滑重启的功能需求。实际上,网络上比较流行的 HTTP 服务器 Nginx 就支持平滑重启。而 apache httpd 同样支持。码云分布式以后,很多功能被分解成一个个的服务,比如存储机器上的 git-srv, git-diamond 等等,为了平台的稳定运行,也需要支持平滑重启。
前言
Git 是最流行的版本控制工具,和大多数版本控制工具一样,Git 也拥有钩子特性,用户可以利用钩子实现一些附加功能,在 《Pro Git v2》 中,对钩子类型,消息格式等有详细介绍: 8.3 Customizing Git - Git Hooks。
Kisasum Hash 实用工具
Kismet 是笔者开发的一个计算 Hash 的图形化工具,有桌面版本 Kismet 和 UWP 版本 KismetUWP。 在前面的 Blog 中有介绍: Kismet 杂谈
KismetUWP 截图如下:
当人们使用一系列命令完成工作时,这个时候优先需要命令行工具。
背景
虽然码云提供免费私有存储库,但一些用户还是认为网站管理员可以看到他们的源码,认为私有库也不太安全。而且这些用户也没有私有化部署的打算。如何消除他们的疑虑?使用笔者开发的 Git-Secure 就可以实现存储库的加密。项目开源地址:Git-Secure
前言
作为一个 C++ 开发者,自然少不了与编译器打交道。
笔者在 2013年1月17日 发布了第一个 ClangOnWindows 二进制包 ClangOnWindows,截至 2017-07-29,一共被下载 19212 次,实际上构建 LLVM/Clang 是一个非常耗时的事,于是乎笔者于 2014 年国庆节期间编写了 Clangbuilder,这是一个基于 Powershell 的 LLVM/Clang 自动化构建工具,能够自动下载工具链(除 Visual Studio),自动获取 LLVM 源码,自动执行构建命令。Clangbuilder 的初期并不支持 libcxx 的构建,原因无他,当时 libcxx 不支持 Windows (for MSVC),现在依然如此,不过现在可以使用 clang-cl
构建 libcxx。本文即介绍通过 Clangbuilder 构建 libcxx。
前言
年初以来,互联网安全领域频繁发生大事件,二月下旬,Google 研究人员攻破了 SHA-1算法,在版本控制领域,主要的版本控制系统都使用了 SHA-1 算法1,由于工作需要,我对此格外关注,也了解了其他 SHA 算法,比如 SHA-256/SHA-512 ,基于 Keccak 的 SHA-3 等,寻找 GUI Hash 计算工具时发现大多数工具都未提供 SHA-3 算法支持,并且界面也不符合我的喜好,在闲暇时间,我就开发了 kismat Hash 计算工具,包括传统的Win32 桌面程序和 UWP 程序。