越前藩国 Wiki

Subversion 導入の手引き

最終更新:

echizen

- view
だれでも歓迎! 編集

忙しい人向け説明

 「TortoiseSVNのインストール」と「チェックアウト」と「編集とコミット」だけ見ればいいよ!

Subversion とは


 Subversion は「バージョン管理システム」です。すごく大雑把に言うと「版(=バージョン)管理のできるファイルサーバ」と言えます。

 版管理とは、@wikiで言うところの「編集履歴」のようなものです。@wikiの各ページは何度も編集できますが、編集する度に時刻、編集内容、編集したユーザ名が記録されていきます。
 Subversionも同じで、インターネット上にあるサーバに原本を保存し、これに変更を登録していくことで、過去から現在までの編集履歴を保存することができます。過去の版を保存しているので、後から元の版に戻すのも簡単です。

 Subversion で扱うファイルはテキストファイルが基本ですが、GIFなどのバイナリファイルも保存する事ができます。


なぜSubversionを導入するのか?


 今後、Geocities.jp のページを更新する場合は、直接FTPでサーバにアップロードするのではなく、Subversion リポジトリ(=ファイルの格納領域のこと))を介して行います。

 越前藩国のホームページは、Geocities.jp と@Wikiの二つを組み合わせています。@wikiの方は誰でも編集できて便利ですが、JavaScriptなどの高度な技術は使えません。Geocities.jp はその点あまり制限ありませんが、こちらは版管理ができないし、更新できるのはサーバーのパスワードを知っている藩王と摂政だけです。このため、誰でも気軽に変更というわけにはいきません。
 また、Geocities.jp を変更できるのが藩王と摂政だけとはいえ、二人で触っているとデグレードが起きる可能性があります。(「デグレード」とは、AとBがある一つのページに編集を行い、Aがアップロード>Bがアップロードの順でやると、Aの編集内容が上書きされてしまうといった、バージョン更新時に起こる品質低下全般を指します) これも、Subversionリポジトリを介したアップロードに限定することで予防できるようになります。



TortoiseSVN(Subversionクライアント)の導入


 御託はこの辺にして、必要なソフトウェアをインストールしてもらいましょう。
 皆さんがSubversionを使う場合には、Subversion のクライアントソフトが必要です。ここでは”TortoiseSVN"というソフトをインストールしてもらいます。

ダウンロードとインストール

 インストール手順はこちらのページを参考にしてください。(http://www.gside.org/Gentoo/subversion/subversion_client.html
 インストールは、ソフトウェア本体と日本語パックの両方が必要です。

操作説明


チェックアウト

 TortoiseSVNを使ってHTMの編集を行う場合、まず最初に「チェックアウト」を行う必要があります。つまり、リポジトリから原本を取り出し(=チェックアウト)、ローカルPCに保存するわけです。今後の編集はこのチェックアウトしたファイルに対して行います。

1)まず、Geocities.jpのHTMLをローカルに保存するフォルダを作ります。
2)1)で作ったフォルダのアイコンで右クリックしてコンテキストメニューを開き、”SVNチェックアウト”というメニューをクリックします。
「チェックアウト」ダイアログが開きます。
3)”リポジトリのURL”に "http://svn.echizen.wanwan-empire.net/svn/repos"と入力し、OKボタンを押します。
4)ユーザ名とパスワードを聞かれたら、黒埼から教えられた内容を入力し、OKボタンを押します。(「内容を保存する」チェックを付けたほうが便利です)
ダウンロードが始まります。全部終わるまでそのまま放置。(40Mbyteくらいあるかも)

 チェックアウトされたファイル・フォルダは、そのアイコンの右下に緑のマークがついていると思います。この緑マークは「リポジトリと内容に差異が無い」ことを表しています。

編集とコミット

 チェックアウトが終わったら、適当なHTMLファイルをエディタなどで変更して下さい。
 変更したファイルは、アイコンの右下に赤いマークが付きます。変更したファイルを含むフォルダも赤いマークが付き、これは一番上のフォルダまで連鎖します。

 編集を終えてGeocities.jpに反映させるためには、コミット(=リポジトリへの登録)を行います。

1)エクスプローラを開き、チェックアウトした作業フォルダの一番上位のフォルダのアイコンを表示させます。
2)1)で表示させたフォルダアイコン上で右クリック>”SVNコミット”メニューをクリックします。
「コミット」ダイアログが表示されます。

3)ダイアログ下半分に、変更されたファイルの一覧が表示されます。その内容で間違いないか確認します。

4)ダイアログ上半分はコメント欄です。コミットの際に変更内容の概要コメントを付記することができます。(簡単でもいいので、なるべく書きましょう)。

5)OKボタンを押すと、コミットが行われます。同時にGeocities.jpへのアップロードも行われます。


新規ファイルの追加

 新たなHTMLページを増やす場合は、「リポジトリへの追加」を行わなければなりません。追加のやり方は二通りありますが、ここではコミット時に追加を指定する方法を紹介します。

1)チェックアウトしたフォルダの任意の場所で、ファイルを新規作成します。
2)そのファイルを含むフォルダにコミット操作を行います。
3)「コミット」ダイアログの下半分のリストに、1)で新規作成したファイルが「管理外」としてリストに含まれているので、左端のチェックボックスをクリックしてチェックを入れます。(これでコミット時に追加するよう指定したことになります)
4)OKボタンを押して、コミットを実行します。


ファイルの削除


 ファイルの削除も、新規作成の時とあまり変わりません。

1)対象のファイルを実際に削除します。
2)削除したファイルを含むフォルダにコミット操作を行います。
3)コミットダイアログの下半分に、削除したファイルの名前が「紛失」として表示されます。左端のチェックボックスにチェックを入れれば、コミット時にリポジトリからの削除が行われます。


ファイル内容の復元


 ローカルで行った編集を、リポジトリの内容で復元する事も出来ます。

1)復元を行うファイルのアイコン上で右クリック>[TortoiseSVN...] - [元に戻す(V)]をクリック。
2)変更のあったファイルの一覧が出るので、復元したいファイルにチェックを付けて、OKボタンをクリック。

 これで元に戻せます。

フォルダ単位での再帰的な操作

 以上のコミット・追加・復元操作は、全てファイル一つでなく、フォルダに対しても行えます。フォルダに対して操作を行った場合、その中のファイル・フォルダ全てに対し、再帰的に同じ操作を行います。


チェックアウトファイルの更新


 あるAさんとBさんがHTML編集作業を行い、Aさんがコミットを行うと、BさんのローカルPC上のチェックアウトフォルダは、その内容が古くなってしまいます。
 リポジトリの最新内容と同期を行う場合には、コンテキストメニューから「SVN更新...」をクリックします。これでリポジトリに問い合わせを行い、変更差分ダケヲダウンロードしてくれます。


編集衝突の解決


 AさんのコミットしたファイルがBさんの作業中のファイルと別なら話は簡単なのですが、もしAさんとBさんで同じファイルを編集していた場合、どうなるでしょうか。
 Aさんがコミットした後で、Bさんも独自に編集した内容をコミットしようとすると、エラーメッセージが出て操作を弾かれます。この場合、先に「更新」が必要です。
 この状態で「更新」を行った場合、Bさんがローカルに行った変更とAさんのコミット内容が合成(マージ)されます。この合成がうまく整合取れていれば問題なし。しかし、AさんとBさんが全く同じ箇所を編集していた場合、編集内容の「衝突」が発生します。
 編集内容の衝突がある状態でBさんが更新すると、TortoiseSVNはAさんとBさんの変更内容を併記した形で、ファイルを変更します。また、この際に該当ファイルに「衝突」マークが付きます。衝突マークが付いている間、コミットはできません。こうなった場合、以下の順序で衝突を解決してあげないといけません。

1)ファイルを更新し、衝突内容を確認する。
2)衝突内容を吟味し、適切な修正を行う。
3)修正を行ったファイルに対し、コンテキストメニューから[TortoiseSVN...]-[衝突の解決]を選ぶ。
衝突マークが消えます
4)コミットします。

 衝突の解決が面倒で、自分の行った変更内容を捨てても良いのなら、更新後に「元に戻す」してしまった方が早いかもしれません。