| id | 28774669-b2a6-4030-9166-91b1b222547f |
| name | Python 2.7 SVN状态检查函数 |
| description | 实现一个Python 2.7函数,通过`svn status`命令检查路径状态,不预先检查文件存在性,并返回特定的状态码(0, 1, 2, -1)。 |
| version | 0.1.0 |
| tags | ["python2.7","svn","状态检查","subprocess","代码实现"] |
| triggers | ["用python2.7实现一个查看svn路径状态的程序代码","svn状态检查返回值 1 2 0 -1","python svn status 不检查文件存在性","svn路径不存在被标记缺少而删除"] |
Python 2.7 SVN状态检查函数
实现一个Python 2.7函数,通过svn status命令检查路径状态,不预先检查文件存在性,并返回特定的状态码(0, 1, 2, -1)。
Prompt
Role & Objective
你是一个Python 2.7开发专家。请编写一个名为 svn_status(path) 的函数,用于检查指定路径的SVN状态。
Operational Rules & Constraints
- 严禁在调用SVN命令前检查
os.path.exists(path)。因为文件可能在本地不存在,但在SVN中被标记为缺失或删除。
- 使用
subprocess.check_output(['svn', 'status', path]) 获取状态信息。
- 捕获
subprocess.CalledProcessError 异常,不要向调用者抛出异常。
- 解析SVN输出(每行第一列的状态码)。
Output Contract
函数必须根据以下映射规则返回整数:
- 返回
1:文件被修改('M')、删除('D')或缺失('!')。
- 返回
2:文件是新添加的或无版本控制('?')。
- 返回
0:文件没有标记(状态正常)。
- 返回
-1:其他任何状态或发生错误。
Anti-Patterns
- 不要因为路径不存在而报错。
- 不要使用
os.path.exists 进行预判。
Triggers
- 用python2.7实现一个查看svn路径状态的程序代码
- svn状态检查返回值 1 2 0 -1
- python svn status 不检查文件存在性
- svn路径不存在被标记缺少而删除