갈고리의 편집 출력을 미리 제출합니다

3775 단어 vim-fugitive

묘사

나는 문제 #19[0]에 대해 초보적인 연구를 진행했지만 이것은 좀 다른 것 같다.
나는 거의 몇 줄에서 오류를 표시할 수 있는 미리 제출된 갈고리를 사용해야 한다
자꾸 이래요.그래서 어떤 일이 미리 제출한 갈고리로 인해 실패했을 때, 나는 왜 그런지 모르겠다.
내가 읽을 수 있는 것은 모든 출력의 첫 줄입니다. (실제 오류는 포함되지 않습니다.)
도주범이 messages을 사용하고 있는 것 같았는데, 내가 검사했을 때, 나는 다시 한 번 한 가지만 보았다
줄을 서다.
갈고리가 고장난 모든 출력을 볼 수 있는 방법이 있습니까?
최신 버전의 플러그인(1.2)을 사용했기 때문에 보기로 했습니다.
하지만 나는 여전히 같은 문제를 발견했다.
[0] https://github.com/tpope/vim-fugitive/issues/19

토론 #1

나는 미리 제출한 갈고리를 검사했고 내가 발견하지 못한 echo 문장을 모두 삭제했다
오류를 보고합니다.
갈고리가 여러 개의 echo 호출을 사용하여 어떤 일을 보고할 때(예를 들어 "Checking foo...pass")
도주범은 이것이 잘못이라고 생각한다. (그럴 수 있습니까?)나는 echo이 특정한
근데 케이스 출구번호가 어떻게 돼요?
일단 내가 그것들을 삭제하면, 나는 아무런 문제도 없이 약속을 할 수 있다.

토론 #2

이 콘솔에서 GIT_EDITOR=false git commit을 호출할 때 어떤 종류의 출력을 볼 수 있습니까?

토론 #셋

내가 잘못한 것 같지만 GIT_EDITOR=false git commit
error: There was a problem with the editor 'false'.
Please supply the message using either -m or -F option.

토론 #4

아니, 완전히 옳다. 이것이 바로 :Gcommit이 찾은 것이다.나는 미리 제출한 갈고리가 어떤 방식으로 그것을 씹을 것이라고 생각했다.

토론 #5

나는 같은 실수를 얻었다. 나는 갈고리가 전혀 없었다.

토론 #6

은 이상하지만 나는 :Gcommit에서만 그것을 얻을 수 있다.:Gstatus, 그리고 C.

토론 #7

은 898과 900호선을 /bin/false호선이 아닌 false호선으로 변경했다.나는 이것이 무엇을 의미하는지 확실하지 않다.

토론 #8

재미있어요.:!echo $PATH/bin을 잃어버렸습니까?
# 알프레도 데자, 이것도 해결해 줄까?

토론 #9

이상하지 않아요.:echo $PATH:!echo $PATH은 모두 /bin이 존재한다는 것을 나타낸다./usr/bin/false도 기호에 연결되어 있고 /usr/bin도 경로에 있습니다.which false은 "/usr/bin/false"를 되돌려주고 정상적인 알림에서 작업합니다.
fugitve에서 무슨 일이 일어났는지 실패했어요.

토론 #10

@tpop 이것은 나의 문제를 해결하지 못할 것이다. 왜냐하면 나의 환경에 /bin/false이 존재하지 않기 때문이다.저는 false을 셸 내장 명령으로 하고 /usr/bin/false을 가지고 있습니다.:echo $PATH에 따르면 /bin//usr/bin/

토론 #11

그렇습니다. 이것이 바로 제가 이런 변화에 맹목적으로 융합하지 않은 이유입니다./usr/bin/false으로 바꾸면 어떡하지?이것은 무의미하지만 @Johntree도 아무런 보도도 하지 않았습니다.

토론 #12

동의합니다.이것들은 모두 의미가 없다.하지만 처음부터 의미가 없었다.왜 :GstatusC은 일을 할 수 있지만 :Gcommit을 직접 사용하면 안 됩니까?:Gstatus10:Gcommit 제출에 성공하더라도 즉시 실패합니다.
나는 /usr/bin/false이 @Alfredeza를 위해 일할 것이라고 생각하지만, 너는 영원히 모른다.그것은 여기서도 작용할 수 있지만, 지금은 또 작용한다. 나는 더 이상 망치고 싶지 않다.

토론 #13

나는 내가 문제의 소재를 찾았다고 생각한다.나의 특수한 상황은 false이나 $PATH에 부족한 것과 무관하다.s:Commit 함수에서 v:shell_error이 0이 아닌 종료 상태로 평가되면 errorfile을 읽고 이 줄을 사용하여 필터링합니다.
let error = get(errors,-2,get(errors,-1,'!'))
그 중에서 errors은 오류 파일을 읽은 결과이고 error은 원시 그룹에서 선별된 문자열이다.
다음에 필터된 오류를 몇 개의 정규 표현식과 일치시키려고 시도합니다.만약 그것들이 모두 작용하지 않는다면 오류를 던진다.
call s:throw(error)
나중에 잡혔는데 echoerr의 하이라이트가 있는데 이것이 바로 내가 본 것이다.그러나 모든 메아리 문장이 필터를 거쳤기 때문에 나는 빈 줄을 얻었다.
나는 여기에 어떤 정확한 절차가 있는지 확실하지 않다. (그렇지 않으면 나는 인출 요청을 제출할 것이다.)errors을 훑어보고 아무 일도 일어나지 않은 상황에서 보여주는 것이 내 요구에 맞는 것 같다.

토론 #14

안녕하세요.나도 같은 문제가 있다.:Gcommit을 실행할 때 빈 bash 화면만 표시합니다. (연결 출력이 없습니다.)이 갈고리로 도주범을 대처하는 정확한 방법은 무엇입니까?나는 이 일이 마침내 해결되었다고 생각한다.

좋은 웹페이지 즐겨찾기