- 博客(4)
- 收藏
- 关注
原创 Git源代码学习
因公司内部业务场景,需要修改部分源代码以及开发相关hook,这里简单记录下主要的过程源代码地址和版本https://github.com/git/git当前我看的是v2.18.0版本IDE工具:VIM,VSCode,SourceInsight编译方法:主要参考https://github.com/git/git/blob/master/INSTALL在ubuntu.centos上编译,我就修改了路...
2018-07-11 10:16:12 8243
原创 git 2.1.x 新特性 -- 隔离区域( QUARANTINE ENVIRONMENT)
具体描述见官网:https://git-scm.com/docs/git-receive-pack#_quarantine_environment简单地说,git 2.1.x以后push代码时,会把代码先push到$GIT_DIR/objects/incoming-xxxx的一个隔离目录,待相关钩子验证通过后再将新生成的对象(blob,tree,commit之类)放入到$GIT_DIR/objec...
2018-07-11 09:58:59 581
原创 git 2.18 新特性 -- 独立打包大文件(git gc --keep-largest-pack )
2018.6月,git新发布了git2.18版本,其中有个特性是git gc --keep-largest-pack我们知道git gc以后,objects下面的对象都会pack到pack目录的一个压缩文件里,这样在文件多的情况下传输的性能会提高。然而,这个也会造成一些负面的影响,比如一些大文件压缩和解压也会造成性能损耗(建议git还是通过hook限制大文件,或者用Git-LFS解决)git2.1...
2018-07-09 11:48:09 779
原创 CGO - GOLANG调用C库
虽然C代码很难写,尤其是内存管理,但不得不承认,目前很多开源项目都还是用纯C编写的,我想主要还是执行效率高和商业发布时不容易反编译(次要)。因此之前在用java时使用到了JNI调用C代码,那么Go语言则可使用CGO调用C语言代码。 当前就遇到了一个现实的场景,即我们使用go语言开发git hook,主要实现权限验证,大文件二进制验证等功能。它使用开源git2go,而git2go...
2018-07-08 10:25:48 1344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人