以下摘自:《卓有成效的程序员》之自动化
我经常会一次往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。
乍看之下觉得更加精炼,仔细看下就会发现这个脚本没有区分文件状态。所以完善了以下这个脚本:
- svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add
这样,以后我可能使用这个脚本成百上千次。(当然这个脚本也没有考虑过滤掉不要添加的文件)
当你第三次做一件事情的时候,就应该考虑将其工具化,自动化!
转自:http://blog.csdn.net/spare_h/article/details/6677435
1.Libs下放了一个HTMLTestRunner.py文件:C:\Users\demi.zhou\AppData\Local\Programs\Python\Python37\libs贴这段代码:import unittestfrom HTMLTestRunner import HTMLTestRunnerimport timediscover = unittest.defaultT...
使用Idea新建springboot项目,通常会使用最新的springboot版本,此时引入的mysql的版本和springboot的版本如果不匹配的话,会导致项目无法启动pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x...
完整报错内容如下:D:\workspace\JavaWorkspace\hello_world>mvn clean[WARNING][WARNING] Some problems were encountered while building the effective settings[WARNING] Unrecognised tag: 'id' (position: START_TAG seen ...</profile>\r\n -->\r\n\t<i
UTF-8编码字节含义对于UTF-8编码中的任意字节B,如果B的第一位为0,则B为ASCII码,并且B独立的表示一个字符;如果B的第一位为1,第二位为0,则B为一个非ASCII字符(该字符由多个字节表示)中的一个字节,并且不为字符的第一个字节编码;如果B的前两位为1,第三位为0,则B为一个非ASCII字符(该字符由多个字节表示)中的第一个字节,并且该字符由两个字节表示;如果B的前三位为1,
在安装Swoole Loader扩展前请先确认以下信息。操作系统 :Windows NT AMD64PHP版本 :7.2.22PHP运行环境 :cgi-fcgiPHP配置文件 :C:\BtSoft\php\72\php.iniPHP扩展安装目录 :extPHP是否线程安全 :非线程安全1、下载Swoole Loader扩展安装包下载压缩包,然后找到对应你系统的 Swoole Loader扩展文件解压出来下载地址:https://pecl.php.net/package/swoole
题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如输入思路:我们从树的根结点开始分析。自然先应该打印根结点8,同时为了下次能够打印8的两个子结点,我们应该在遍历到8时把子结点6和10保存到一个数据容器中。现在数据容器中就有两个元素6 和10了。按照从左往右的要求,我们先取出6访问。打印6的同时要把6的两个子结点5和7放入数据容...
关键类:android.os.Build.*如果需要针对不同手机品牌做适配,可以通过手机厂商(Manufacturer)信息做代码控制,更精确一些可以使用型号(Model),Model可以更精确指向一款手机。下面记录我手里的几台手机的信息:可见Product和Device获取的信息也不太稳定,如红米3得到的都是ido。魅蓝Note5ID: NRD90MDISPL...
1.移动端WebApp开发,如何实现状态栏沉浸式效果? cordova-plugin-fullscreen2.cordova热更新插件-不发布应用市场动态更新APP源码https://github.com/nordnet/cordova-hot-code-pushCordova Hot Code Push Plugin此插件提供了可以使cordova app自动更新web...
原文 Android中的ViewRootImpl类源码解析 http://blog.csdn.net/qianhaifeng2012/article/details/51737370这篇文章是对上面文章部分内容的总结:ViewRoot和ViewRootImpl,从字面上来看,还以为ViewRootImpl是ViewRoot的实现, 其实不是的。ViewRoot是Android2.2以前的...
1:创建 Creator项目,如下2.创建完成后,项目工程图如下3.assets目录创建Login场景,创建TS目录,创建TSSDKTool.ts,Login.ts,如下图4.TSSDKTool.ts脚本内容如下:export class TSSDKTool { public static isAndroid = cc.sys.isNative && cc.sys.os === cc.sys.OS_ANDROID public...
首先真机测试是这个问题:TypeError: Cannot read property 'state' of undefined at D:/%E5%89%8D%E7%AB%AF%E9%A1%B9%E7%9B%AE/youqing_App/node_modules/@dcloudio/vue-cli-plugin-uni/packages/mpvue/index.js:638表示state找不到,...
永久勘误:微软面试100系列答案V0.4版[第41-60题答案]作者:July、何海涛等网友---------------------------几点声明:I、 此微软面试100题系列永久更新,答案永久勘误,永久优化。随时,永远,欢迎,任何人,针对任何一题,提出自己的思路、意见。并对那些修正公布于博客上的答案的网友,表示最大的感谢。II、 不管你愿不愿意相信或承认,这...