2016-11-21 6 views
1

SVN 사전 커밋 훅으로 사용할 C# 콘솔 응용 프로그램을 작성했습니다. 시작 매개 변수를 구문 분석하려면 this을 사용하고 있습니다. 그것은 VisualSVN documentation에 VisualSVN에서 실행하고, 따라서 것 :SVN 훅용 C# 콘솔 응용 프로그램이 명령 줄 인수를받지 못함

입력 매개 변수 (들) 후크 프로그램에 전달

명령 줄 인수를 순서대로 다음과 같습니다

  • 저장소 경로
  • 트랜잭션 이름을 커밋

나는 후크를 통해 실행할 때 응용 프로그램에 전달 된 인수를 선택하지 않는 것 같습니다. 수동으로 인수를 전달하는 콘솔에서 응용 프로그램을 실행하면 올바르게 작동하지만 SVN에서 호출하면 args 배열이 비어 있고 명령 줄 구문 분석기가 아무 것도 선택하지 않습니다.

VisualSVN (C:\Scripts\pre-commit.exe)의 pre-commit hook 속성에서 exe에 대한 절대 경로를 지정하여이를 추가했습니다. 이것이 정확합니까/응용 프로그램에 전달할 인수를 얻기 위해 특별한 조치를 취해야합니까?

+1

여기에서 주요 문제를 확인한 것처럼 보입니다. "args 배열이 비어 있습니다". 어떤 코드를 보지 않고서는 문제가 어디에서 발생했는지 설명하기가 어렵지만 사전 커밋 앱을 호출하는 곳 주변에있는 것 같아요. 코드를 호출하는 데 사용되는 코드는 무엇입니까? – Novastorm

+0

흠. 예를 들면 다음과 같이 실행 파일을 넣으시겠습니까? 'C : \ Repositories \ MyRepo \ hooks'? 아니면 어떤 이유로 래퍼로 배치 파일을 통해 호출합니까? – bahrep

+0

Visual SVN 미리 커밋 훅 대화 상자에서'C : \ Scripts \ pre-commit.exe '로 호출하고 있습니다. 나는 또한 배치 파일 래퍼 (wrapper)로 시도했지만, 그 중 하나는 작동하지 않았다. –

답변

1

pre-commit.exe 파일은 repo hooks 디렉토리 안에 있어야합니다. 일단 내가 거기로 옮기면 올바른 매개 변수로 치게됩니다. I Visual SVN 미리 커밋 후크 대화 상자가 실제로 배치 파일을 만들고 실행 파일을 호출 할 때 인수가 손실되었다고 생각합니다.

나는 그 래퍼의 동작을 조정할 수도 있었지만 실행 파일을 삭제하면 트릭을 만들 수있었습니다.