• 尝鲜svnup


    最近有同事折腾了一下svnup的编译,终于可以在Mac OS X和Linux上面编译通过了,仓库在这里:https://github.com/lvzixun/svnup/

    svnup这个工具只有一个功能,就是跑svn up。然而比较奇葩的是这货基本不读svn的配置,即使是在checkout好的svn仓库里跑,也还是需要自己在/usr/local/etc/svnup.conf里将仓库的路径之类传进去。或者用里面的一个section,然后命令行传参覆盖仓库地址。这个工具支持svn和http协议,但是居然不支持http协议的身份验证,还是同事帮忙加上的……Apache实现的svn,必须一个一个文件checkout下来,一个文件卡住,其他文件也拉不下来。而svnup是不管三七二十一,直接将请求一股脑丢给服务器,然后再慢慢等服务器返回。之前听到这点的时候还是感觉风中凌乱的,http1.x协议都是一个请求一个回复,顺序进行的,需要多个请求并发就需要多个连接。后来想了一下,也的确没毛病,反正读完一个请求就写一个文件,文件checkout下来的顺序并不重要

    看subversion的代码,他是封装了一个libsvn_client的库来做实际逻辑的。update的时候一个一个请求的发,是因为有可能需要处理冲突的情况,一个一个处理冲突,对于frontend来说比较简单吧

    所以svnup其实相当于一个爬虫,根据版本号直接批量将文件下载下来,不管本地文件有没有修改,有没有冲突,直接统统覆盖掉……建议慎用:)

  • 相关阅读:
    判断是否是微信浏览器
    弹性盒模型
    一个发光的搜索边框(纯CSS3)
    小练习
    js控制div是否显示
    遮罩弹窗
    布局
    CSS构造表单
    CSS 滤镜(IE浏览器专属其他浏览器不支持)
    Css中光标,DHTML,缩放的使用
  • 原文地址:https://www.cnblogs.com/Lifehacker/p/try_svnup.html
Copyright © 2020-2023  润新知