Извлечение SVN-информации о ветке из более старой ревизии с помощью команд CMake - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть проблема, связанная с this , но больше с командами CMake.

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

# Load built-in SVN module
find_package(Subversion)

if(SUBVERSION_FOUND)
    # WC_INFO will define ${PROJECT_NAME}_WC_REVISION among others
    subversion_wc_info(${PROJECT_SOURCE_DIR} ${PROJECT_NAME})

    set(${PROJECT_NAME}_VERSION_REVISION ${${PROJECT_NAME}_WC_REVISION})
endif()

Проблема:

Я создал ветку из более старой версии (#300), чтобы исправить ошибку, и переключил новую ветку на текущую рабочую копию. , Но когда я запускаю команду find_package(Subversion) на только что созданной ветви, она дает мне ту же самую W C копию ревизии #363. Я ожидал получить #355 т.е. ${${PROJECT_NAME}_WC_REVISION} редакция рабочей копии для новой ветки должна быть #355. Но я получаю #363 за обе ветви.

      Main
        |
   #300 |---branch
        |   |
        |   | 
        |   HEAD (committed changes at #355)
        |
        |
       HEAD
       #363

Я что-то здесь упускаю? Я подумал, что ${${PROJECT_NAME}_WC_REVISION} должен дать мне HEAD ревизию запрашиваемой в данный момент ветки. Как мне получить svn HEAD info для соответствующих веток?

1 Ответ

0 голосов
/ 19 февраля 2020

При переключении веток в репозитории Subversion необходимо удалить CMakeCache.txt и повторно запустить CMake.

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