2011-01-27 52 views
0

作爲其功能一部分的代碼庫運行git命令來檢查代碼到外部git repo。對於這個代碼庫,它具有自己的git repo,其中包含一個預先提交腳本,用於運行檢查代碼的檢查。一個問題是,當過預提交運行的代碼基礎,以測試它會導致代碼庫git的承諾失敗,出現錯誤外的git命令功能:git pre-commit腳本調用git clone並失敗

error: invalid object 8e2c01bddee6ee312651e076d6c1bd296888129f

error: Error building trees

這工作得很好,如果我刪除git的功能來自預先提交的測試。我已經嘗試了git options work-tree和git-dir,分叉進程,單獨的進程,它似乎依賴於git功能測試是否作爲代碼庫git提交運行時的任何部分運行。還有什麼我可以嘗試,還是這是一個失敗的原因?

+1

你可以發佈一個代碼片段顯示預先提交鉤子試圖做什麼? – MatrixFrog 2011-01-29 22:42:02

回答

0

有一個git-dir參數可以添加到git命令中,它實際上會改變運行git命令的地方。

+0

是的,我嘗試過,並與工作樹。 git --git-dir =/dir/.git --work-tree =/dir add * .txt原始的git進程似乎只會失敗,出現「錯誤構建樹」,其中包含clone和add命令 – 2011-01-27 20:05:33