[英]“Filename too long” error in Jenkins git checkout
Jenkins中的Git checkout拋出“Filename too long”錯誤,失敗,如下:
hudson.plugins.git.GitException:命令“git.exe checkout -f 2cea7d8eb9185899c01d2ffc86872f584da2e60c”返回狀態代碼1:
標准輸出:
stderr: 錯誤: 無法創建文件some_long_named_project /src/test/resources/dbunit_test_data/com/ some_long_named_directory /data/testInstances_create_dataRequiresData.xml: 文件名太長
我已將配置文件中的 longpaths 變量設置為“true”,如此處所建議的那樣Filename too long in Git for Windows和此處https://sifaserdarozen.wordpress.com/2015/06/25/git-file-name- too-long-error/ ,但它沒有幫助。
還有什么我可以做的嗎?
為了讓 Git 正確處理長文件名,需要啟用core.longpaths=true
。 要設置此參數,您可以執行以下操作:
git config --global core.longpaths true
如果您運行 Windows 10 家庭版,您可以更改注冊表以啟用長路徑。
轉到regedit
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem
,然后將LongPathsEnabled
設置為1
。
如果您有 Windows 10 專業版或企業版,您還可以使用本地組策略。
轉到gpedit.msc
Computer Configuration > Administrative Templates > System > Filesystem
,打開Enable Win32 long paths
並將其設置為Enabled
。
作為一種解決方法,我在 jenkinsfile 腳本中為 WORKSPACE 路徑定義了一個虛擬驅動器:
bat 'subst W: /d || exit 0' //delete the virtual drive if it already exists
bat 'subst W: "%WORKSPACE%"'
然后刪除它:
bat 'subst W: /d'
Saikat 的這個答案為我解決了 Jenkins git checkout 的這個問題。
要遵循的步驟(Windows):
- 以管理員身份運行Git Bash
- 運行以下命令:
git config --system core.longpaths true
注意:如果第 2 步不起作用或出現任何錯誤,您也可以嘗試運行以下命令:
git config --global core.longpaths true
在此處閱讀有關
git config
更多信息。
(編輯:請注意,有一個相關的答案建議將設置專門應用於受影響的項目,而不是使用--system
或--global
標志。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.