2016-07-20 30 views
0

Я работаю над скриптом, который ищет журнал для определенной строки в log.message и заполняет все ревизии, имеющие определенную строку. Но я хотел бы получить предыдущую версию той, которая имеет первый экземпляр строки. Я не могу придумать, как это сделать.pysvn получение предыдущей версии

настоящее время у меня это:

настоящее время у меня это:

log_messages = client.log(work_path, limit=0) 
usr_str = raw_input("Please enter the hook string:") 

rev_list = [] 


tracking = True 

for log in log_messages: 

    if usr_str in log.message: 

     timestamp = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(log.date)) 
     print '[%s]\t%s\t%s\n %s\n' % (log.revision.number, timestamp, 
       log.author, log.message) 

     rev_num = log.revision.number 
     revision = client.export(work_path, 
            dest_path+str(rev_num), 
            recurse=False, 
            revision=pysvn.Revision(pysvn.opt_revision_kind.number, rev_num)) 
+0

Что вы пробовали? – litelite

+0

У меня есть этот –

ответ

0

Есть два ответа в зависимости от того, что вы будете делать с предыдущей ред.

Если вы просто хотите сделать diff, то выяснив, что строка находится в rev N, вы можете различать N и N-1.

Если вы хотите узнать об изменениях перед файлом со строкой, вы можете снова вызвать log(), указав путь к файлу, начальный оборот N-1 и конец rev 0 с лимитом 1 . Возвращенный журнал будет тем, за которым вы после. Конечно, если файл был добавлен в N, вам не нужно смотреть дальше.

Barry Scott автор pysvn.

+0

Если вы ответили на свой вопрос, пожалуйста, примите его. –