SVN lock blocked by pre-lock hook (exit code 1) with no output 수정하는 방법

lock blocked by pre-lock hook (exit code 1) with no output

이 메시지는 output을 별도로 입력 안 하거나 표준 입력인 경우에 기본적으로 표시되는 문구인데요, 수정을 하려면 파일 디스크립터를 추가해 주세요.

SVN의 훅 스크립트에서 출력이 필요할 때, 파일 디스크립터를 활용하여 출력을 조정할 수 있어요. 특히, 디스크립터를 사용하여 출력 위치를 명확히 지정하면 디버깅이 훨씬 쉬워질 수도 있답니다.

파일 디스크립터 정의

  • 0 (표준 입력): standard input을 의미하며, 사용자 입력이나 외부 데이터를 받을 때 사용해요.
  • 1 (표준 출력): standard output을 의미하며, 일반적인 정보나 로그 메시지를 출력할 때 사용해요.
  • 2 (표준 에러): standard error를 의미하며, 오류 메시지나 예외 상황을 출력할 때 사용해요.

SVN 훅에서 파일 디스크립터 사용하기

SVN 훅에서 echo 명령어와 함께 파일 디스크립터를 추가하여 출력을 원하는 대로 설정할 수 있습니다. 예를 들어, 오류 메시지를 표준 오류로 출력하고 싶다면 2번 디스크립터를 사용해야 합니다.

REM 표준 출력으로 메시지 출력
echo Lock attempt successful. >&1

REM 표준 오류로 오류 메시지 출력
echo Lock is blocked because the file is restricted. >&2

위에서 >&1은 표준 출력으로 메시지를 보내겠다는 의미이며, >&2는 표준 오류로 메시지를 보내겠다는 뜻입니다.

이처럼, SVN 훅 스크립트에서 echo 명령어 뒤에 파일 디스크립터를 추가하여 출력을 원하는 대로 조정할 수 있습니다.

이전최근
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗