SVNの文字コード保持

先日まで引越でバタバタしておりましたため、
更新が滞っておりました

仕事上でApache Subversionの構成管理を担当しているのですが、
SVNサーバーのOSはWindows Serverを利用しています

SVNクライアントもWindowsだったのですが、
先日LinuxにもSVNクライアントを導入する要件が発生しました

その際、素朴な疑問として挙がったのが
SVN文字コードを保持しているのか」ということ

結論としてはSVN文字コードや改行コードを保持しているようです

確認は以下のように行いました

  • 確認内容

文字コードS-JISEUCUTF-8の3種類、
改行コードはCRLF、LFの2種類、
計6種類のテキストファイルを用意する

以下の2ケースについてチェックアウト後のファイルの文字コードや改行コードを確認する

(1)SVNサーバー(Windows)からSVNクライアント(Linux)にチェックアウトする
(2)
 ①SVNサーバー(Windows)のリポジトリを取得する
 
  svnadmin dump [リポジトリパス] > [dumpファイル名]

②別のSVNサーバー(Linux)にロードする

  svnadmin load [リポジトリパス] < [dumpファイル名]

 ③SVNサーバー(Linux)からSVNクライアント(Linux)にチェックアウトする

  • 確認方法

上記(1)(2)でチェックアウトしたファイルを下記コマンドにて確認する。

 file [ファイル名]

ファイルの文字コードに応じて
下記のように出力される

EUC ⇒ ISO-8859 text
Shitf-JIS ⇒ Non-ISO extended-ASCII text
UTF-8 ⇒ UTF-8 text

※kcc -c [ファイル名]でも確認可能

    • -

チェックアウトした環境のロケールによらず登録時の情報が保持されるため、
利用するOSが混在している場合にはファイル登録について考慮が必要そうです