Команда SVN для удаления всех локально отсутствующих файлов - PullRequest
122 голосов
/ 07 марта 2012

В SVN есть команда, которую я могу использовать для удаления всех локально отсутствующих файлов в каталоге?

Или если это не удастся, каким-то образом перечислить только те файлы, которые отсутствуют (или, в более общем случае, имеют статус A, D,? И т. Д.)

Ответы [ 12 ]

2 голосов
/ 31 октября 2014

При работе с большим количеством файлов может случиться, что ввод аргументов в xargs становится слишком длиннымЯ пошел на более наивную реализацию, которая работает и в этом случае.

Это для Linux:

#! /bin/bash
# 1. get all statii in the working copy
# 2. filter out only missing files
# 3. cut off the status indicator (!) and only return filepaths
MISSING_PATHS=$(svn status $1 | grep -E '^!' | awk '{print $2}')
# iterate over filepaths
for MISSING_PATH in $MISSING_PATHS; do
    echo $MISSING_PATH
    svn rm --force "$MISSING_PATH"
done
0 голосов
/ 08 января 2019

Улучшенная версия

Итак, полная команда:

svn st | grep ^! | sed 's/![[:space:]]*//' |tr '\n' '\0' | xargs -0 svn --force rm
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...