openssl 源码_fossil源码编译与基本使用

fossil是一个类似git的版本控制工具,是由SQLite作者写的,代码的水平应该比较高,fossil还提供了web展示的功能,支持http接口,综合性比较强,对c语言程序员来说也可以初步了解一些前端和后端的知识,比较有学习价值。

1.源码下载

学习代码最好的方式当然是自己编译并调试,我是基于msys2开发环境。 首先到官网下载发布的版本,选择Source Tarball下载http://www.fossil-scm.org/home/uv/download.html
我目前下的版本是Version 2.10 (2019-10-04) http://www.fossil-scm.org/home/info/9d9ef82234f63758

2.源码编译

下载后解压,并进入源码目录,执行./configure,编译时总是有点不顺利,刚开始遇到的错误如下

aba8ddf90d0bf008c194cfb321485d89.png

看configure文件可以知道接下来会执行./autosetup/autosetup-find-tclsh脚本,如果电脑上安装了tcl则会调用tclsh autosetup执行环境检查,否则通过jimsh0 autosetup执行环境检查,前一种方式会失败,后一种方式没问题,而我的电脑刚好装了tcl8.6,所以会选择前一种,在autosetup-find-tclsh中把查找tcl的地方注释掉,这样就会选后一种方式

4c5015b73aadc9d5245e7df67117babc.png

这样就没问题了

de2424cd09fc61b24cdf3388af11a396.png

如果没有安装openssl会出现这样的错误

ec4fa58b8dab4fdc3122df947194e440.png

这需要安装openssl-devel,执行 pacman -S openssl-devel即可

./configure没问题后接下来执行make,还是出错

17176dace7c3ae5a8624b983b675bab6.png

提示没有安装ssl的错误,我的确没有安装,因为我在./configure的时候并没有碰到缺少openssl的错误

f76210bb86ddcdeedc2b61b2ba477dba.png

我的电脑装了pkg-config,这里没有报错,但是这里的ssl检查是假的,还得安装一下openssl-devel,安装openssl-devel后再执行make就没出错了,可以看到在源码目录下生成了所需要的fossil.exe

e6b836c8c626625d000276d73e3d8756.png

编译完之后还要做个实验来证明自己能够修改源码了,打开main.c文件,添加如下代码

14e5f1275475d0e487488e7bcdbf51cd.png

重新make编译一下,并运行./fossil.exe

ebc661bdfdb6b1a63e3474b3f7e8426f.png

3.基本使用

为了方便使用,对fossil.exe所在目录设置环境变量
export PATH=$PATH:/e/source/Fossil-9d9ef822
接下来fossil就可以作为一条命令来用了

9190f917002e4abc9c2342fa4bdb0c6f.png

具体使用参见官方文档,地址如下,这里只做一些简单的示例
Fossil Quick Start
先新建一个fossil_test的文件夹,在该文件夹下执行 fossil clone http://www.fossil-scm.org/ myclone.fossil
速度比较慢,要稍微等一下

868f19dc5fb21c548b526bf5618a5d96.png

克隆完后会生成一个myclone.fossil文件,接着执行fossil open来解压fossil open myclone.fossil
随便打开个文件,做一个修改,比我在add.c文件里加入一行
printf("fossil test!!!!!!!!");
然后执行fossil add .
再执行 fossil diff

23dd596a462f2ec66976bc7debe45eb5.png

可以看到这里列出了我的修改,然后再执行fossil commit
来提交修改,这时会弹出一个文本然你写提交日志

023b561798b0fe6fab4b0d7931dceb69.png

写完之后保存退出就可以了,接着执行下列命令打开fossil的web页面|fossil ui myclone.fossil

7036f9ff56aa304e67058009208f29d4.png

f324c5a92ff6c93e3654631480e19fc3.png

134f18c8be80dcb3266b6a1f234959c8.png

4.相关资料

基本所有关于fossil的资料(包括fossil的软件设计文档)都在

http://www.fossil-scm.org/index.html/doc/trunk/www/permutedindex.html

这里面还有一本介绍使用fossil的电子书

http://www.fossil-scm.org/schimpf-book/home

还有一位热心的朋友翻译这本书,放在了fossil的托管网站上

https://my.oschina.net/tours/blog/162062

现在就练习一下通过fossil把这本书下下来,执行

cd /e/source/fossilbook
fossil clone https://chiselapp.com/user/lomatus/repository/fossilbook-cn/home fossilbook
fossil open /e/source/fossilbook/fossilbook

解压后目录里的fossilbook.pdf就是这本书的中文翻译版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值