2017-04-21 2 views
2

git 클라이언트 메시지를 프로그래밍 방식으로 캡처하여 어떤 유형의 오류가 발생했는지 (auth failure, auth required 등) 파악해야합니다. 예를 들어git 메시지는 표준입니까?

:

remote: Invalid username or password. 
If you log in via a third party service you must ensure you have an account password 
set in your account profile. 
fatal: Authentication failed for 'https://username:[email protected]' 

이 표준 메시지 (즉, 자식 클라이언트 버전에 의존하지 않는다) 그래서이 인증 실패가 일어난 것을 이해하기 위해 그것을 분석 할 수 있습니까?

미리 감사드립니다.

답변

2

자식 메시지는 버전마다 다릅니다. 또한 저장소의 로컬 설정과 오류 발생시 원격 출처가 출력하도록 설계된 응답을 기반으로 변경할 수 있습니다. 일부 Git 서버는 인증에 실패했거나 저장소에 액세스 할 수있는 권한이 없어도 오류에 관계없이 항상 동일한 메시지로 응답합니다. GitHub의 응답은 BitBucket과 다릅니다.

이러한 메시지를 캡처하기위한 요구 사항은 무엇입니까? 당신의 최종 목표는 무엇입니까? 출력을 로그하고 관리자의주의를 끌려고합니까?

+0

안녕하세요, 저는 git managment 웹 응용 프로그램을 작성 중이므로 git 클라이언트 래퍼를 사용하여 복제본을 보내거나 푸시/풀링 할 수 있습니다. 사용자가 잘못된 자격 증명을 사용하여 git clone 명령을 보내면이 정보를 캡처하여 알려야합니다. gui (정보 공개)에 잘못된 암호를 표시하기 때문에 완전한 자식 오류 응답을 보낼 수 없습니다. 오류 코드가 필요하지만 가능하지 않습니다. 왜냐하면이 정보를 자식 클라이언트에서 가져올 수 없기 때문입니다. git 메시지를 가져오고 정리하려고 시도하지만 변경되면 이러한 접근 방식을 사용할 수 없습니다. – Giper

+0

글쎄, 맞아, 난 그냥 gitlab과 시도하고 잘못된 잘못된 인증 요청에 대한 다른 오류 메시지가 나타납니다 ... 그래서 나는 오류의 특정 유형에 대한 모든 가능한 메시지 형식을 알아야한다, 이것은 좋은 접근 방식이 될 수 없다 ... 사용자에게 일반 git 오류 메시지를 보내야하거나 잘못된 자격 증명을 사용하여 git 클라이언트 메시지를 보내야합니다 ... (로컬 사용을위한 앱이기 때문에이 두 번째 방법을 사용할 수도 있습니다. 그것이 나쁜 디자인 선택 일 수 있는지 모른다. – Giper

+0

예, 그것은 끔찍한 디자인 선택처럼 들린다. 특히 자격 증명을 다시 보내면 큰 위험이 따릅니다. – TinkerTenorSoftwareGuy

관련 문제