UPDATE:
Я использую CVSNT 2.5.05 в Windows XP. Обнаружено, что если вы просто запустите
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
перед выполнением коммита.