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


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

    100251177.jpg

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

  • 相关阅读:
    Global.asax 事件备忘
    JavaScript异常捕捉
    还记得 virtual 吗?我们来温故知新下吧。
    开发(ASP.NET程序)把写代码写至最有面向对象味道
    MVC中实现 "加载更多..."
    js和C#中的编码和解码(备忘)
    System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
    10种提高WordPress访问速度的方法
    使用Python3实现Telnet功能
    读书计划(不断更新)201904
  • 原文地址:https://www.cnblogs.com/chenguang/p/3742270.html
Copyright © 2020-2023  润新知