Tag: git-svn

  • git svn实战

    我之前写了几个wordpress插件,比如inline-javascript, code-prettify。这些插件都托管在wordpress.org提供的svn服务器上,但是我实在太喜欢在git下活动了,因此动了点心思,想把插件代码传到github上,开发完之后利用git-svn传到wordpress的svn服务上。 照着这个思路,捋起袖子就开干了。 用git-svn抓取插件代码 wordpress的插件svn库大且缓慢,如果直接用git-svn去clone代码,一定会慢死,所以我按照以前的笔记,用git从大型svn快速clone代码。 以code-prettify插件为例,首先需要读取这个插件创建时的版本号 svn log http://svn.wp-plugins.org/code-prettify|tail -4|head -1 得到了如下信息,获得一个版本号 318479 r318479 | plugin-master | 2010-12-03 20:12:29 +0800 (五, 03 12 2010) | 1 line 开始clone代码 git svn clone -s –prefix=svn/ -r318479:HEAD http://svn.wp-plugins.org/code-prettify 设置git仓库 首先把代码传了一份到github: https://github.com/volca/code-prettify 然后操作本地git仓库 git branch -m svn git remote add origin git@github.com:volca/code-prettify.git git checkout master 本地svn分支对应svn的远程仓库,本地master分支对应github的远程仓库 Happy time 现在可以按照平常的习惯在git下更改代码,然后用git […]

  • 用git从svn里clone最后几个版本

    一般情况下git svn clone这个操作会从第一个版本开始同步,如果版本号已经到了好几万(或更高?),这个操作会相当的费时。 当时还想着能不能hack一下git-svn脚本,其实后来看看文档,clone操作可以使用参数-r$REVNUMBER:HEAD检出指定版本后的代码,因此,更好的步骤应该是这样: svn info http://your-svn, 并记录最后的版本号,假设是260 假设要检出最后10个版本,做个简单的减法: 260 – 10 = 250 开始clone操作了 git svn clone -r250:HEAD –prefix=svn/ http://your-svn 按这个办法,clone的时间的确是减少了许多。