Моя операция GIT через gitpython приводит к тому, что один и тот же файл будет рассматриваться как совершенно отличная оPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Моя операция GIT через gitpython приводит к тому, что один и тот же файл будет рассматриваться как совершенно отличная о

Сообщение Anonymous »

Я работаю над сценарием, который клонирует проект, изменяет конкретный файл, а затем делаю удар по GIT. В настоящее время я сталкиваюсь с проблемой, что, когда я пытаюсь обновить содержание файла, GIT рассматривает весь файл как полную отличие от исходного файла.
Мне интересно, является ли это проблемой с моими операциями GIT или стратегией изменения файлов. < /P>
Вот мой код: < /p>
def main():
print("开始处理本地仓库...")
try:
repo = Repo.clone_from(AUTH_REPO_URL, LOCAL_REPO_PATH, branch=SOURCE_BRANCH)

repo.git.checkout(SOURCE_BRANCH)

target_path = os.path.join(LOCAL_REPO_PATH, TARGET_FILE)

if os.path.isfile(target_path):
with open(target_path, 'r', encoding='utf-8') as f:
original_content = f.read()

repo.git.checkout('-b', TARGET_BRANCH)

modify_file(target_path)

with repo.config_writer() as config:
config.set_value("user", "name", "Automation Script")
config.set_value("user", "email", "[email protected]")

if repo.is_dirty():
repo.index.add([TARGET_FILE])

repo.index.commit(COMMIT_MSG)

origin = repo.remote(name="origin")
origin.push(TARGET_BRANCH)
else:
origin = repo.remote(name="origin")
origin.push(TARGET_BRANCH)

except git.exc.GitCommandError as e:
print(f"❌ {str(e)}")
except Exception as e:
print(f"❌ {str(e)}")
finally:
print("🏁 Done")
< /code>
def modify_file(file_path):

try:
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
f.close()

new_content = content + "test docsss"

#AI's suggestion to keep file unchanged
import stat
original_stats = os.stat(file_path)

with open(file_path, 'r+', encoding='utf-8') as f:
f.seek(0)
f.write(new_content)
f.truncate()

os.chmod(file_path, original_stats.st_mode)
os.utime(file_path, (original_stats.st_atime, original_stats.st_mtime))

return True

except Exception as e:
...
< /code>
Изображение


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Git исполняемый не найден с Gitpython: «Bad git Exected».
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Git исполняемый не найден с Gitpython: «Bad git Exected».
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Git-clean с GitPython
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Gitpython: синтаксис команды для git commit
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Git-clean с gitpython
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

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