덜 리치와 git status
을 어떻게 수행 할 수 있을지 궁금합니다. dulwich와 함께 프로그램 적으로`git status`
추가/변경/일부 파일의 이름을 변경하고 커밋을 준비 한 후,이 내가 일을 시도한 것입니다 :
나는이 시도>>> list(changes)
(('Makefile', None), (33188, None), ('9b20...', None))
(('test/README.txt', 'test/README.txt'), (33188, 33188), ('484b...', '4f89...'))
((None, 'Makefile.mk'), (None, 33188), (None, '9b20...'))
((None, 'TEST.txt'), (None, 33188), (None, '2a02...'))
다음 from dulwich.repo import Repo
from dulwich.index import changes_from_tree
r = Repo('my-git-repo')
index = r.open_index()
changes = index.changes_from_tree(r.object_store, r['HEAD'].tree)
출력
그러나이 출력을 처리하려면 추가 처리가 필요합니다.
README.txt
을 수정했습니다.Makefile
에서Makefile.mk
으로 이름이 바뀌 었습니다.- 나는
TEST.txt
을 저장소에 추가했습니다.
dulwich.diff_tree
의 기능은 트리 변경에 훨씬 멋진 인터페이스를 제공합니다 ... 실제로 커밋하기 전에는 가능하지 않습니까?
는'유형 인'str' 따라서 당신은 그것을'.tree'을 적용 할 수 없습니다 : ( – Mapio
더 많은 api 변경이있는 것으로 보입니다. 'dulwich.porcelain.get_tree_changes (repo)'- "색인을 HEAD와 비교하여 트리에 추가/삭제/변경 사항을 반환하십시오."@Mapio – gameweld