Version Control
本地 git 的 partial clone
partial clone 是 git 的一项旨在减少空间和网络带宽占用的特性。
它会跳过下载那些可能不会用到的 git 对象,而是仅仅在需要时才去下载。对于网络延迟较低且带宽不愁的用户来说,
这样做往往会节省掉不少不必要的磁盘空间占用,而代价是可能失去离线访问的能力。除此之外,有些操作,
例如 git blame 或者 git log -p 很可能会需要与服务器交互,从而会变得略慢一些。
比较有用的场景是在使用某些历史比较久,或是对文件整体替换较多,而大部分情况下只关注最新版本的代码库。
与较早的 --depth 1 相比,partial clone的优点在于想要访问历史时仍然可以像正常的clone一样访问。
FreeBSD终于换了git
FreeBSD 最近终于完成了从 subversion 到 git 的转换(其实还没算彻底完成,不过 src/ 和 doc/ 都已经完成了)。
我个人用 git 用了蛮久了,最早开始严肃地用 git 大概是2012年年底 Illumos 从 hg 换成 git 的时候的事情,当时 FreeNAS 的开发也从 subversion 迁移到了 git,后来,我们也把 FreeNAS 内嵌的 FreeBSD 的开发搬到了 git 上面。
阅读全文…FreeBSD src/ r240000
Alan L. Cox 今天 commit 了 r240000。我记得刚换 svn 的那会才18到19万 revision 的样子。。。
FreeBSD 的 svn 代码库包括了从 1993 年 6 月 12 日到现在的全部 revision。与之前的 “n"cvs 不同(由于诉讼原因,FreeBSD 在 1994 年以 4.4-Lite 为基础重建了新的 cvs 代码库,也就是 2.x 和后来版本的 ncvs;早期代码库仍然可以在一些光盘出版物上找到),这套代码库包括了 FreeBSD 从一开始到现在的全部修订历史(不过,FreeBSD 2.0 之前的 tag 并未保留)。
参与评论.svn目录
今天同事跑来问我为什么没办法checkout一个子目录,发现svn提示说某个目录已有既有的、未有版本的副本(这是一个新的checkout)。
删除重新checkout,问题依旧。
阅读全文…作弊条:用git做中心式代码库
在开始创建 git 代码库的时候,应使用 --bare 参数。举例:
git init --bare [repo_path]或者,如果多人开发的话:
git init --bare --shared [repo_path]将现有代码库转换为中心式代码库:
阅读全文…作弊条:git配合svn的一些使用方法
在一个git库中跟踪不同的svn branch
首次创建git库:git svn clone [svn代码库到HEAD分支的URL] [git代码库名]
例如,对于 FreeBSD,对应的URL为 http://svn.freebsd.org/base/head/
一般来说,从远程svn库复制需要的时间会比较长,也可以考虑首先在本地建立一份镜像,然后直接用 file:/// 去指定。
阅读全文…