具有可视化的功能的一款开源软件Gource
今天为大家介绍一个非常有趣儿的开源软件,Gource可以将代码版本控制系统里面的日志全部可视化,也就是说可以看见每个成员在系统里面提交代码的行为,Gource目前支持git,hg,svn。
在这里可以下载到博主制作的屏幕录像:http://115.com/file/e7hrt6w3#gource.rar
安装:
安装下面几个软件包:
build-essential libsdl1.2-dev freetype2* glew*
下载0.37版并解压缩
root@cgweb-VirtualBox:/home/cgweb/gource-0.37# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for timegm... yes
checking for unsetenv... yes
checking how to run the C++ preprocessor... g++ -E
checking for X... libraries , headers
checking for a sed that does not truncate output... /bin/sed
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether we are using the Microsoft C compiler... no
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
checking for GL/gl.h... yes
checking for OpenGL/gl.h... no
checking for OpenGL library... -lGL
checking for GL/glu.h... yes
checking for OpenGL/glu.h... no
checking for OpenGL Utility library... -lGLU
checking for varargs GLU tesselator callback function type... no
checking for sdl-config... /usr/bin/sdl-config
checking for SDL - version >= 1.2.10... yes
checking for freetype-config... /usr/bin/freetype-config
checking for FreeType -- version >= 9.0.3... yes
checking for IMG_LoadPNG_RW in -lSDL_image... yes
checking for IMG_LoadJPG_RW in -lSDL_image... yes
checking for pcre_compile in -lpcre... yes
checking for glewInit in -lGLEW... yes
checking SDL.h usability... yes
checking SDL.h presence... yes
checking for SDL.h... yes
checking SDL_image.h usability... yes
checking SDL_image.h presence... yes
checking for SDL_image.h... yes
checking pcre.h usability... yes
checking pcre.h presence... yes
checking for pcre.h... yes
checking GL/glew.h usability... yes
checking GL/glew.h presence... yes
checking for GL/glew.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
root@cgweb-VirtualBox:/home/cgweb/gource-0.37# make;make install
编译完成后的gource程序大小约5M左右。下面配置视频相关内容
root@cgweb-VirtualBox:/home/cgweb/gource-0.37/x264# ./configure
platform: X86_64
system: LINUX
cli: yes
libx264: internal
shared: no
static: no
asm: yes
interlaced: yes
avs: no
lavf: no
ffms: no
gpac: no
gpl: yes
thread: posix
filters: crop select_every
debug: no
gprof: no
strip: no
PIC: no
visualize: no
bit depth: 8
chroma format: all
You can run 'make' or 'make fprofiled' now.
root@cgweb-VirtualBox:/home/cgweb/gource-0.37/x264# checkinstall --pkgname=x264 --pkgversion "2:0.`grep X264_BUILD x264.h -m1 | cut -d ` `-f3`.'git rev-list HEAD |wc -l'+git'git rev-list HEAD -n 1 |head -c 7'" --backup=no --default
cut:选项需要一个参数 -- d
请尝试执行“cut --help”来获取更多信息。
-f3:找不到命令
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
本软件以 GNU GPL 版权协议颁布
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: y
准备软件包的文档……OK
*****************************************
**** Debian package creation selected ***
*****************************************
*** Warning: The package version "2:0. .git rev-list HEAD |wc -l+gitgit rev-list HEAD -n 1 |head -c 7" is not a
*** Warning: debian policy compliant one. Please specify an alternate one
软件包将用下面的值来创建:
0 - Maintainer: [ root@cgweb-VirtualBox ]
1 - Summary: [ Package created with checkinstall 1.6.2 ]
2 - Name: [ x264 ]
3 - Version: [ 0 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ x264 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ x264 ]
12 - Conflicts: [ ]
13 - Replaces: [ ]
输入一个数字来改变它们,或按回车键继续:
Installing with make install...
=============================== 安装结果 =================================
install -d /usr/local/bin
install x264 /usr/local/bin
=============================== 安装成功 =================================
Copying documentation directory...
./
./AUTHORS
./doc/
./doc/regression_test.txt
./doc/standards.txt
./doc/threads.txt
./doc/vui.txt
./doc/ratecontrol.txt
./COPYING
把文件拷贝到临时目录……OK
Stripping ELF binaries and libraries...OK
压缩 man 手册页……OK
创建文件列表……OK
创建 Debian 包……OK
安装 Debian 包……OK
删除临时文件……OK
删除临时目录……OK
**********************************************************************
Done. The new package has been installed and saved to
/home/cgweb/gource-0.37/x264/x264_0-1_amd64.deb
You can remove it from your system anytime using:
dpkg -r x264
**********************************************************************
root@cgweb-VirtualBox:/home/cgweb/gource-0.37/x264/ffmpeg# ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libxvid --enable-x11grab
install prefix /usr/local
source path /home/cgweb/gource-0.37/x264/ffmpeg
C compiler gcc
ARCH x86 (generic)
big-endian no
runtime cpu detection no
yasm yes
MMX enabled yes
MMX2 enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
CMOV enabled yes
CMOV is fast yes
EBX available yes
EBP available yes
10 operands supported yes
debug symbols yes
strip symbols yes
optimizations yes
static yes
shared no
postprocessing support yes
new filter support yes
network support yes
threading support pthreads
SDL support yes
Sun medialib support no
AVISynth enabled no
frei0r enabled no
libdc1394 support no
libdirac enabled no
libfaac enabled no
libgsm enabled no
libmp3lame enabled yes
libnut enabled no
libopencore-amrnb support yes
libopencore-amrwb support yes
libopencv support no
libopenjpeg enabled no
librtmp enabled no
libschroedinger enabled no
libspeex enabled no
libtheora enabled yes
libvorbis enabled no
libvpx enabled no
libx264 enabled no
libxavs enabled no
libxvid enabled yes
zlib enabled yes
bzlib enabled no
Enabled decoders:
aac dsicinaudio mp3on4
aac_latm dsicinvideo mp3on4float
aasc dvbsub mpc7
ac3 dvdsub mpc8
adpcm_4xm dvvideo mpeg1video
adpcm_adx dxa mpeg2video
adpcm_ct eac3 mpeg4
adpcm_ea eacmv mpegvideo
adpcm_ea_maxis_xa eamad msmpeg4v1
adpcm_ea_r1 eatgq msmpeg4v2
adpcm_ea_r2 eatgv msmpeg4v3
adpcm_ea_r3 eatqi msrle
adpcm_ea_xas eightbps msvideo1
adpcm_g722 eightsvx_exp mszh
adpcm_g726 eightsvx_fib nellymoser
adpcm_ima_amv escape124 nuv
adpcm_ima_dk3 ffv1 pam
adpcm_ima_dk4 ffvhuff pbm
adpcm_ima_ea_eacs flac pcm_alaw
adpcm_ima_ea_sead flashsv pcm_bluray
adpcm_ima_iss flic pcm_dvd
adpcm_ima_qt flv pcm_f32be
adpcm_ima_smjpeg fourxm pcm_f32le
adpcm_ima_wav fraps pcm_f64be
adpcm_ima_ws frwu pcm_f64le
adpcm_ms gif pcm_lxf
adpcm_sbpro_2 gsm pcm_mulaw
adpcm_sbpro_3 gsm_ms pcm_s16be
adpcm_sbpro_4 h261 pcm_s16le
adpcm_swf h263 pcm_s16le_planar
adpcm_thp h263i pcm_s24be
adpcm_xa h264 pcm_s24daud
adpcm_yamaha huffyuv pcm_s24le
alac idcin pcm_s32be
als iff_byterun1 pcm_s32le
amrnb iff_ilbm pcm_s8
amrwb imc pcm_u16be
amv indeo2 pcm_u16le
anm indeo3 pcm_u24be
ansi indeo5 pcm_u24le
ape interplay_dpcm pcm_u32be
ass interplay_video pcm_u32le
asv1 jpegls pcm_u8
asv2 kgv1 pcm_zork
atrac1 kmvc pcx
atrac3 lagarith pgm
aura libopencore_amrnb pgmyuv
aura2 libopencore_amrwb pgssub
avs loco pictor
bethsoftvid mace3 png
bfi mace6 ppm
bink mdec ptx
binkaudio_dct mimic qcelp
binkaudio_rdft mjpeg qdm2
bmp mjpegb qdraw
c93 mlp qpeg
cavs mmvideo qtrle
cdgraphics motionpixels r10k
cinepak mp1 r210
cljr mp1float ra_144
cook mp2 ra_288
cscd mp2float rawvideo
cyuv mp3 rl2
dca mp3adu roq
dnxhd mp3adufloat roq_dpcm
dpx mp3float rpza
rv10 tiff vp6
rv20 tmv vp6a
rv30 truehd vp6f
rv40 truemotion1 vp8
sgi truemotion2 vqa
shorten truespeech wavpack
sipr tscc wmapro
smackaud tta wmav1
smacker twinvq wmav2
smc txd wmavoice
snow ulti wmv1
sol_dpcm v210 wmv2
sonic v210x wmv3
sp5x vb wnv1
srt vc1 ws_snd1
sunrast vcr1 xan_dpcm
svq1 vmdaudio xan_wc3
svq3 vmdvideo xl
targa vmnc xsub
theora vorbis yop
thp vp3 zlib
tiertexseqvideo vp5 zmbv
Enabled encoders:
a64multi libmp3lame pcm_u24le
a64multi5 libopencore_amrnb pcm_u32be
aac libtheora pcm_u32le
ac3 libxvid pcm_u8
ac3_fixed ljpeg pcm_zork
adpcm_adx mjpeg pcx
adpcm_g722 mp2 pgm
adpcm_g726 mpeg1video pgmyuv
adpcm_ima_qt mpeg2video png
adpcm_ima_wav mpeg4 ppm
adpcm_ms msmpeg4v1 qtrle
adpcm_swf msmpeg4v2 ra_144
adpcm_yamaha msmpeg4v3 rawvideo
alac nellymoser roq
ass pam roq_dpcm
asv1 pbm rv10
asv2 pcm_alaw rv20
bmp pcm_f32be sgi
dnxhd pcm_f32le snow
dvbsub pcm_f64be sonic
dvdsub pcm_f64le sonic_ls
dvvideo pcm_mulaw svq1
ffv1 pcm_s16be targa
ffvhuff pcm_s16le tiff
flac pcm_s24be v210
flashsv pcm_s24daud vorbis
flv pcm_s24le wmav1
gif pcm_s32be wmav2
h261 pcm_s32le wmv1
h263 pcm_s8 wmv2
h263p pcm_u16be xsub
huffyuv pcm_u16le zlib
jpegls pcm_u24be zmbv
Enabled hwaccels:
Enabled parsers:
aac dvdsub mpeg4video
aac_latm flac mpegaudio
ac3 h261 mpegvideo
cavsvideo h263 pnm
dca h264 vc1
dirac mjpeg vp3
dnxhd mlp vp8
dvbsub
Enabled demuxers:
aac ipmovie pcm_u32be
ac3 iss pcm_u32le
aea iv8 pcm_u8
aiff ivf pva
amr lmlm4 qcp
anm lxf r3d
apc m4v rawvideo
ape matroska rl2
applehttp mjpeg rm
asf mlp roq
ass mm rpl
au mmf rso
avi mov rtp
avs mp3 rtsp
bethsoftvid mpc sap
bfi mpc8 sdp
bink mpegps segafilm
c93 mpegts shorten
caf mpegtsraw siff
cavsvideo mpegvideo smacker
cdg msnwc_tcp sol
daud mtv sox
dirac mvi spdif
dnxhd mxf srt
dsicin mxg str
dts nc swf
dv nsv thp
dxa nut tiertexseq
ea nuv tmv
ea_cdata ogg truehd
eac3 oma tta
ffm pcm_alaw tty
ffmetadata pcm_f32be txd
filmstrip pcm_f32le vc1
flac pcm_f64be vc1t
flic pcm_f64le vmd
flv pcm_mulaw voc
fourxm pcm_s16be vqf
g722 pcm_s16le w64
gsm pcm_s24be wav
gxf pcm_s24le wc3
h261 pcm_s32be wsaud
h263 pcm_s32le wsvqa
h264 pcm_s8 wtv
idcin pcm_u16be wv
iff pcm_u16le xa
image2 pcm_u24be yop
image2pipe pcm_u24le yuv4mpegpipe
ingenient
Enabled muxers:
a64 ipod pcm_s16le
ac3 m4v pcm_s24be
adts matroska pcm_s24le
aiff matroska_audio pcm_s32be
amr md5 pcm_s32le
asf mjpeg pcm_s8
asf_stream mlp pcm_u16be
ass mmf pcm_u16le
au mov pcm_u24be
avi mp2 pcm_u24le
avm2 mp3 pcm_u32be
cavsvideo mp4 pcm_u32le
crc mpeg1system pcm_u8
daud mpeg1vcd psp
dirac mpeg1video rawvideo
dnxhd mpeg2dvd rm
dts mpeg2svcd roq
dv mpeg2video rso
eac3 mpeg2vob rtp
ffm mpegts rtsp
ffmetadata mpjpeg sap
filmstrip mxf sox
flac mxf_d10 spdif
flv null srt
framecrc nut swf
framemd5 ogg tg2
g722 pcm_alaw tgp
gif pcm_f32be truehd
gxf pcm_f32le vc1t
h261 pcm_f64be voc
h263 pcm_f64le wav
h264 pcm_mulaw webm
image2 pcm_s16be yuv4mpegpipe
image2pipe
Enabled protocols:
concat mmst rtmpt
file pipe rtmpte
gopher rtmp rtp
http rtmpe tcp
md5 rtmps udp
mmsh
Enabled filters:
anull format scale
anullsink gradfun setdar
anullsrc hflip setpts
blackframe hqdn3d setsar
buffer noformat settb
color null slicify
copy nullsink transpose
crop nullsrc unsharp
cropdetect overlay vflip
drawbox pad yadif
fifo pixdesctest
Enabled bsfs:
aac_adtstoasc mjpeg2jpeg mp3_header_decompress
chomp mjpega_dump_header noise
dump_extradata mov2textsub remove_extradata
h264_mp4toannexb mp3_header_compress text2movsub
imx_dump_header
Enabled indevs:
alsa oss v4l2
dv1394 v4l x11_grab_device
Enabled outdevs:
alsa oss
License: nonfree and unredistributable
Creating config.mak and config.h...
本文出自 “李晨光原创技术博客” 博客,请务必保留此出处http://chenguang.blog.51cto.com/350944/774539
具有可视化的功能的一款开源软件Gource的更多相关文章
- 2016年开源软件排名TOP50,最受IT公司欢迎的50款开源软件
2016年开源软件排名TOP50,最受IT公司欢迎的50款开源软件 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提供与开源工具相关的产品和服 ...
- spring boot 实战:我们的第一款开源软件
在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来看开源软件的,你给我扯什 ...
- 最受IT公司欢迎的50款开源软件
文章来自:云头条编译 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品. 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT ...
- SpringBoot实战:我们的第一款开源软件
原文出处: 纯洁的微笑 在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来 ...
- 一款开源Office软件---Lotus Symphony在Linux系统下的应用
点击下载观看试用录像 Linux系统下的办公软件有OpenOffice.永中Office.红旗Red Office.金山Wps Office及StarOffice等,今天我为大家介绍IBM推进军O ...
- 微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)
开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的 ...
- 2015年度新增开源软件排名TOP100
2015年度新增开源软件排名TOP100 本榜单包含2015年开源中国新收录的软件中,根据软件本身的关注度.活跃程度进行排名前100名的软件.从这份榜单中或许可以了解到最新业界的趋势. 1.Switc ...
- 2015 年度新增开源软件排名TOP100
本榜单包括 2015 年开源中国新收录的 5977 款开源软件中,依据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中也许能够了解到最新业界的趋势. 1.SwitchyOmega ...
- 开源中国 2014 最受关注开源软件排行榜 TOP 50
开源中国 2014 最受关注开源软件排行榜 TOP 50 开源中国 2014 年最受关注软件排行榜 TOP 50 正式出炉!2014 年结束了,我们来了解一下过去一年里开源中国最受欢迎的 50 款软件 ...
随机推荐
- 使用goroutine+channel和java多线程+queue队列的方式开发各有什么优缺点?
我感觉很多项目使用java或者c的多线程库+线程安全的queue数据结构基本上可以实现goroutine+channel开发能达到的需求,所以请问一下为什么说golang更适合并发服务端的开发呢?使用 ...
- 不同框架实现的todomvc
http://todomvc.com/ http://hao.jobbole.com/
- UVa 1600 Patrol Robot【BFS】
题意:给出一个n*m的矩阵,1代表墙,0代表空地,不能连续k次穿过墙,求从起点到达终点的最短路的长度 给vis数组再加一维状态,表示当前还剩下的能够穿越的墙的次数,每次碰到墙,当前的k减去1,碰到0, ...
- iOS开发——国际化支持Localizable.strings
这篇写的不多,但是绝对诚意满满.不会像别人一样,要不不详细,要不罗里吧嗦一堆. 1.创建Localizable.strings文件 Command+N—>iOS—>Resource—> ...
- ES6学习笔记(十五)Generator函数的异步应用
1.传统方法 ES6 诞生以前,异步编程的方法,大概有下面四种. 回调函数 事件监听 发布/订阅 Promise 对象 Generator 函数将 JavaScript 异步编程带入了一个全新的阶段. ...
- Hope is a good thing, maybe the best of things and no good thing ever dies !
- [JLOI2011]飞行路线(分层图)
[JLOI2011]飞行路线 题目描述 Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在 n 个城市设有业务,设这些城市分别标记为 0 到 n−1 ,一共有 m ...
- [NOIP1999]进制位(搜索)
P1013 进制位 题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: + L K V E L L K V E K K V E KL V V E ...
- 09-breack语句
- [Poi] Setup PostCSS and Tailwind with Poi
This lesson walks through setting up a Poi project using PostCSS and the popular Tailwind library fo ...