最近,我購(gòu)買了一臺(tái) Synology DS1821+,用來(lái)補(bǔ)充一對(duì)老舊的 HP N40L 微型服務(wù)器,這些服務(wù)器運(yùn)行 Windows。雖然我最初只是為了存儲(chǔ)和“真正”的 RAID 而購(gòu)買它,但我發(fā)現(xiàn)它是一款令人愉悅的設(shè)備,于是決定將其完全取代微型服務(wù)器。在此之前,我從未真正使用過(guò) Docker,但 Synology DiskStation Manager (DSM) 軟件讓使用變得輕而易舉 - 我很快就通過(guò)官方軟件包在其上運(yùn)行了 Jenkins 和 Gitea,并且還使用了第三方軟件包來(lái)運(yùn)行 SVN,因?yàn)槲胰匀挥幸粋€(gè)傳統(tǒng)的代碼庫(kù)和一個(gè)“當(dāng)前”的代碼庫(kù),后者我正在逐步轉(zhuǎn)換為 Git。
唯一的問(wèn)題是,非常古老的 VB6 代碼庫(kù)可以正常加載,但嘗試訪問(wèn)“當(dāng)前”的 C# 代碼庫(kù)時(shí)失敗了:
無(wú)法打開所請(qǐng)求的 SVN 文件系統(tǒng)
不受歡迎的訪客
然后,我進(jìn)行了一次相當(dāng)沮喪的嘗試,試圖使該代碼庫(kù)可訪問(wèn),包括直接復(fù)制、使用 svnadmin dump 和 svnadmin load,刪除基于 Windows 的鉤子等等,但都沒(méi)有成功。
看到曙光
擔(dān)心原始代碼庫(kù)損壞,最后我在其上執(zhí)行了 svnadmin verify 命令,結(jié)果順利通過(guò)了。然而,當(dāng)我嘗試在最近的克隆中執(zhí)行相同的命令時(shí),與其他命令給出的通用錯(cuò)誤不同,我得到了一個(gè)具體和有用的錯(cuò)誤信息。
解開難題的錯(cuò)誤信息
svnadmin: E160043: 預(yù)期的 FS 格式應(yīng)處于 '1' 和 '7' 之間;發(fā)現(xiàn)格式為 '8'
我們終于有所進(jìn)展了!看起來(lái)我使用的第三方鏡像并沒(méi)有使用最新版本的 SVN,而是六年前的 1.9.7 版本。唉,如果這個(gè)博客支持表情符號(hào),一定會(huì)有一個(gè)扇耳光的表情,既因?yàn)檫@個(gè)過(guò)時(shí)的鏡像,也因?yàn)槲彝浟藥啄昵皩戇^(guò)如何將我的代碼庫(kù)從舊版本升級(jí)到新版本。
盡管我并不追求日新月異的軟件,但這版本實(shí)在是太老了
使其正常工作
當(dāng)你通過(guò) svnadmin create 創(chuàng)建一個(gè)代碼庫(kù)時(shí),可以使用 --compatible-version 參數(shù)來(lái)強(qiáng)制指定使用較舊的版本。因此,在 Windows 系統(tǒng)上,我創(chuàng)建了一個(gè)新的代碼庫(kù),格式為 1.7。
為舊版本的 SVN 創(chuàng)建定制的代碼庫(kù)
svnadmin create clone --compatible-version 1.7
然后,我加載了之前的備份
svnadmin load clone < cyotekdump.svn
完成后,我將代碼庫(kù)打包成 zip 文件,放在 NAS 上,刪除了“損壞”的克隆版本,并在原地解壓縮了 zip 文件。然后重新運(yùn)行驗(yàn)證命令...
它工作了!
太好了!Web 界面也可以正常工作。
真的可以了!
總結(jié)
當(dāng)然,一旦你查看 Edge 和 SSH 的屏幕截圖,你會(huì)發(fā)現(xiàn)相同的錯(cuò)誤代碼存在于兩者中,盡管我并不是頭腦中自帶 SVN 錯(cuò)誤代碼!此外,我只是使用
Edge 創(chuàng)建此帖子的截圖,最初我的測(cè)試是使用 Firefox 進(jìn)行的 - 但 Firefox 并沒(méi)有顯示 XML,只顯示了錯(cuò)誤文本。
雖然我已經(jīng)解決了這個(gè)問(wèn)題,但在全新設(shè)備上安裝過(guò)時(shí)的軟件似乎有點(diǎn)無(wú)意義,所以我需要找到一個(gè)更新的鏡像。(當(dāng)然,我真的應(yīng)該專注于遷移到 SVN 之外?。?/p>
其他參考補(bǔ)充
當(dāng)遇到 SVN 錯(cuò)誤 "Could not open the requested SVN filesystem" 時(shí),可能是由于以下幾個(gè)原因?qū)е碌模?/p>
1. 存儲(chǔ)庫(kù)路徑錯(cuò)誤:請(qǐng)確保你提供的存儲(chǔ)庫(kù)路徑是正確的。檢查路徑是否存在,并且你有足夠的訪問(wèn)權(quán)限。
2. 存儲(chǔ)庫(kù)損壞:存儲(chǔ)庫(kù)文件可能已經(jīng)損壞或不完整。嘗試使用備份文件或者進(jìn)行修復(fù)操作??梢允褂?`svnadmin verify` 命令來(lái)驗(yàn)證和修復(fù)存儲(chǔ)庫(kù):
svnadmin verify /path/to/repository svnadmin recover /path/to/repository
3. 文件系統(tǒng)權(quán)限問(wèn)題:檢查存儲(chǔ)庫(kù)所在文件系統(tǒng)的權(quán)限設(shè)置。確保對(duì)存儲(chǔ)庫(kù)文件和父目錄具有適當(dāng)?shù)淖x寫權(quán)限。
4. 存儲(chǔ)庫(kù)版本不匹配:如果你的 Subversion 客戶端和服務(wù)器版本不匹配,可能會(huì)導(dǎo)致此錯(cuò)誤。嘗試更新客戶端或服務(wù)器以保持一致。
5. 存儲(chǔ)庫(kù)未初始化:如果你嘗試打開一個(gè)沒(méi)有初始化的存儲(chǔ)庫(kù),也會(huì)出現(xiàn)這個(gè)錯(cuò)誤。使用 `svnadmin create` 命令來(lái)初始化一個(gè)新的存儲(chǔ)庫(kù):
svnadmin create /path/to/repository
如果以上方法都無(wú)法解決問(wèn)題,可以嘗試重新安裝 Subversion 或聯(lián)系系統(tǒng)管理員進(jìn)行進(jìn)一步的幫助和支持。
文章來(lái)源地址http://www.zghlxwxcb.cn/article/695.html文章來(lái)源:http://www.zghlxwxcb.cn/article/695.html
到此這篇關(guān)于解決 SVN 錯(cuò)誤 "Could not open the requested SVN filesystem"的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!