커밋 할 때마다 포스트 커밋을 시도하여 내 웹 사이트를 업데이트하려고했습니다. 은/후크에/내가Subversion 커밋되지 않은 포스트 커밋
작동env - ./post-commit
이 웹 사이트는 마지막 개정 업데이 트를 얻을하려고하면 지금
/svnUupdat/cProgrammeThatUpdate >> /log/test.log
확인에 따라 (거기 않았다으로
후 커밋 로그에 뭔가)
하지만 난이 커밋 경우 호출되지 않습니다 게시물을 커밋? 뭔가에있다 .. 내가 단지에 넣어 경우 ... 작동 뭔가를 위탁하는 경우
/bin/echo "post-commit run" >> /log/test.log
을 후 커밋
주 (로그 및 사이트의 아무것도 업데이트되지되지 않음) 로그 왜 .. 내 C 프로그램을 호출하지 않는 이유는 무엇입니까?
이 왜 건너 대신 ...는 C programm에에게 내가 건너 뛴의/var/www가이 로그에
/usr/bin/svn update /var/www/vhost/xx.com/site1/ >> /var/log/svn/example.log
를 호출 뭔가 다른 시도 편집,? 내가 터미널에서 SVN 업데이트를 실행할 경우이 작업 디렉토리가 최종 개정에게 '생략'메시지가이 작업 복사본 아니기 때문에 서브 디렉토리를 업데이트 할 수 없음을 나타냅니다
감사
안녕하세요, 사실 나는 (커밋 포스트에서) 내 경로에 오타가 있었다. 커밋 후에 커밋 된 경로가 로그에 없으므로 아마도 권한 문제입니다. 커밋하는 프로세스는 httpd이며 그 소유자는 아파치입니다. 이미 chown을 했었습니다. apache.apache post-commit 내 작업 디렉토리와 동일한 작업을 수행해야합니까? – Johny19
작업 디렉토리를 업데이트 할 계획이므로 쓰기 권한이 있어야합니다. 'su - apache' (또는 여러분의 httpd 사용자가 무엇이든)를 시도하고 post-commit 스크립트를 실행하십시오. 그러나 http 데몬에 대한 사용 권한을 변경할 때 보안 관련 사항이있을 수 있으므로 수행중인 작업을 알고 있어야합니다. 대신 'svn + ssh'를 사용하여 repo에 액세스하는 방법을 고려 했습니까? –