Как проверить время последнего редактирования в GIT? - PullRequest
0 голосов
/ 27 мая 2018

Я нашел этот код в книге.Как там сказано - каждый раз, когда код обновляется, он может давать определенную временную метку.Но, как я заметил, это просто дает время последнего коммита .Есть ли способ получить текущее время каждого обновления кода без его коммитов?

import subprocess
from datetime import datetime


def get_git_changeset(absolute_path):
    repo_dir = absolute_path
    git_show = subprocess.Popen(
        'git show --pretty=format:%ct --quiet HEAD',
        stdout=subprocess.PIPE, stderr=subprocess.PIPE,
        shell=True, cwd=repo_dir, universal_newlines=True,
    )
    timestamp = git_show.communicate()[0].partition('\n')[0]
    try:
        timestamp = \
            datetime.utcfromtimestamp(int(timestamp))
    except ValueError:
        return ""
    changeset = timestamp.strftime('%Y%m%d%H%M%S')
    return changeset

ОБНОВЛЕНИЕ: Для тех, кто каким-то образом попадает на эту страницу - рабочий код заменяет первые 3 строкис этим:

timestamp = max(map(lambda x: os.path.getmtime(x[0]), os.walk(absolute_path)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...