使用svnsync在windows下同步svn版本库来“极速”showlog

Little_Turtle_Fly_Away 虽然相比如日中天的git来说早已是明日黄花,但由于历史或团队的原因,svn还是目前应用最广泛的版本控制管理工具。随着日积月累的修修改改,我们会越来越倚重于svn的showlog功能来查看某一段代码的修改记录,但是svn的所有历史版本和这些修改记录都存在服务器上,client端只有一个最新update的版本,这样如果处于离线状态或server在内网,还有像我们现在这样开发团队在不同的城市的话,那么showlog的缓慢体验一定很糟糕。这里介绍一个使用subversion的svnsync工具在windows本机同步svn版本库的方法,从此你就可以‘脱机’顺畅的showlog了..

  • 安装Subversion

使用svn的话,你本机一定安装了类似TortoiseSVN这样的客户端工具,但是使用本文的方法,还需要安装subversion,这是windows的SVN服务端工具。可以到下面下载安装,具体过程不再详述 http://subversion.apache.org/packages.html#windows

  • 新建一个文件夹用于建立本机的版本库

比如 E:\svn_server\demoProject

  • svnadmin create命令新建版本库

开始菜单,输入cmd,进入命令行工具

1
svnadmin create e:\\svn_server\\demoProject

这时打开demoProject文件夹发现SVN server的目录结构和一些配置文件已经生成

  • demoProject/hooks下新建pre-revprop-change.bat

新建一个空文件,然后重命名为pre-revprop-change.bat即可

  • 初始化,与远程svn库关联

使用的命令如下,注意 e:/svn_server/demoProject ——————————是本地svn版本库目录,http://211.111.222.333/svn/project/demoProject/ —–是需要同步的项目的远程版本库目录

1
svnsync init file:///e:/svn_server/demoProject http://211.111.222.333/svn/project/demoProject/

  • 使用svnsync sync同步全量版本到本地

使用下面的命令,就可以把远程的版本库从0版本到最近版本事无巨细的全部同步下来,甚至包含用户的鉴权信息和所有历史版本。以后使用同样的命令也可以随时用来同步更新至最新版本。如果版本库庞大或者网络不畅,这个过程将持续较长时间,请耐心等待

1
svnsync sync file:///e:/svn_server/demoProject

  • 客户端Checkout

这个没什么好说的,就是使用你用来导出或者连接远程svn的客户端,比如TortoiseSVN,建立新文件夹(比如e:/svn_client/demoProject),checkout本地的svn版本库,注意版本库路径使用 file:///e:/svn_server/demoProject 即可,这样以后就可以“极速”showlog所有的历史版本和修改日志了,用来定位问题“狠”方便哦!!! 【注意】提醒一下,这个svn_client仅仅用来update和showlog,千万不要commit,否则会破坏同步的本地版本库,如果误操作了的话就需要删掉再把上面的所有步骤重新来过一遍了T-T 原文地址: http://awebird.com/blog/art/60