Как скачать файлы p4 локально?

У меня проблема с загрузкой файлов из Perforce. Мне нужно использовать для этого Python, поэтому p4python - лучшее решение, которое я нашел. Вот что у меня есть:

def connect(username, password):
    p4 = P4()
    p4.port = 'bla.bla.bla.bla:port'
    p4.user = username
    p4.password = password
    p4.client = 'clientname'

    p4.connect()
    p4.run_login()
    return p4

def main(username, password):
    try:
        p4 = connect(username, password)
        p4.run_sync()
        p4.disconnect()
    except P4Exception:
        for e in p4.errors:
            print(e)

И у меня это работает, я получаю файлы в каталоге моей рабочей области. НО я загружаю файлы на /tmp на сервере, поэтому при перезапуске загружаю только файлы из последней ревизии, а не все файлы. Как я могу загружать все файлы каждый раз, когда каталог моей рабочей области не заполняется?


1
881
1

Ответ:

Решено

Используйте p4 sync -p, если вы хотите загрузить все файлы без отслеживания сервером состояния вашего клиента. Таким образом, каждый раз, когда вы синхронизируете, вы всегда будете получать все - это предназначено именно для описываемого вами варианта использования, когда вы просто хотите получить все файлы во временном месте, сделать с ними что-то, а затем выбросить их.