2017-02-22 16 views
1

Я экспериментирую с gitpython, и я новичок в нем. Я пытаюсь определить, есть ли какие-либо изменения для фиксации.gitpython для проверки наличия каких-либо изменений в файлах с помощью PYTHON

В настоящее время у меня есть функция, которая выглядит следующим образом:

def commit(dir): 
r = Repo(dir) 
r.git.add(A=True) 
r.git.commit(m='commit all') 

Но это только код для фиксации каталога. Я хочу сделать что-то вроде, если есть изменения, затем отобразить сообщение, иначе отобразится другое сообщение.

У кого-нибудь есть идеи, как это сделать в python?

ответ

0

Вы можете проверить все unstaged изменения, как это:

for x in r.index.diff("HEAD"): 
    # Just print 
    print x 

    # Or for each entry you can find out information about it, e.g. 
    print x.new_file 
    print x.b_path 

В основном вы сравниваете промежуточную область (т.е. index) к активной ветви.