2014-03-31 68 views
2

這是我的第一個問題,我希望不會做任何錯誤。git-svn在Windows上忽略顛覆配置文件(自動道具)

正如標題所暗示的,我正在嘗試與git-svn一起工作,該項目有一箇中央SVN存儲庫。 SVN倉庫使用自動道具,如果在本地SVN配置文件中沒有正確設置,則提交將被拒絕。我已經閱讀無處不在,包括這裏在StackOverflow,git-svn足夠聰明,可以讀取和兌現svn配置文件,所以如果我已經正確配置了我的Subversion客戶端,git-svn應該可以正常工作。不幸的是,我不是這種情況。

這裏是我的SVN配置文件的內容,如果是的位置是C:\ Users [myusername] \ AppData \ Roaming \ Subversion \ config。我刪除了所有的評論(只有評論)。

[auth] 

[helpers] 

[tunnels] 

[miscellany] 
global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* *.swp ~* 
enable-auto-props = yes 
use-commit-times = yes 

[auto-props] 
*.e = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.c = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.h = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.cpp = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.y = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.py = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.ecf = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.xace = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.ace = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.ge = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.eant = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.bm = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.bat = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.sh = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.xeb = svn:keywords=Author Date ID Revision;svn:eol-style=native 
Mak* = svn:keywords=Author Date ID Revision;svn:eol-style=native 
tcf = svn:eol-style=native 
output = svn:eol-style=native 
output? = svn:eol-style=native 

與SVN犯下完美的作品,和它停止工作(服務器拒絕它說,一個需要自動道具沒有設置),如果我編輯這個文件,並設置enable-auto-propsno,所以這是正確的文件編輯並正在解析。可悲的是,混帳SVN忽略這完全和Dcommitting總是失敗,相同的錯誤消息,這是如下:

ERROR from SVN: 
A repository hook failed: MERGE request failed on '/[url omitted]/Src': Commit blocked by pre-commit hook (exit code 1) with output: 
Props 'svn:keywords=author date id revision' missing (or not expected) 
Props 'svn:eol-style=native' missing (or not expected) 
Props issue on: /[url omitted]/some_file.cpp 

此消息被重複多次對所有相關的擴展,我試圖去提交文件。

我在一個StackOverflow答案的評論中讀到,在Windows上可能有另一個位於「C:\ Users [myusername] .subversion \ config」中的Subversion配置文件副本,但這不是爲了我。可以肯定的是,我將配置文件複製到了這個路徑,沒有任何改變。

我很驚訝,這似乎不是一個常見問題。我期待在互聯網上找到大量的人問同樣的問題,但這似乎並非如此。當人們詢問有關自動道具時,答案總是隻是git-svn應該遵守SVN配置文件,通常後面跟着「謝謝你,它可行!」,所以它很可能取決於我的安裝中的某些東西,但我不老實地知道如何解決這個問題。

感謝您的閱讀,並提前感謝您的幫助。

回答

2

好的,我找到了解決方案。猜測是git-svn忽略了我的配置,因爲它在錯誤的地方尋找配置文件。我決定我想找到git實際存儲在哪裏git配置,我在堆棧上發現命令git config --global --edit將執行此操作(它將打開一個編輯器,從中可以看到文件所在的位置)。

事實證明,與Subversion不同的是,git配置位於我的機器上的網絡驅動器上,我的域用戶配置文件存儲在該網絡驅動器上。我在那個驅動器上找到了SVN配置文件的另一個副本,用正確的文件替換了它,現在git-svn就像一個魅力一樣。

即使我相信我的機器上的某些東西必須配置不當,這解決了我的問題。