今天为大家介绍一个非常有趣儿的开源软件,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_p_w_picpath... yes
checking for IMG_LoadJPG_RW in -lSDL_p_w_picpath... 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_p_w_picpath.h usability... yes
checking SDL_p_w_picpath.h presence... yes
checking for SDL_p_w_picpath.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
p_w_picpath2 pcm_u24be yop
p_w_picpath2pipe 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
p_w_picpath2 pcm_s16be yuv4mpegpipe
p_w_picpath2pipe
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...