﻿# 解決 This client is too old to work with working copy 的問題

[前陣子](/post/2008/09/16/TortoiseSVN-to-Export-Only-Added-Modified-Files-Bug-When-Exporting)為了測試一個 [TortoiseSVN](http://tortoisesvn.net/) 的問題，因此改安裝了 [Nightly Builds](http://nightlybuilds.tortoisesvn.net/latest/) 的版本，當確認問題順利解決後也就沒換到正式的版本了，所以我從今年 9 月份一直用到現在，但今天我將這個版本移除，改安裝目前最新的 TortoiseSVN-1.5.5.14361 版本，卻發生了 "**This client is too old to work with working copy**" 的錯誤訊息。越想越怪，不是應該都是 1.5 版的 Subversion 嗎？為什麼會有這種匪夷所思的錯誤呢？

查了一個小時後才發現，原來我之前安裝的 [Nightly Builds](http://nightlybuilds.tortoisesvn.net/latest/) 抓到了 svn-1.6.0 的版本了，所以我這一個半月來所有用過的工作目錄(Working Copy)都被我升級到 1.6 的版本了，所以導致我今天重新安裝 TortoiseSVN-1.5.5.14361 後，許多專案都無法經由 TortoiseSVN 存取！

我透過錯誤訊息上面的[連結](https://subversion.apache.org/faq.html#working-copy-format-change)，找到了解決方法。只要下載一支用 Python 寫的 Script  ( [change-svn-wc-format.py](https://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py) ) 並對我無法存取的工作目錄執行以下指令即可：

```
c:\change-svn-wc-format.py C:\Projects\TEST\TESTWC 1.5
```

其中第一個參數是「工作目錄」的路徑。第二個參數是要改變工作目錄的版本編號，因為我的工作目錄之前被升級到 1.6 了，所以我必須指定 1.5 把版本降下來！

而我轉換了十幾個專案，其中有一個專案轉換會失敗，我多使用了 --force 參數解決此問題，例如：

```
c:\change-svn-wc-format.py C:\Projects\TEST\TESTWC 1.5 --force
```

若執行成功會顯示以下結果：

```
Converted WC at 'C:\Projects\TEST\TESTWC' into format 9 for Subversion 1.5
```

以下是目前 subversion 的版本與格式編號的對應關係：

-   1.4  ==>  8
-   1.5  ==>  9
-   1.6  ==>  10

你可以從任意一個 \_svn 或 .svn 目錄下找倒一個名叫 **format** 的檔案，裡面會有你專案 Working Copy 目錄的版本。只不過直接改這個檔案的內容是沒用的，還是要透過 [change-svn-wc-format.py](https://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py) 工具幫你修改工作目錄才行。

我還發現一點，透過 [change-svn-wc-format.py](https://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py) 工具修改過的工作目錄，有些 format 檔案會變成 9，但有些不會，我不太確定為什麼會這樣，不過反正 TortoiseSVN 1.5 都可以正常操作就是了。

最後，我補充一個好用的 DOS 指令，可以一次針對目前目錄下所有的 Working Copy 進行轉換動作：

```
c:\Projects>for /D %d IN (*) DO d:\change-svn-wc-format.py "%d" 1.5
```

**相關連結**

-   [I got an error saying "This client is too old to work with working copy '...' ". How can I fix it without upgrading Subversion?](https://subversion.apache.org/faq.html#working-copy-format-change)
-   [Download Standard Python Software](http://www.python.org/download/)
