2014-01-30 28 views
2

我在Windows Server 2003上運行此操作,並使用Cygwin版本的Git命令行工具。EGit爲什麼在新克隆的存儲庫中顯示未更改的更改?

我有一個包含一組Eclipse項目的Subversion版本庫,並且正在測試這個版本庫遷移到Git中。從命令行我已經使用git svn創建git存儲庫,並且git clone在本地克隆新的存儲庫。在Eclipse中,我使用導入嚮導「從Git-> Existing local repository導入 - >項目」從本地克隆導入項目。

一旦項目被導入,EGit就會顯示隨機選擇的源文件爲非暫存更改。比較這些文件顯示與Git中的版本沒有區別,並且用HEAD修訂版替換文件不起作用。

回答

2

最終在我頭痛的時候,我追蹤了這個問題。

在原始的Subversion版本庫中,許多源文件已經用Subversion svn:executable屬性集簽入。該屬性被git svn所尊敬,並且當文件最終在Git工作目錄中呈現時,它具有執行權限屬性集。儘管這是在Git中配置文件的方式,但EGit看起來好像沒有看到存儲庫中的權限集,並將其作爲存儲庫副本和工作副本之間的區別對待......因此它出現在未分級的變化。

我在Cygwin bash shell的受影響文件上簡單地使用chmod -x修復了問題,並提交了更改。我知道設置Git屬性core.filemode=false也應該解決這個問題,儘管我還沒有嘗試過。

+0

我也有這個問題,除了1)它發生在所有導入的文件和2)我在Eclipse中嚴格使用Egit。這太愚蠢了,不知道爲什麼會發生這種情況。 –

+0

這個問題比這裏描述的特定svn - > git場景更常見。更一般地說,問題是EGIT想要調整項目中文件的可執行位。感謝您幫助我弄清楚這一點。 – jgrump2012

相關問題