2014-10-28 41 views
3

這是一個比openshift更多的git相關問題。
當我使用git將文件推送到git服務器時,我發現我的perl index.cgi文件的文件權限在我的openshift repo中被更改爲700。
所以我每次做一推的時候,我一直在使用ssh登錄到服務器,並在我的$OPENSHIFT_REPO_DIRchmod a+x index.cgi將其更改爲755Git安裝腳本如何輸入shell命令

我git的文檔,可以增加一個鉤閱讀我試圖使用以下命令更新掛鉤目錄中的後更新腳本

exec chmod a+x $OPENSHIFT_DATA_DIR/index.cgi 

但是,這似乎並沒有奏效。

你能告訴我我做錯了什麼嗎?
如何確保在每次推送文件時都不需要更改chmod

怎樣才能通過git的安裝腳本執行shell命令(我不知道什麼是安裝腳本,我認爲這意味着鉤)

根據下面的建議,我想我會需要添加鉤到服務器,所以我嘗試過,但我得到一個錯誤

$ 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一些選項放置一個「開始」,在當地.openshift/action_hooks目錄。

香港專業教育學院試圖使用的命令有 exec chmod a+x register.cgi甚至chmod a+x register.cgi

沒有多少運氣。任何輸入。我將把這作爲一個單獨的q反對行動鉤子。

回答

3

這是一個比openshift更多的git相關問題。

其實,它更關係到openshift比它的Git:Git only records 644 and 755 permissions

但管理結帳(和更新工作樹)的目標系統將根據default umask(可能在您的案例077)設置權限。
確保默認umask022

關於掛鉤,檢查它的名字(「post-update」,沒有擴展名)和權限(必須是可執行的,755將是有益的)

+0

感謝上的umask尖端。其設置爲0077.making它爲022會如果我理解正確確保我的文件將有644權限? – 2014-10-28 09:49:08

+0

掛鉤在我的本地git掛鉤文件夾中被命名爲post-update。現在在發佈後,我嘗試將鉤子添加到git服務器,但是出現錯誤。我也嘗試在openshift/git/app.git/hooks文件夾中編輯鉤子樣本,但由於鉤子文件夾屬於root,所以它沒有給我寫文件的權限。 – 2014-10-28 09:51:47

+1

@RonAbraham可以解釋爲什麼鉤子沒有執行:它是一個服務器鉤子,由接收提交的遠程倉庫執行。你不能「混帳添加」一個鉤子:一個鉤子永遠不會被推。 – VonC 2014-10-28 10:37:47

1

把權力在這種情況下的GitWeb文件夾。

的GitWeb/
drwxr-XR-×3根根4096年09月25 12:01。
drwxr-XR-X 225根根12288 10月27日20時10 ..
-rwxr-XR-X 1根根251319 09月23日4時36 gitweb.cgi
lrwxrwxrwx 1根根23年9月10日4時36分index.cgi - > gitweb。CGI
drwxr-XR-×2根根4096年09月25 12:01靜態

+0

不錯的把戲。但郵政是有點神祕。你的意思是創建一個有點的符號鏈接?我沒有得到你。 – 2014-10-28 09:59:56