zoukankan      html  css  js  c++  java
  • 尝鲜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其实相当于一个爬虫,根据版本号直接批量将文件下载下来,不管本地文件有没有修改,有没有冲突,直接统统覆盖掉……建议慎用:)

  • 相关阅读:
    PHP面向对象练习
    PHP面向对象的特点
    PHP的构造函数和析构函数
    PHP面向对象
    AVL-TREE
    ReentrantLock
    treap-名次树-树堆
    细数那些我们熟悉的 排序!
    数据结构 - trie
    python 凸包(经纬度) + 面积[近似]
  • 原文地址:https://www.cnblogs.com/Lifehacker/p/try_svnup.html
Copyright © 2011-2022 走看看