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,编译时总是有点不顺利,刚开始遇到的错误如下
在这里插入图片描述
看configure文件可以知道接下来会执行./autosetup/autosetup-find-tclsh脚本,如果电脑上安装了tcl则会调用tclsh autosetup执行环境检查,否则通过jimsh0 autosetup执行环境检查,前一种方式会失败,后一种方式没问题,而我的电脑刚好装了tcl8.6,所以会选择前一种,在autosetup-find-tclsh中把查找tcl的地方注释掉,这样就会选后一种方式
在这里插入图片描述
这样就没问题了
在这里插入图片描述
如果没有安装openssl会出现这样的错误
在这里插入图片描述
这需要安装openssl-devel,执行 pacman -S openssl-devel即可

./configure没问题后接下来执行make,还是出错
在这里插入图片描述
提示没有安装ssl的错误,我的确没有安装,因为我在./configure的时候并没有碰到缺少openssl的错误
在这里插入图片描述
我的电脑装了pkg-config,这里没有报错,但是这里的ssl检查是假的,还得安装一下openssl-devel,安装openssl-devel后再执行make就没出错了,可以看到在源码目录下生成了所需要的fossil.exe
在这里插入图片描述
编译完之后还要做个实验来证明自己能够修改源码了,打开main.c文件,添加如下代码
在这里插入图片描述
重新make编译一下,并运行./fossil.exe
在这里插入图片描述

3.基本使用

为了方便使用,对fossil.exe所在目录设置环境变量
export PATH=$PATH:/e/source/Fossil-9d9ef822
接下来fossil就可以作为一条命令来用了
在这里插入图片描述
具体使用参见官方文档,地址如下,这里只做一些简单的示例
Fossil Quick Start
先新建一个fossil_test的文件夹,在该文件夹下执行
fossil clone http://www.fossil-scm.org/ myclone.fossil
速度比较慢,要稍微等一下
在这里插入图片描述
克隆完后会生成一个myclone.fossil文件,接着执行fossil open来解压
fossil open myclone.fossil
随便打开个文件,做一个修改,比我在add.c文件里加入一行
printf(“fossil test!!!”);
然后执行
fossil add .
再执行
fossil diff
在这里插入图片描述
可以看到这里列出了我的修改,然后再执行
fossil commit
来提交修改,这时会弹出一个文本然你写提交日志
在这里插入图片描述
写完之后保存推出就可以了,接着执行下列命令打开fossil的web页面
fossil ui myclone.fossil
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/pfysw/article/details/105588348