SVN状态说明

时间:2022-07-29 00:28:02

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头文件状态为“~”。