一次向svn中增加所有新增文件 svn add all new files
2015-08-31 11:31
225 查看
以下摘自:《卓有成效的程序员》之自动化
我经常会一次往Subversion里添加一批文件。在使用命令行做这件事时,你必须指定所有想要添加的文件名。如果文件不多的话这还不算太糟糕,但如果你要添加20个文件,那就费事了。当然你也可以用通配符,但这样一来就可能匹配到已经在版本控制之下的文件(这不会有什么损害,只不过会输出一堆错误信息,可能会跟别的错误信息混淆)。为了解决这个问题,我写了一行简单的bash命令:
svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add
表4.3详细解释了这一行命令。
我大概花了15分钟写出这条命令,然后用了它成百上千次。
****************************************************
这个自动化过程已经很完美了,一个“简单”的shell脚本,这是一个权威编写并使用了百上千次的脚本。
然后我在一个博客中看到这样一个脚本:
svn st|awk '{print $2}'|xargs svn add。
乍看之下觉得更加精炼,仔细看下就会发现这个脚本没有区分文件状态。所以完善了以下这个脚本:
[ruby] view
plaincopyprint?
svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add
这样,以后我可能使用这个脚本成百上千次。(当然这个脚本也没有考虑过滤掉不要添加的文件)
当你第三次做一件事情的时候,就应该考虑将其工具化,自动化!
推荐图书:卓有成效的程序员
我经常会一次往Subversion里添加一批文件。在使用命令行做这件事时,你必须指定所有想要添加的文件名。如果文件不多的话这还不算太糟糕,但如果你要添加20个文件,那就费事了。当然你也可以用通配符,但这样一来就可能匹配到已经在版本控制之下的文件(这不会有什么损害,只不过会输出一堆错误信息,可能会跟别的错误信息混淆)。为了解决这个问题,我写了一行简单的bash命令:
svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add
表4.3详细解释了这一行命令。
我大概花了15分钟写出这条命令,然后用了它成百上千次。
****************************************************
这个自动化过程已经很完美了,一个“简单”的shell脚本,这是一个权威编写并使用了百上千次的脚本。
然后我在一个博客中看到这样一个脚本:
svn st|awk '{print $2}'|xargs svn add。
乍看之下觉得更加精炼,仔细看下就会发现这个脚本没有区分文件状态。所以完善了以下这个脚本:
[ruby] view
plaincopyprint?
svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add
这样,以后我可能使用这个脚本成百上千次。(当然这个脚本也没有考虑过滤掉不要添加的文件)
当你第三次做一件事情的时候,就应该考虑将其工具化,自动化!
推荐图书:卓有成效的程序员
相关文章推荐
- 关于友元,重载的使用说明
- 硬件十万个为什么——运放篇(十)输入阻抗
- dom解析xml之中文乱码问题
- InvocationHandler中invoke()方法的调用问题
- The ROI Variable
- 【mysql】iBator 数据库操作(自动生成文件)
- SQLServer优化资料整理(一)
- WEB项目中配置属性加密的方式
- 安卓的优缺点
- 软件服务费用之争
- java基础学习第一章练习4-幸运抽奖
- CAN总线基础知识(三)
- CAN总线基础知识(三)
- 九度oj 1187
- MySQL优化的一点记录。
- Android 常用效果(各种进度条,酷炫loading动画,火箭升空,撒花以及趋势图)
- CAN总线基础知识(三)
- linux之Segment Fault错误分析[1]
- 《最近在工作上有点迷茫》
- CAN总线基础知识(三)