作業メモとかをSubversionで管理してたんですが、Gitに移行しちゃいたいと思います。

こちらを参考にさせていただきました。

Windowsマシンでgit svnを使ってみる

windowsで作業します。

Git Extensions使ってます。

元レポジトリ:D:\TEMP\SVN_FSFS

このレポジトリはソースの管理とかではなくオフィスドキュメントとかの類を管理していたものなので、trunkとかそーいった難しい事はしてませんので、-sオプションは使いません。

ちなみに revisionは841。サイズは3Gとかあります。分割できればしたいです。

1
$ git svn clone file:///D:/TEMP/SVN_FSFS

とやると

Permission denied: Can’t open ‘/tmp/report.tmp’: Permission denied at /usr/lib/perl5/site_perl/Git/SVN.pm line 1210

とか出てうまくいきませんでした。

svnでdump->loadしてやる必要があるみたいです。

TortoiseSVN 1.8.6, Build 25419 – 64 Bit

コマンドラインツール付きでインストールします。

(既定ではインストールされません)

1
2
3
4
5
6
D:\TEMP>svnadmin dump SVN_FSFS > svnrepo.dump
* Dumped revision 999. 長い
D:\TEMP>mkdir svn_repo2
D:\TEMP>svnadmin create --fs-type fsfs svn_repo2
D:\TEMP>svnadmin load svn_repo2 < svnrepo.dump
------- Committed revision 999>>> さらに長い

おわったらあらためて

1
$ git svn clone file:///D:/TEMP/svn_repo2/

とやってみますが今度は、

Couldn’t open a repository: Unable to open an ra_local session to URL: Unable to open repository ‘file:///D%3A/TEMP/svn_repo2’

とかなんとか出てきます。

「ローカルとか無理」って意味ですかね。

別のコマンドプロンプトを開いて

1
\>svnserve -dR -r d:\temp\svn_repo2

でsvnのサーバを実行します。

これでやっとこ

1
D:\TEMP\svn>git svn clone svn://localhost/[さぶふぉるだもOK]

でSVN -> Gitの変換ができたっぽいです。

やっぱしSVN?

やっぱWord,Excel,AccessとかはSubversionにしといたほうが良いかな~。

ほぼバイナリなんでサイズがでかくなりがち、どうせ差分とか取らない(取れない)し。

ただサブフォルダもgit svn cloneできることが分かったので、

svnサーバをwindowsのサービスとして登録しておくことにします。

サーバ用レポジトリフォルダを”C:\usr\svn_root”に作って、先に作ったd:\temp\svn_repo2の中身をまるっとコピーします。

そしたらサービスに登録。

1
$> sc create svnserve binpath= "C:\Program Files\TortoiseSVN\bin\svnserve.exe --service -r C:\usr\svn_root" displayname= "Subversion" depend= tcpip start= auto

数年分の作業記録だだからしょうがないけどサイズでかいなー。

ちょっと切り分けるとかせねばならんなも。

世の中の人はこういったOffice文書系のバージョン管理はどうしてるんでしょうかね?