svn status查看工作副本中目录与文件的状态
命令格式:svn status [PATH](简写:svn st)
打印工作拷贝中文件和目录的状态。
svn st|grep ^状态(获得某状态文件列表)
svn st|grep -v ^状态(也作svn st|grep ^[^状态],过滤掉某状态得到其他状态文件列表)
例:
svn st|grep ^M (获取“M”状态文件列表)
svn st|grep -v ^?(过滤掉“?”状态的文件列表)
常见状态如下:
“A” 预定加入到版本库
“C” 发生冲突
“D” 被删除了
“M” 内容被修改
“?” 条目未纳入版本控制
“!” 该项目已遗失(被非svn命令删除)或不完整
“~” 版本控制下的项目与其它类型的项目重名
其中,“?”“!”“~”为非正常状态,svn不会将处于该状态的文件提交至项目仓库。
l “!” 状态说明
出现原因:使用非svn命令(rm等)删除了此条目。
解决方法:使用svn update(svn up),将被删除的条目更新出来。
正确操作方法:使用svn delete删除纳入版本控制的条目
l “~ ”状态说明
出现原因:删除了一个版本库的文件,新建了一个在原来的位置,新建文件类型与原有文件不一致,而且整个过程中没有使用svn delete或是svn add。
解决方法: 将“~”文件svn revert 掉,按照正确操作重新修改。
出错案例:
wsdl头文件统一建立在include/wsdl_include目录中,各模块webservice目录下的同名wsdl头文件只是创建的软链接。若拷贝include/wsdl_include目录中wsdl头文件将webservice目录下的同名wsdl头文件覆盖掉,svn st查看wsdl头文件状态为“~”。