Magit은 git의 대화식 프런트 엔드로 사용하기 때문에 magit-fetch
과 같은 코드는 실제로 코드에서 실행되지 않습니다. 그러나 코드를 간략하게 살펴보면 magit-process
이 표시됩니다. 실행 중에 프로세스를 보유하는 변수이며 완료되면 지워집니다. (가) 실패 가져올 때 발생하는, 예를 들면 -
(progn
(magit-fetch "upstream")
(while magit-process (sleep-for 0.25))
(magit-fetch "upstream"))
을하지만 그건 정말 밀어 : 당신은 그러므로 그렇게까지 대기 루프와 함께 사용할 수 있습니까?
(apply 'magit-run-git-async "fetch" remote magit-custom-options)
및 쓰기 코드가 아닌 비동기 버전 사용 :
을
BTW, 당신이 할 수있는 또 다른 한가지는 magit-fetch
경우에 한 줄 기능이되는 소스에서 볼입니다
(progn
(apply 'magit-run-git "fetch" "upstream" magit-custom-options)
(apply 'magit-run-git "fetch" "upstream" magit-custom-options))
(그리고 당신은 옵션 플래그 인수를 추가하는 패치를 제안 할 수 있습니다,하지만 ... 대화 형 도구에 대한 불확실한 기능처럼 보인다)
나는 여기에 비동기가없는 무언가를 사용해야한다고 생각한다. magit은 @Eli Barzilay가 말했듯이 그것을 위해 설계되지 않았다. 몇 가지 자식 저장소를 동기화하고 추가 스크립팅을 추가 할 필요가있는 개념적 최종 목표는 없습니다. 그러나 elisp을 사용하여 향상시킬 수있는 방법을 발견하기 전까지는 간단합니다 (예 : 구성 파일 추가 구매). – Cynede