一次向svn中增加所有新增文件 svn add all new files
来源:互联网 发布:智能语音软件 编辑:程序博客网 时间:2024/05/02 00:13
http://wp4d.sinaapp.com/2012/02/19/%E4%B8%80%E6%AC%A1%E5%90%91svn%E4%B8%AD%E5%A2%9E%E5%8A%A0%E6%89%80%E6%9C%89%E6%96%B0%E5%A2%9E%E6%96%87%E4%BB%B6-svn-add-all-new-files/
驯服Subversion命令行
总有些时候,没有别的什么工具或是开源项目能恰好满足你的需要,这时就该你自己动手制造“填木”和“夹铁”了。这一章介绍了很多种制造工具的方式,下面就是一些在真实项目中用这些工具来解决问题的例子。
我是开源版本控制系统Subversion的忠实粉丝,在我看来它就是强大、简单和易用的完美结合。归根到底Subversion是一个基于命令行的版本控制系统,不过有很多开发者为它开发了前端工具(我的最爱是与Windows资源管理器集成的Tortoise)。尽管如此,Subversion最大的威力还是在命令行,我们来看一个例子。
我经常会一次往Subversion里添加一批文件。在使用命令行做这件事时,你必须指定所有想要添加的文件名。如果文件不多的话这还不算太糟糕,但如果你要添加20个文件,那就费事了。当然你也可以用通配符,但这样一来就可能匹配到已经在版本控制之下的文件(这不会有什么损害,只不过会输出一堆错误信息,可能会跟别的错误信息混淆)。为了解决这个问题,我写了一行简单的bash命令:
svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add
表4.3详细解释了这一行命令。
我大概花了15分钟写出这条命令,然后用了它成百上千次。
用Ruby编写SQL拆分工具
在从前的一个项目中,我和一个同事需要解析一个巨大(38,000行)的遗留SQL文件。为了让解析的工作变得容易一点,我们想把这个铁板一块的文件分成每块1,000行左右的小块。我们稍微考虑了一下手工做这件事,不过很快就明白将其自动化会是更好的办法。我们也考虑用sed来实现,不过似乎会很复杂。最终,我们选定了Ruby。大约一个小时以后,我们得到了这个:
这个Ruby小程序从源文件中逐行读取,直到读满1,000行为止,然后从中寻找包含GO或者END的行,如果找到就结束当前文件的查找,开始下一个文件。
来源:http://linux.ctocio.com.cn/496/8873996_8.shtml
- 一次向svn中增加所有新增文件 svn add all new files
- 一次向svn中增加所有新增文件 svn add all new files
- 一次向svn中增加所有新增文件 svn add all new files
- 一次向svn中增加所有新增文件 svn add all new files
- 一次向svn中增加所有新增文件 svn add all new files
- 一次向svn中增加所有新增文件 svn add all new files
- 一次向svn中增加所有新增文件 svn add all new files
- SVN中增加所有新增文件
- 一个命令svn add所有新增文件
- 神奇的sh:实现svn一次性增加所有新增文件
- 一次性把新增的文件 svn add
- Linux命令行下,svn add 一次增加多个文件并批量上传
- svn add new project
- svn 一次添加所有子文件
- svn add 如何增加子目录下的未受控文件
- svn add 命令 递归目录下所有文件
- svn add 命令 递归目录下所有文件
- SVN中取消add
- IOS 在 drawRect方法以外 调用UIGraphicsGetCurrentContext() 是错误的
- Java 7程序设计
- 内部排序算法概述
- PowerDesigner 技巧小结
- 如何通过sql日志,查看以前执行过的sql语句
- 一次向svn中增加所有新增文件 svn add all new files
- 问题小结(18)-UTC时间及时区获取
- Vaadin Web应用开发教程(3):Vaadin应用程序框架介绍
- struts和servlet上传文件用法
- Error[Li005] no definition for "__program_start"
- 主板驱动是干什么的?
- 众所周知红枣就是治疗男性早泄和勃起不坚的药物之一
- Oracle性能调优
- UIview需要知道的一些事情:setNeedsDisplay、setNeedsLayout