Как я могу получить список файлов, измененных в запросе pull через инструмент командной строки git?

Я просто хотел добавить некоторую справочную информацию (обсуждалось, например, здесь , как установить cmake_c / xx_flags для инструментальной цепочки? ).

Короче говоря, переменные CMAKE__FLAGS кэшируются по дизайну в сценариях CMakeInformation.cmake (что означает, что вы можете изменить их в приложении графического интерфейса CMake после шага настройки).

Итак, вы должны - если установить их в файл Toolchain - сначала поместите их в кеш. Собственный скрипт CMake (выполненный после файла Toolchain) не поставляется с FORCE, поэтому он не будет перезаписывать его снова.

Взгляните на CMakeCInformation.cmake (из share \ cmake-2.8 \ Модули):

set(CMAKE_C_FLAGS_INIT "$ENV{CFLAGS} ${CMAKE_C_FLAGS_INIT}")
# avoid just having a space as the initial value for the cache
if(CMAKE_C_FLAGS_INIT STREQUAL " ")
  set(CMAKE_C_FLAGS_INIT)
endif()
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_INIT}" CACHE STRING
     "Flags used by the compiler during all build types.")

Как вы можете видеть, официальный способ сделать это будет использовать CMAKE_C_FLAGS_INIT для ввода дополнительных флагов. Проблема в том, что последующие изменения в файле Toolchain не будут распознаны (кеш не будет перезаписан, см. Выше).

Учитывая все это, ваше временное решение является правильным выбором. Чтобы быть уверенным, потому что файл Toolchain анализируется дважды во время процесса Configuration / Generation - вы могли бы даже добавить вызов UNSET перед установкой CMAKE_C_FLAGS в файл инструментальной цепочки:

UNSET(CMAKE_C_FLAGS CACHE)
SET(CMAKE_C_FLAGS "-std=gnu99" CACHE STRING "" FORCE)

Еще один часто найденное решение состоит в том, чтобы использовать что-то вроде:

add_definitions(" -std=gnu99")

для ввода флагов компиляции (но это не означает, что конфигурация не поддерживается, поскольку определения переменных). См. Также CMake clang и c ++ 0x

С CMake 2.8.12 были введены новые команды, поэтому вы могли бы сделать (не тестировались, просто чтобы показать возможности):

add_compile_options("$<$:-std=gnu99>")
add_compile_options("$<$:-std=gnu99 -g3>")

См. . Каков современный метод установки общих флагов компиляции в CMake? и выражение генератора CMake, дифференцируйте код C / C ++ для получения дополнительной информации о это.

0
задан gurpsone 17 January 2019 в 13:43
поделиться

2 ответа

Pull Request - это функция GitHub, а не собственная команда Git. Однако, если у вас есть имена исходных и целевых веток, вы можете изменить файлы, используя

git diff --name-status firstbranch..yourBranchName

, показывающие, какие файлы были изменены между двумя ревизиями

0
ответ дан hsirah 17 January 2019 в 13:43
поделиться

Вы можете использовать GitHub API. Например, https://api.github.com/repos/octocat/Hello-World/pulls/488/files

octocat является владельцем проекта, Hello-World является проектом имя и 488 - номер запроса на получение. Вы можете изменить эти значения для вашего запроса. Этот запрос возвращает массив измененных файлов JSON, а атрибут filename указывает путь к файлу.

0
ответ дан Emre Sülün 17 January 2019 в 13:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: