Вызов Git diff перед фиксацией выдает «фатальный: невозможно прочитать [SHA1]»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Вызов Git diff перед фиксацией выдает «фатальный: невозможно прочитать [SHA1]»

Сообщение Anonymous »

Я работаю в Windows и пытаюсь запустить команду git diff в сценарии предварительной фиксации (Python) репозитория. Мой вызов Python выглядит так:

Код: Выделить всё

repo_dir = 'D:/git/current_uic/src/gtc/resource'
cmd = ['diff', '--name-only']
print(Popen(['git', '--git-dir={}'.format(repo_dir + '/.git'),
'--work-tree={}'.format(repo_dir)] + cmd,
stdin=PIPE, stdout=PIPE).communicate())
Каждый раз, когда я делаю коммит в репозитории «D:/git/current_uic/src/gtc», я получаю следующее:

Код: Выделить всё

fatal: unable to read 6ff96bd371691b9e93520e133ebc4d84c74cd0f6
Обратите внимание, что это перехватчик предварительной фиксации для репозитория 'D:/git/current_uic/src/gtc' и что 'D:/git/current_uic/src /gtc/resource» является подмодулем «D:/git/current_uic/src/gtc». Также обратите внимание, что если я открою Git bash и запущу следующее:

Код: Выделить всё

git --git-dir=D:/git/current_uic/src/gtc/resource/.git
--work-tree=D:/git/current_uic/src/gtc/resource diff --name-only
или если я просто запущу скрипт прямо из Git bash, я получу именно то, что хочу, независимо от рабочего каталога.

Есть идеи относительно того, что здесь происходит?

Подробнее здесь: https://stackoverflow.com/questions/248 ... -read-sha1
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»