我們遇到序列化項目的問題。我們的用例是使用自己的數據庫在本地工作,並將所有項目與Unicorn同步。然後我們把所有的項目都推送到我們的Git倉庫。本地Git配置設置爲autocrlf=true
。這是需要的,因爲我們的項目中有一些前端工程師使用Mac OS X.我們使用Unicorn序列化完整的「核心」數據庫(如安裝後的默認配置)。Sitecore序列化項目與Git autocrlf
看來,核心數據庫中的一些項目是使用非Windows系統創建的。如果我們查看項目/sitecore/system/Dictionary/O/One or more items have been changed Do you want to overwrite these changes
:當我序列化該項目並查看它時,我看到Key
字段包含多行,並且換行符標記爲「\n
」,並且content-length
爲77
(請參閱附加的截屏Notepad ++,左側)。在此之後,我將這個文件推送到Git存儲庫,並從存儲庫中取出另一個工作站上的項目。由於設置爲autocrlf=true
,「\n
」會自動轉換爲「\r\n
」,這會導致content-length
的79
而不是原始的77
(請參閱附加屏幕截圖的右側)。當我想反序列化這個項目時,我得到了內容長度不匹配的例外。
有誰有過這樣的錯誤前,你做了什麼,以避免這種情況?我看到選項禁用autocrlf
或從序列化同步中排除這些項目。但是我想避免做這些選擇中的一個。
這並不回答你的問題,但我從來沒有理解'autocrlf'的優點。 Win/Lin/Mac的角度似乎是一個弱點,因爲任何中途體面的文本編輯器都可以處理來自其他操作系統的行結尾。 'autocrlf'只會給我造成麻煩。 – Chris