具有可视化的功能的一款开源软件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 款软件 ...
随机推荐
- 泪奔,配好了bioconductor环境
最近因为极度忙,没有写总结.今天补一下总结. 今天完成关静最后给的大project这个作业来说,结合自己的研究方向是个让我纠结一周多的事.好在找到了对应的研究内容. R的书目前还是很多的.R我一开始觉 ...
- php动态导出数据成Excel表格
一.封装 Excel 导出类 include/components/ExecExcel.php <?php /*** * @Excel 导入导出类. */ class ExecExcel { / ...
- 洛谷3857 [TJOI2008]彩灯
题目描述 已知一组彩灯是由一排N个独立的灯泡构成的,并且有M个开关控制它们.从数学的角度看,这一排彩灯的任何一个彩灯只有亮与不亮两个状态,所以共有2N个样式.由于技术上的问题,Peter设计的每个开关 ...
- [Bug]C++ XXX:undefined reference to "xxx"
昨天写了个广义表,写完后用clang++编译,结果给我报了一个这样的错 tanglizi@archlinux ~/Code/cpp/DS/genlist $ clang++ main.cpp genl ...
- Java基础学习总结(22)——异常处理
一.异常的概念 异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误.出现错误时观察错误的名字和行号最为重要. package cn.javastudy.summary; public ...
- POJ1158 城市交通Traffic lights IOI 1999 (最短路)
POJ1158 城市交通Traffic lights IOI 1999 (最短路) (1) 问题描述(probolem) 在d城里交通的安排不同寻常,城中有路口和路口之间的道路,再任意两个不同的路口之 ...
- silverlight wcf mvvm
近期工作比較忙.也没有时间发表新内容,今天有点时间,就顺便写点,说说近期开发的一套系统心得. 我刚去这个公司已经将前端确定要用Silverlight,我不知道为什么要选择这个,或许是为以后转C/S系统 ...
- 局部特化 & 特化
注意,显式特化不是一个模板.如果是类型跟显式特化一样,那么不是实例化. 显式特化类的函数,不需要再加template,因为不是模板方法. 特化类的函数跟模板类不一定要一样,但是一样更好. 不支持局部特 ...
- hdu 4324 Triangle LOVE(拓扑判环)
Triangle LOVE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) To ...
- 学password学一定得学程序
题目描写叙述 以前.ZYJ同学非常喜欢password学.有一天,他发现了一个非常长非常长的字符串S1.他非常好奇那代表着什么,于是奇妙的WL给了他还有一个字符串S2.可是非常不幸的是,WL忘记跟他说 ...