P4Python проверяет, был ли файл изменен после извлечения

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


person Rachan R K    schedule 26.12.2018    source источник
comment
Если вы не хотите возвращать неизмененные файлы, запустите p4 revert -a перед отправкой изменений. p4 revert -a вернет те файлы, которые не были изменены.   -  person Bryan Pendleton    schedule 26.12.2018
comment
@BryanPendleton Я пробовал это в p4python, но не смог. Что вы имеете в виду именно в p4python?   -  person Payam30    schedule 25.02.2020


Ответы (3)


Используйте команду p4 diff -sr. Это сделает различие открытых файлов и вернет имена тех, которые не изменились.

person Samwise    schedule 26.12.2018

Это то, что я придумал, если кто-то вроде меня ищет решение

if p4.connected():
            p4.tagged = 0
            # Revert all unchanged files
            result = p4.run("revert","-a","-c"+ "23123")

            # Get the number of files after the unchaged files have been reverted
            numofFiles = p4.run("changes", "-l", "23123")

            # Print the result
            print(result)

            # Print the number of files
            print(len(numofFiles))
person Payam30    schedule 25.02.2020

Вот как вы можете проверить время создания и изменения файла

import os.path, time
print("Last modified: %s" % time.ctime(os.path.getmtime("test.txt")))
print("Created: %s" % time.ctime(os.path.getctime("test.txt")))
person Hassan ALi    schedule 26.12.2018
comment
Здесь никто не просит время модификации. OP должен знать, изменился ли файл относительно репозитория системы управления версиями Perforce - person Martijn Pieters; 03.01.2019