JGit API에서 주로 관리 할 수있는 몇 가지 Git 명령이 포함 된 쉘 스크립트를 Java로 이식하려고합니다. 그러나 나는 원격 명령을 찾지 못했습니다. 명령이 존재하지 않거나 잘못된 위치를 찾고 있기 때문입니다. 그들이 존재하지 않는다면 그것들을 사용하는 또 다른 방법이 있을까요?JGit API에는 모든 Git 명령이 있습니까?
1
A
답변
1
git remote
및 am
에 대해 즉시 실행할 수있는 카운터 파트가 JGit에 없지만 합리적인 노력으로 이들을 구현할 수 있어야합니다.
Repository.getConfig()
을 통해 저장소 구성에 직접 액세스하여 구성 파일을 쿼리하거나 조작하는 하위 명령 git remote
을 에뮬레이션 할 수 있습니다.
LsRemoteCommand
을 사용할 수 있습니다 않습니다
git remote prune
처럼 오래된 원격 추적 브랜치를 청소합니다.
git am
을 교체하는 것은 약간의 노력이 필요할 수 있습니다. 주어진 입력 스트림에서 패치를 적용하는 ApplyCommand
과 diffs를 구문 분석하기위한 하위 레벨 Patch
클래스가 있습니다. 남아있는 것은 메일 박스 파일을 분석하고 포함 된 diffs와 메타 데이터 (메시지, 작성자 등)로부터 커밋을 생성하는 것입니다.