Как я могу получить пути относительно текущего каталога из состояния git?

Я хочу использовать вывод из состояния git в скрипте, но, поскольку на выходе всегда указываются пути к файлам репо, другие команды не могут найти свои аргументы. В этом вопросе упоминался параметр lativePaths, но он не влияет на вывод, если задан в качестве параметра команды:

git -c status.relativePaths = истинное состояние --short

Если у меня есть измененный файл в C:\projects\myproject\config\module\feature.srcи я сижу в командной строке в C:\projects\myproject\web\somepage тогда мне нужен путь как любой из этих:

  • ..\..\config\module\feature.src
  • C:\projects\myproject\config\module\feature.src

... чтобы можно было передать это другим инструментам, которые я хочу использовать для вновь измененных файлов. Вместо этого, с репо в myproject\, каждая комбинация опций, которые я пробовал, дает только

  • config\module\feature.src

Так, как я могу получить фактические относительные пути или даже абсолютные пути? Я что-то упустил?

Я использую git версии 1.9.4.msysgit.2 в Windows 7 с файлами репо во внешней папке. Я могу предоставить список вещей, которые я пробовал, которые не работали. Я могу получить запрос сценария и cd к корню хранилища перед выполнением других команд, или сначала сделать это сам, но это всего лишь обходные пути.

1 ответ

Решение

Вам нужно использовать git config status.relativePaths true, Узнайте больше в configuration раздел здесь.

Другие вопросы по тегам