git_learn_step

来源:互联网 发布:java loggerfactory 编辑:程序博客网 时间:2024/06/06 18:42

1) check git source code

    git checkout git://git.kernel.org/pub/scm/git/git.git

2) Revert code to first commit.

     $git checkout -b learn e83c5163316f89bfbde7d9ab23ca2e25604af290

     $git log

commit e83c5163316f89bfbde7d9ab23ca2e25604af290
Author: Linus Torvalds <torvalds@ppc970.osdl.org>
Date:   Thu Apr 7 15:13:13 2005 -0700

    Initial revision of "git", the information manager from hell


3) compile

error 1:

cache.h:13:25: fatal error: openssl/sha.h: No such file or directory

refer to:  http://blog.csdn.net/xxxxxx91116/article/details/7927520

fix:   $sudo apt-get install libssl-dev



error 2:

 /home/john/test/git/update-cache.c:90: undefined reference to `deflateInit_'
/home/john/test/git/update-cache.c:99: undefined reference to `deflate'
/home/john/test/git/update-cache.c:107: undefined reference to `deflate'
/home/john/test/git/update-cache.c:110: undefined reference to `deflateEnd'
/home/john/test/git/update-cache.c:112: undefined reference to `SHA1_Init'
/home/john/test/git/update-cache.c:113: undefined reference to `SHA1_Update'

..

refer to:  http://ieroot.com/2014/02/11/1437.html

fix:change Makefile,
#LIBS= -lssl
LIBS=-lcrypto -lssl  说明,在UBUNTU10.04 64位上不用加 -lcrypto, 在ubuntu12.04 64上要加。

4)  commands:

cat-file    commit-tree    init-db  read-tree     show-diff    update-cache  write-tree

     $./init-db 

    $la .dircache

0 0
原创粉丝点击