Subversionを使った際のメモを書いていきます。
本来「Subversion」はコマンドラインで使うものなのですが、それをWindowsのGUIで操作できるソフト…それが「TortoiseSVN」です。
この中には既に必要最低限の「Subversion」のファイルが含まれていますので、これだけ入れれば使えるようになります。
「TortoiseSVN」と「Language packs(日本語化パッチ)」をダウンロードしてインストールする方法を説明していきます。
インストールが終わったら、デスクトップを右クリック→[TortoiseSVN]→[Settings]
以下のような設定ウインドウが開きます。
Languageを「日本語」に直します。
ここで日本語に選択出来ない場合は前記の「LanguagePack」がインストールされていないのでインストールして下さい。
[適用(A)]→[OK]を押して設定を一度終了します
デスクトップを右クリック→[TortoiseSVN]→[設定(S)]
以下のような設定ウインドウが開きます(さっきの設定ウインドウの日本語化したもの)
「除外/無視するパターン(P)」でSubversionで無視する拡張子を指定します。
ここで気をつけなければいけない事は、大文字・小文字を区別してしまう事です。
通常は「*.bak *.Bak *.BAK」を指定しておけば良いでしょう。
差分ビューアの設定は標準では「TortoiseMerge」がセットされています。
自分は差分ビューアに「WinMerge」を使っているので、それに設定してあります
#ref(): File not found: "WinMarge.jpg" at page "Subversion/Windowsで使う(TortoiseSVN)"
通常使っている分には「TortoiseSVN」があればひとまず必要ないが、
Subversionをコマンドラインで使いたい場合は必要となる。
特にリポジトリのバックアップや移行をしたい時には「svnadmin hotcopy」や「svnadmin dump」コマンドを使わないといけないが、これは「TortoiseSVN」では出来ないので、この場合はコマンドラインクライアントをインストールする。
以下のページで「Subversion」をダウンロード出来ます。
#ref(): File not found: "subversion.apache.org.jpg" at page "Subversion/Windowsで使う(TortoiseSVN)"
出てくるページの一番下にWindowsの項目があるので、そこの#ref(): File not found: "Subversion Binary Packages.jpg" at page "Subversion/Windowsで使う(TortoiseSVN)"
「Slik SVN」をダウンロードしています#ref(): File not found: "Download Subversion - Slik SVN.jpg" at page "Subversion/Windowsで使う(TortoiseSVN)"
まずデータが格納される場所、「リポジトリ」というフォルダを作成しないといけません。
この作業は新たなリポジトリを作成する時に1度しか行いません
適当な名前のフォルダを作ります。
例として「D:\repo」というフォルダを作成しました。
「repo」フォルダを右クリック→[TortoiseSVN]→[ここにリポジトリを作成(Y)]
そうすると以下のようなウインドウが開きます。
[Native filesystem(FSFS)]→[OK]
これでリポジトリが作成されます。
以後はこのフォルダの内容を直接いじることはありません。
次にSubversionで管理したいソースコードを置くためのフォルダを作成します。
フォルダはリポジトリのフォルダと同じ名前でなくても構いません。
ここでは例として「D:\proj」というフォルダを作成します。
「proj」フォルダを右クリック→[SVN チェックアウト(T)]
以下のようなウインドウが開きます
リポジトリのURLに先ほど登録したリポジトリのフォルダを登録します。
これはプルダウンメニューで選べるはずです。表記的には「file:///D:/repo」という感じになります
最後に[OK]ボタンを押します。
以下のようなウインドウが開きます。
フォルダに以下のようなマークが付き、フォルダ内には「.svn」というフォルダが作成されます。
これはこのフォルダがSubversionの管理下に置かれたことを意味します。
今後はこのフォルダの下位にファイルやフォルダを置いて管理していく事になります。
先ほど作成した作業用フォルダ「D:\proj」内に登録したいファイルやフォルダをコピーします。
自分で作ったソース以外にも、他からダウンロードしてきた使っているソースも一緒に置いておくと良いと思います。
また、プロジェクトごと、あるいはライブラリごとにフォルダ分けする事をお勧めします。
コピーが終わりましたら登録したいフォルダ又はファイルを右クリック→[TortoiseSVN]→[追加(A)]を押します。
追加ウインドウが出ますので、追加したいファイルを選んで[OK]ボタンを押します。
フォルダ又はファイルに追加マークが付きます。
エクスプローラの[表示(V)]→[最新の情報に表示(R)]をして表示を更新しないとマークが付かない場合があります。
追加の後は必ずコミットをして、リポジトリ側に変更を登録する必要があります。
間違って追加したフォルダやファイルはコミット前であれば[右クリック]→[TortoiseSVN]→[元に戻す(V)]で解除する事が出来ます。
ただし、この[元に戻す(V)]は不用意にフォルダ全体に対して行うと他の修正も全て元に戻してしまうので注意してください。
私はこれで変更中のコミットしていないファイルが元に戻って泣きました。
追加を実行する前に一度全体をコミットしておく癖をつけておくと、上記のような悲劇に見舞われずに済むとおもいます。
登録済みのファイルはSubversionの管理下のリポジトリに置かれます。
そのため、普通に削除をしてもSubversionの管理上は削除になりません。
普通に削除をしてもリポジトリには情報が残っていますので、管理下のフォルダに対して右クリック→[SVN 更新(U)]をすると削除したファイルが復活してしまいます。
リポジトリ内の情報にもファイルの削除を知らせたい場合は
削除したいファイル・フォルダを選択後、右クリック→[TortoiseSVN]→[削除(D)]を押します。
削除ウインドウが出ますので、削除する対象が間違っていないか確認してから[OK]ボタンを押します。
フォルダは上記のように×マークが付きますが、ファイルについては削除をした直後にファイル自体が見えなくなります。
追加の後は必ずコミットをして、リポジトリ側に変更を登録する必要があります。
間違って削除してしまったフォルダはコミット前であれば[右クリック]→[TortoiseSVN]→[元に戻す(V)]で解除する事が出来ます。
ファイルについては、削除をした直後にファイル自体が無くなってしまうので、上位フォルダに対して右クリック→[TortoiseSVN]→[元に戻す(V)]を行う事によって解除する事が出来ます。
ただし、この[元に戻す(V)]は不用意にフォルダ全体に対して行うと他の修正も全て元に戻してしまうので注意してください。
私はこれで変更中のコミットしていないファイルが元に戻って泣きました。
削除を実行する前に一度全体をコミットしておく癖をつけておくと、上記のような悲劇に見舞われずに済むとおもいます。
登録済みのファイルはSubversionの管理下に置かれます。
そのため、普通に名前の変更をしてもSubversionの管理上は名前の変更をした事になりません。
名前の変更をしたいファイル・フォルダを1つ選択後、右クリック→[TortoiseSVN]→[名前を変更(N)]を押します。
出てくるウインドウに変更したい名前を入力して[OK]ボタンを押します。
フォルダの場合はこのように古いフォルダ名に削除マークと、新しいフォルダ名に追加マークが見えます。
ファイルの場合はただ単純に変更後のファイル名に追加マークが付きます。
こういう見てくれでも、ただ単純に削除・追加をしたわけではなくちゃんと内部ではリネームしたという情報で記録されますのでご安心を。
この後は必ずコミットをする必要があります。
ファイルの内容を変更すると、Subversionは自動的に変更を検知し、赤いマークのついたアイコンが表示されます。
記録したいタイミングで適度にコミットをする必要があります。
コミットをする前はあくまでもリポジトリに保管する予約をしてるに過ぎませんので、ファイルやフォルダに何らかの変更を加えた後は必ずコミットする必要があります。
コミットをしたいファイル・フォルダを選択後、右クリック→[SVN 更新]を押します。
ウインドウが表示されますのでコミット内容を確認後、メッセージにどんな変更をしたかのメモを書いてから[OK]ボタンを押します。
ファイルを誤って削除してしまったので記録した内容から復元したい場合や、他の人が記録した内容を自分の作業フォルダに反映させたい場合に更新を行います。
更新をしたいファイル・フォルダを選択後、右クリック→[SVN 更新]を押します。
CVSの管理下におかれたフォルダには必ず「.svn」という管理情報が入っているフォルダが作成されます。
ソースコード公開等で管理下のファイル・フォルダをコピーする際に、この管理フォルダが逆に邪魔になる事でしょう。
コピー後に手で一つ一つ消すのでも良いのですが、コピーしたいファイル・フォルダを選択後、右クリック→[TortoiseSVN]→[エクスポート]を押すと、管理情報のない状態でコピーを行う事が出来ます。
Subversionのリポジトリ内の仮想フォルダ構成は、普通に表示をしても見る事が出来ません。
見るにはデスクトップを右クリック→[TortoiseSVN]→[リポジトリブラウザ]を押します。
ウインドウが表示されますので、URLにポジトリのフォルダを登録します。
これはプルダウンメニューで選べるはずです。表記的には「file:///D:/repo」という感じになります 最後に[OK]ボタンを押します。
作業用フォルダ構成はこのような状態になります。
このフォルダ構成では「D:\proj」が作業用フォルダのルートにしています。
#ref(): File not found: "作業用フォルダ構成.jpg" at page "Subversion/Windowsで使う(TortoiseSVN)"
使っているうちに、オーバーレイアイコンの表示がおかしくなる現象が起きます(Windows2000の場合は特に頻繁に起こります)
これはアイコン表示をコロコロと変更するようなソフトの宿命で以下のコマンドで修正されます。
TortoiseProc.exe /command:rebuildiconcache
もしくはアイコンの修復をしてくれるソフトを入れておいても良いでしょう。
私は以下のソフトを使っています。
設定を変更します
repoからrepo2に内容を移す場合のコマンド
svnadmin dump D:\svn\repo > d:\repo.dump
svnadmin load D:\svn\repo2 < d:\repo.dump
別ページにまとめてあります。