Запустите команду «inspect» из boost в команде cmake, получив «svn: E155007:« / home / snapwebsites / snapcpp / contrib / zipios 'не рабочая копия », почему? - PullRequest
0 голосов
/ 10 апреля 2019

В основном CMakeList.txt из Zipios У меня есть специальная цель для запуска некоторых инструментов для моего кода, чтобы помочь очистить его время от времени.

Только когда я это сделаю:

make -C ../BUILD zipios_code_analysis

Я получаю эту ошибку:

svn: E155007: '/ home / snapwebsites / snapcpp / contrib / zipios' не является рабочей копией

Что, кажется, не имеет смысла для меня по двум причинам:

  1. inspect не имеет ничего общего с svn
  2. Я использую gitи нет никаких ссылок на svn в исходных или двоичных каталогах

Вот пользовательская цель:

add_custom_target(zipios_code_analysis
    # Make sure we have an output folder
    COMMAND mkdir -p ${PROJECT_BINARY_DIR}/analysis

    # Count the number of TODO, XXX, TBD, FIXME, and \todo
    COMMAND echo "TODO -- output ${PROJECT_BINARY_DIR}/analysis/todo.txt"
    COMMAND sh dev/todo.sh "${PROJECT_BINARY_DIR}/analysis"

    # Search for files with "invalid" (unwanted really) spaces
    COMMAND echo "Spaces -- output ${PROJECT_BINARY_DIR}/analysis/spaces.txt"
    COMMAND sh dev/spaces.sh "${PROJECT_BINARY_DIR}/analysis"

    # Boost inspect tool that reports various problems in the source
    COMMAND echo "inspect -- output ${PROJECT_BINARY_DIR}/analysis/inspect.html"
    COMMAND inspect -tab -crlf -end -path_name -ascii -minmax -assert_macro -deprecated_macro -unnamed -copyright >"${PROJECT_BINARY_DIR}/analysis/inspect.html"

    # All of these are expected to work on source code so make sure we are
    # in the source code top directory
    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)

Когда я запускаю команду вручную в своей оболочке, яне получить эту ошибку.

Вот build.make с пользовательской целью.Я до сих пор не вижу ничего, имеющего ссылку на svn?!

CMakeFiles/zipios_code_analysis:
    cd /home/snapwebsites/snapcpp/contrib/zipios && mkdir -p /home/snapwebsites/BUILD/contrib/zipios/analysis
    cd /home/snapwebsites/snapcpp/contrib/zipios && echo TODO\ --\ output\ /home/snapwebsites/BUILD/contrib/zipios/analysis/todo.txt
    cd /home/snapwebsites/snapcpp/contrib/zipios && sh dev/todo.sh /home/snapwebsites/BUILD/contrib/zipios/analysis
    cd /home/snapwebsites/snapcpp/contrib/zipios && echo Spaces\ --\ output\ /home/snapwebsites/BUILD/contrib/zipios/analysis/spaces.txt
    cd /home/snapwebsites/snapcpp/contrib/zipios && sh dev/spaces.sh /home/snapwebsites/BUILD/contrib/zipios/analysis
    cd /home/snapwebsites/snapcpp/contrib/zipios && echo inspect\ --\ output\ /home/snapwebsites/BUILD/contrib/zipios/analysis/inspect.html
    cd /home/snapwebsites/snapcpp/contrib/zipios && inspect -tab -crlf -end -path_name -ascii -minmax -assert_macro -deprecated_macro -unnamed -copyright >"/home/snapwebsites/BUILD/contrib/zipios/analysis/inspect.html"

Действительно, что могло бы добавить команду svn, чтобы я получил такую ​​ошибку?


Обновление

Ах.На самом деле, если я запускаю команду с перенаправлением, я получаю сообщение об ошибке:

% inspect -tab ... -copyright >a
svn: E155007: '/home/.../zipios' is not a working copy

Так что это действительно из проверки.

1 Ответ

0 голосов
/ 10 апреля 2019

Хорошо, так что почему-то boost inspect хочет проверить что-то в вашем svn коде ... Я полагаю, что boost использовал (и все еще использует?) svn. Это хорошо, мне тоже понравилось.

Теперь ... почему инструмент делает это, а не дает вам возможность не делать этого, странно. Ну хорошо.

Я нашел хак, который могу использовать, чтобы исправить мою проблему, хотя, вот пост с ответом на эту проблему:

CMake игнорировать возврат по пользовательской цели

Я изменил команду, добавив ... || true в конце:

COMMAND inspect [...snip...] -copyright >".../inspect.html" || true

Таким образом, make более или менее игнорирует любую ошибку, которую проверяет отправка, и мой make возвращается корректно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...