簡體   English   中英

Jenkins git checkout 中的“文件名太長”錯誤

[英]“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):

  1. 管理員身份運行Git Bash
  2. 運行以下命令:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM