今天为大家介绍一个非常有趣儿的开源软件,Gource可以将代码版本控制系统里面的日志全部可视化,也就是说可以看见每个成员在系统里面提交代码的行为,Gource目前支持git,hg,svn。

具有可视化的功能的一款开源软件Gource_Gource

 

 

在这里可以下载到博主制作的屏幕录像: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...