2014-11-25 44 views
0

我得到象這樣的錯誤在一個項目:「聯播:未發現」混帳底墊中時,想不通爲什麼

$ git rebase otherbranch 
First, rewinding head to replay your work on top of it... 
Applying: Foo 
Applying: Bar 
Using index info to reconstruct a base tree... 
Falling back to patching base and 3-way merge... 
hookup resolve-schema .merge_file_eZf29j .merge_file_Yuvarz .merge_file_52DZ32 7: 1: hookup resolve-schema .merge_file_eZf29j .merge_file_Yuvarz .merge_file_52DZ32 7: hookup: not found 
fatal: Failed to execute internal merge 
Failed to merge in the changes. 
Patch failed at 0002 Bar 

這是一個虛擬機內的舊的和共享的項目,所以它可能以及各種神祕的配置。我懷疑有些東西被配置爲尋找tpope/hookup,但我在Ruby gems列表或者項目Gemfile或者.git/hooks目錄或者我的〜/ .gitconfig中找不到任何提及,所以我不確定在哪裏看。有任何想法嗎?

+1

檢查'.git/config'文件和'.git/hooks/post-checkout'鉤子是否包含任何內容。至少這就是我所看到的在安裝連接時被修改的內容。 – poke 2014-11-25 13:49:20

+0

謝謝。我grepped整個文件系統,並確實發現它在'.git/config'中:出於某種原因,它有'[merge'railsschema'] \ n \ tdriver = hookup resolve-schema%A%O%B%L'。 – 2014-11-25 13:53:56

回答

2

install routine來看,轉播會做兩件事情:

  1. 添加一行到post-checkout鉤(存儲在.git/hooks/post-checkout)。
  2. .git/info/attributes中設置merge=railsschema屬性。
  3. merge.railsschema.driver部分添加到存儲庫的配置文件(存儲在.git/config)。

撤消這些更改應該從存儲庫中完全刪除連接。實際上,只需從post-checkout掛鉤中刪除該行應該可以正常工作,因爲這是整個過程的開始。 built-in removal也一樣。

+0

謝謝。我實際上並沒有安裝gem(但我猜有人在某個時候做過),所以我無法運行內置的刪除功能,但知道它的功能是很好的。正如我在上面的評論中所描述的那樣,對於我來說固定的是從'.git/config'中刪除''railsschema''部分。 – 2014-11-25 16:09:17