Version control CVS自动化:如何检测已删除的本地文件以触发CVS删除?

Version control CVS自动化:如何检测已删除的本地文件以触发CVS删除?,version-control,automation,cvs,Version Control,Automation,Cvs,我希望将Windows XP文件结构(wiki)自动备份到CVS中。 通过重复调用cvs commit和cvs add,我可以识别并提交更改的文件和新添加的文件,但我看不到一个cvs命令,该命令会让我知道本地文件已被删除 一种可能是用存储库中最新的文件更新并行文件结构,然后删除那些只出现在第二个结构中的文件,但我希望有一个更有效的解决方案 您需要运行cvs更新,并分析结果。它将告诉您哪些文件已被添加、删除等,然后您可以使用这些文件来运行正确的命令。警告:CVS不容易自动化,因为它与其消息不太一致

我希望将Windows XP文件结构(wiki)自动备份到CVS中。
通过重复调用cvs commit和cvs add,我可以识别并提交更改的文件和新添加的文件,但我看不到一个cvs命令,该命令会让我知道本地文件已被删除


一种可能是用存储库中最新的文件更新并行文件结构,然后删除那些只出现在第二个结构中的文件,但我希望有一个更有效的解决方案

您需要运行cvs更新,并分析结果。它将告诉您哪些文件已被添加、删除等,然后您可以使用这些文件来运行正确的命令。警告:CVS不容易自动化,因为它与其消息不太一致。但是您最终会让它工作。

您需要运行cvs更新,并解析结果。它将告诉您哪些文件已被添加、删除等,然后您可以使用这些文件来运行正确的命令。警告:CVS不容易自动化,因为它与其消息不太一致。但是你最终会让它工作的。

你可以做一个

cvs -nq update
寻找像这样的线条

cvs update: warning: SourceControlledFile.xml was lost
你可以做一个

cvs -nq update
寻找像这样的线条

cvs update: warning: SourceControlledFile.xml was lost

更新:

我正在Windows XP上使用CVSNT 2.5.05。发现如果你只是跑

cvs remove -R
在目录(不带
-f
参数)上,它只会删除文件系统中实际缺少的文件。对于仍然存在的文件,它只会抛出一条您的自动化脚本可以安全忽略的消息

这也非常适合在脚本之外使用。现在我可以跑步了:

cvs -nq update | findstr /C:"U "
检查以确保这些文件都是我想要删除的文件,然后在同一目录下运行:

cvs remove -R

我在Windows XP上成功地使用了CVSNT

cvs -nq update | findstr /C:"U "
产生如下结果:

U file1.cs
U file2_23.cs
U directory_1/Reports/test.rpt
当然,这种想法(以及其他想法)只适用于自动化,如果这些文件不可能是自上次更新工作副本以来添加到存储库的文件


我个人使用此cmd只是为了创建一个文件列表,我需要在执行提交之前手动执行
cvs remove

更新:

我正在Windows XP上使用CVSNT 2.5.05。发现如果你只是跑

cvs remove -R
在目录(不带
-f
参数)上,它只会删除文件系统中实际缺少的文件。对于仍然存在的文件,它只会抛出一条您的自动化脚本可以安全忽略的消息

这也非常适合在脚本之外使用。现在我可以跑步了:

cvs -nq update | findstr /C:"U "
检查以确保这些文件都是我想要删除的文件,然后在同一目录下运行:

cvs remove -R

我在Windows XP上成功地使用了CVSNT

cvs -nq update | findstr /C:"U "
产生如下结果:

U file1.cs
U file2_23.cs
U directory_1/Reports/test.rpt
当然,这种想法(以及其他想法)只适用于自动化,如果这些文件不可能是自上次更新工作副本以来添加到存储库的文件

我个人使用这个cmd只是为了创建一个文件列表,我需要在执行提交之前手动执行
cvs remove