需求说明

编写一段python程序,用于对svn add状态的文件进行过滤,并用列表对这些文件进行保存。

代码实现

以下是一个示例的 Python 程序,用于对 SVN 的 svn status 命令中状态为 “A”(新增)的文件进行过滤,并将它们存储在一个列表中:

import subprocess

def get_added_files():
    added_files = []
    
    # 执行 svn status 命令获取状态为 "A" 的文件列表
    try:
        output = subprocess.check_output(['svn', 'status']).decode('utf-8')
        lines = output.strip().split('\n')
        for line in lines:
            status, filename = line.split(maxsplit=1)
            if status == 'A':
                added_files.append(filename.strip())
    except subprocess.CalledProcessError as e:
        print(f"Failed to execute 'svn status' command: {e}")
    
    return added_files

added_files = get_added_files()

在这个示例中,程序定义了一个名为 get_added_files 的函数,它执行 svn status 命令并解析输出,提取出状态为 “A” 的文件列表。然后,程序遍历这个列表,并输出每个新增文件的报错信息。

你可以将这段代码保存为一个 Python 文件,并在运行时确保已经在 SVN 仓库的工作副本目录中。执行这个程序时,它将获取新增文件列表并输出报错信息。

请注意,你需要确保已经安装并配置了 SVN 命令行客户端,并在程序中使用正确的 svn 命令。另外,这只是一个简单示例,你可以根据自己的需求进行适当的调整和扩展,例如添加更多的过滤条件或处理逻辑。