2014-10-28 1 views
3

이것은 openshift보다 많은 git 관련 질문입니다.
git을 사용하여 git 서버에 파일을 푸시하면 내 openshift repo에서 내 perl index.cgi 파일의 파일 권한이 700으로 변경됩니다.
는 그러므로 내가 푸시를 할 때마다, 나는 SSH를 사용하여 서버에 로그인해야하고 755힘내 설치 스크립트 쉘 명령어 입력 방법

에 나는 후크를 추가 할 수있는 자식 설명서를 읽어 변경 내 $OPENSHIFT_REPO_DIRchmod a+x index.cgi을 그리고 후크 디렉토리의 post update 스크립트를 다음 명령으로 업데이트하려고 시도했습니다.

exec chmod a+x $OPENSHIFT_DATA_DIR/index.cgi 

그러나 그럴 것 같지 않습니다.

내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?
파일을 누를 때마다 chmod을 변경할 필요가 없도록하려면 어떻게해야합니까?

하나는 (내가 그것을 후크를 의미 가정, 스크립트를 설치 무엇인지 모르는) 망할 놈의 설치 스크립트를 통해 쉘 명령을 실행 않습니다 어떻게 내가 추가해야 생각 아래의 제안에 따라

그래서이 로컬 .openshift에서 "시작"을 배치하여 action hooks를 사용하여 몇 가지 옵션을 시도 서버에 후크 그래서 난 그것을 시도하지만 난 오류

$ git add .git/hooks/post-update error: Invalid path '.git/hooks/post-update' error: unable to add .git/hooks/post-update to index

있어/디렉토리를 action_hooks.

은 필자가 사용하려고이 명령은 exec chmod a+x register.cgi 심지어 chmod a+x register.cgi

별로 행운이었다. 모든 입력. 나는 이것을 액션 훅과는 별도로 제기 할 것이다.

답변

3

이것은 오픈 시프트보다 많은 git 관련 질문입니다.

실제로는 Git : Git only records 644 and 755 permissions보다 opensshift와 관련이 있습니다.

그러나 체크 아웃을 관리하고 작업 트리를 업데이트하는 대상 시스템은 default umask (사용자의 경우 077 일 수 있음)에 따라 권한을 설정합니다.
기본값 umask022인지 확인하십시오. 후크에 관한

, 그 이름 ('post-update', 확장자) 및 권한을 확인

+0

감사합니다. 0077.make 022로 설정하면 내 파일이 644 권한을 갖도록 올바르게 이해할 수 있습니까? –

+0

후크의 이름은 로컬 git hooks 폴더에서 post-update로 지정됩니다. 지금은 ure post 이후에 git 서버에 후크를 추가하려고 시도했지만 오류가 발생했습니다. 나는 또한 openshift/git/app.git/hooks 폴더에서 후크 샘플을 편집 해 보았지만 후크 폴더가 root에 의해 소유되어 있으므로 거기에 파일을 쓸 수있는 권한을 부여하지 않았습니다. –

+1

@RonAbraham은 훅이 실행되지 않은 이유를 설명합니다. 서버 훅으로, 커밋을 수신하는 원격 저장소에서 실행됩니다. 그리고 당신은 훅을 "추가"할 수 없습니다 : 훅을 결코 밀어 넣지 않습니다. – VonC

1

이 경우 gitweb 폴더에 권한을 가져 (이것은 실행해야합니다, 755은 유용 할 것이다).

gitweb/drwxr
-XR-X (3) 루트 루트 4096 구월 25 12시 1분. drwxr
XR-225-X 루트 루트 12288 시월 27 20시 10분 ..
-rwxr-XR-X 1 개 루트 루트 251,319 구월 23 4시 36분 gitweb.cgi
lrwxrwxrwx 1 루트 루트 10 구월 23 4시 36분 index.cgi -> gitweb.의 umask에 대한 팁을위한 CGI
drwxr-XR-X 2 루트 루트 4096 9월 25일 12시 1분 정적

+0

멋진 트릭. 그러나 우연한 포스트는 약간 비밀 스럽다. 어떤 의미의 상징적 인 연결 고리를 만들겠습니까? 나는 u를 얻지 않았다. –