小山博史のJavaを楽しむ(13)Subversionならできる!
NetBook最強バックアップ術
株式会社ガリレオ
小山博史
2009/12/25
■ Subversionのクライアントには「TortoiseSVN」を使う
NetBookにインストールするSubversionクライアントにはいくつか種類があります。Windowsでは、TortoiseSVNやCygwinに付属のsvnコマンドをインストールすると、Subversionリポジトリへアクセスできます。Mac OS Xでは、svnコマンドが端末から使えるので、それを使います。WindowsでもMac OS Xでも、EclipseとSubversion用プラグインをインストールして使うという方法もあります。
本稿では、WindowsでTortoiseSVNを使ってみます。ほかのものも使い方の基本は同じです。TortoiseSVNは、WindowsのエクスプローラからSubversionリポジトリへアクセスできるようになるので便利なのですが、それが逆に「使いにくい」と感じる人もいると思います。そういった場合は、svnコマンドをコンソールで実行するなり、「Subversive」などのEclipseプラグインを使うなりしてください。
□ TortoiseSVN 1.6のインストール
TortoiseSVNのインストールは簡単です。下記の手順でファイルをダウンロードしてインストールするだけです。64bits版もあるので必要に応じて選んでください。ここでは32bits版を使っています。インストールの途中でライセンス情報が出たら、[I agree(略)]の方をチェックして[OK]をクリックしてください。
- TortoiseSVN のプロジェクトページからダウンロードサイトを開く
- インストーラをダウンロード(今回は、TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi)
- 日本語パック(「Language packs」から「Japanese」にある「setup」をクリック)をダウンロード(今回は、LanguagePack_1.6.6.17493-win32-ja.msi)
- TortoiseSVNインストーラ(TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi)をダブルクリックして実行
- TortoiseSVN日本語パックインストーラ(LanguagePack_1.6.6.17493-win32-ja.msi)をダブルクリックして実行
■ Subversionでファイルの同期をやってみよう!
□ Subversionリポジトリと同期するフォルダを作成
インストールできたら、早速「マイ ドキュメント」へSubversionリポジトリと同期するフォルダを置いてみましょう。Subversionリポジトリと同期するフォルダを作成するには、Subversionリポジトリをチェックアウトします。
- エクスプローラで「マイ ドキュメント」を開いて、マウスを右クリックして、メニューを表示
- [SVNチェックアウト]をクリック
- [リポジトリのURL]に「http://192.168.0.100/repos/workspace」を指定し、ほかはそのままにして[OK]をクリック
- [認証]ダイアログが表示されるので[ユーザー名]に「user001」、[パスワード]にパスワードを指定し、[OK]をクリック
- 「完了 リビジョン: 1」が表示されていれば、チェックアウト成功しているので、[OK]をクリック
チェックアウトができない場合は、「認証情報が間違っていないか」「http://192.168.0.100/へアクセスできる環境になっているか」などを調べて対処します。
チェックアウトが成功すると、「マイ ドキュメント」に「workspace」フォルダが出来上がっていることがエクスプローラで分かるはずです。「workspace」フォルダ内には、Subversionリポジトリへコミットした「hello.txt」が入っています。このフォルダ内にあるファイルは、CentOS上のSubversionリポジトリと同期が取れるようになるので、「複数のマシンで同期を取りたいファイルは、このフォルダへ、とにかく入れていけばいい」ことになります。
□ ファイルの追加
次に、ファイルを追加してみましょう。「workspace」内に「windows.txt」というテキストファイルを新規作成します。ファイルの中には「windows」と入れておきましょう。「?」マークがファイルに付きます。すぐに付かない場合もありますが、しばらくたつと「?」マークが表示されます。TortoiseSVNでは、このように追加されたファイルやフォルダ、変更があったファイルやフォルダがあることが簡単に分かるようになっています。
このファイルをSubversionリポジトリへコミットします。コミットをする前には、必ず[SVN更新]をするようにしましょう。こうすることで、別のパソコンで同じファイルを追加して忘れていた場合、誤って上書きしてしまうという失敗を防ぐことができます。以下の手順で行います。
- エクスプローラで「マイ ドキュメント」を表示
- 「workspace」をマウス右ボタンでクリックし、[SVN更新]
- 「workspace」をマウス右ボタンでクリックし、[SVNコミット]
- [メッセージ]に「windows.txt追加」と入力、[変更した項目]で「windows.txt」にチェック
- [OK]をクリック
- 「完了 リビジョン:2」と表示されれば、Subversionリポジトリへのコミット成功
□ ファイルの更新
では、ファイルを更新したいときはどうすればいいのでしょうか。試してみるために、「workspace」内のhello.txtを編集して、「windows」という文字列を追加して保存します。「!」マークがファイルに付きます。この編集結果を、Subversionリポジトリへコミットします。ちなみに、このときにworkspaceを表示させると、「!」マークがworkspaceフォルダにも付いているはずです。
- エクスプローラで「マイ ドキュメント」を表示
- 「workspace」をマウス右ボタンでクリックし、[SVN更新]
- 「workspace」をマウス右ボタンでクリックし、[SVNコミット]
- [メッセージ]に「hello.txt変更」と入力、[変更した項目]で「hello.txt」にチェックが付いていることを確認
- [OK]をクリック
- 「完了 リビジョン:3」と表示されればSubversionリポジトリへのコミット成功
□ ファイルの削除
次にファイルを削除したい場合は、どのようにSubversionリポジトリと同期をすればいいかを試してみましょう。workspace内のwindows.txtをエクスプローラで削除します。「!」マークがworkspaceフォルダに付きます。もし間違えて削除してしまった場合は、ここで[SVN更新]をすると、Subversionリポジトリからファイルを復活できます。削除を確定して、Subversionリポジトリへ反映するには、次のようにします。
- エクスプローラで「マイ ドキュメント」を表示
- 「workspace」をマウス右ボタンでクリックし、[SVNコミット]
- [メッセージ]に「windows.txt削除」と入力、[変更した項目]で「windows.txt」にチェックが付いていることを確認
- [OK]をクリック
- 「完了 リビジョン:4」と表示されれば、Subversionリポジトリへのコミット成功
□ ファイルの“競合”が起きた場合は?
最後に、“競合”について説明しておきます。別のパソコンで変更したファイルをSubversionリポジトリへコミットしてあるのを忘れていて、手元のパソコンで同じファイルへ編集して[SVN更新]をすると、“競合”が起きます。次のようにすれば、競合を故意に発生できるので、試してみましょう。
- CentOS上で下記のように編集し、これをSubversionリポジトリへコミット(別のパソコンでファイルを変更し、Subversionリポジトリへコミットした状態)
# cd workspace # echo "hello centos" > hello.txt # svn commit -m "hello centos" - Windowsマシン上で、[SVN更新]をせずにhello.txtを編集して、「競合」という文字を追加(WindowsマシンにはCentOSで変更した内容が、この時点では反映されていない状態)
hello windows 競合 - Windowsマシン上のエクスプローラで「マイ ドキュメント」を表示
- 「workspace」をマウス右ボタンでクリックし、[SVN更新]
- 競合が発生したというメッセージが表示されるので確認し、[OK]をクリック
競合が発生したときは、Windowsマシン上のhello.txtは次のようになって、Subversionリポジトリにあるファイルとの差分が分かります。
<<<<<<< .mine
hello
windows
競合
=======
hello centos
>>>>>>> .r5
自分が編集したものはhello.txt.mineという名前で残っています。これに加えて、前後のリビジョンのファイルが「ファイル名.リビジョン番号」という名前で作成されます。hello.txt.r3は自分が編集を加えたファイル、hello.txt.r5は現在Subversionリポジトリに登録されているファイルになります。
これらの情報から、Subversionリポジトリに残したいファイルを手作業で作成してコミットしなおします。今回は、下記のように修正して、[SVNコミット]をしました。
hello centos
windows
競合
以上、Subversionクライアントの使い方について説明をしました。
■ 年末など時間が空いたときに試してみよう
筆者は、現在はSubversionリポジトリ専用の仮想マシンを用意して、時々、この仮想マシンのバックアップ取っています。デスクトップマシンとNetBookマシンとのデータ同期も、この仮想マシンを用意するようになってからは、簡単になりました。とはいえ、出掛ける直前までデスクトップマシンで作業していて、NetBookマシンへデータ同期ができないこともあります。そういったときは、USBメモリなどへファイルをコピーして持ち出します。そうすると、たまにはどのファイルが最新なのか分からないことがあります。
ただ、バージョン管理システムのおかげで、間違えてファイルを古いデータで上書きしてしまってデータを消失させてしまう心配はなくなりました。ファイルを上書きする前にリポジトリへ入れてから、上書きをすればいいだけだからです。なお、たくさんのファイルを登録すると、Subversion全体の動作が遅くなってきます。こういった問題は、年に1度ぐらいのペースで新しいリポジトリを追加していくなどの工夫で解決できるはずです。
データ同期にせよ、バックアップにせよ、いま使っているマシンの構成や、作業内容とタイミングといった要素によってベストの選択は変わってくるでしょうが、適材適所でツールやメソッドを選択して効率良く作業をしたいものです。年末も近づいてきていることですし、皆さんも、これを機会にデータ同期やバックアップについて見直してみたらいかがでしょうか。
□ @IT関連リンク
| Netbookにも広まるAndroidで、かつてないWeb体験を Androidで動く携帯Javaアプリ作成入門(9) WebKitを搭載しているAndroidでは、アプリの一部としてHTMLを表示でき、JavaScriptとアプリを連動させることも可能です 「Java Solution」フォーラム 2009/9/3 |
| 検証:ネットブック+Windows 7 Starter Windows 7新時代(3) シェアを伸ばしているネットブック。一部機能に制限があるWindows 7 Starterが採用される予定だ。この制限はどのような影響があるのか検証する 「Windows Server Insider」フォーラム 2009/10/8 |
| ネットブックで動くLinuxディストリ大全(前編) 低スペックPCでさくさく快適環境 軽量Linuxディストリビューションならば、小型で廉価な「ネットブック」上で軽快に動作します。手元のマシンで試してみませんか? 「Linux Square」フォーラム 2009/1/26 |
| ネットブックで動くLinuxディストリ大全(後編) ネットブック専用にサーバ用、よりどりみどり ご存じでしたか? ネットブック向けに無線LANなどのドライバを用意するなど、個性派の軽量Linuxディストリを一挙に紹介 「Linux Square」フォーラム 2009/2/25 |
EeePCで始めるLinux
入学や入社を機に初めてLinuxに向き合う方に向け、UMPC上でLinuxを利用するのに必要な基礎知識を紹介します
- 第1回 これだけは知っておきたい! 必須コマンド20(前編)
- 第2回 これだけは知っておきたい! 必須コマンド20(後編)
- 第3回 Easy Peasyをインストールしてみよう
- 第4回 ネットワークに接続してみよう
- 最終回 音楽や動画を楽しむ〜DVDメディアの再生
| 業務用途で本当に“使える”モバイル端末はどれだ? 新時代の業務用モバイルRIAを考える(1) iPhoneやAndroid、ネットブックの登場で盛り上がるモバイル業界。しかし業務での利用には“紛失”や操作性などの問題がある 「Security&Trust」フォーラム 2009/2/26 |
| どう対策すべき? “モバイル”のセキュリティ セキュリティベンダに聞きました スマートフォンにネットブック、UMPCにUSBメモリ……モバイルデバイスのセキュリティ対策、いったい何から始めればよいのでしょうか? 「Security&Trust」フォーラム 2009/2/18 |
| 第152話 ノートPC選択のポイント 4コマまんが「がんばれ!アドミンくん」 高価なハイスペック・ノートから低価格ネットブックPCまで。10万円7万円5万円運命の分かれ道。さあ、あなたはどの道をいくのか?! 「Windows Server Insider」フォーラム 2008/12/9 |
| 筆者プロフィール |
| 小山博史(こやま ひろし) 情報家電、コンピュータと教育の研究に従事する傍ら、オープンソースソフトウェア、Java技術の普及のための活動を行っている。長野県の地域コミュニティである、SSS(G)やbugs(J)の活動へも参加している。 著書に「基礎Java」(インプレス)、共著に「Javaコレクションフレームワーク」(ソフトバンククリエイティブ)、そのほかに雑誌執筆多数。 |
| 1-2-3-4-5 |
| INDEX | ||
| 第13回 Subversionならできる! NetBook最強バックアップ術 | ||
| Page1 NetBookでのバックアップに困っていませんか? NetBookの利点・欠点 NetBookのあんな用途・こんな用途 |
||
| Page2 データの同期といっても方法はイロイロ Subversion+Linux+仮想マシン=最強バックアップ |
||
| Page3 NetBook最強バックアップのための環境構築の手順 仮想化ソフト「VirtualBox 3.1.2」のインストール 仮想マシンの作成 |
||
| Page4 仮想マシンにCentOSをインストール CentOSでのSubversionの設定 |
||
| Page5 Subversionのクライアントには「TortoiseSVN」を使う Subversionでファイルの同期をやってみよう! 年末など時間が空いたときに試してみよう |
||
小山博史のJavaを楽しむ バックナンバー 連載インデックスへ»
- 第1回 JavaとJavaScriptの親しい関係
- 第2回 いろいろなJavaを楽しむ
- 第3回 待望のJava SE 6 でパーシステンス
- 第4回 (Java+Derby)* Ruby on Rails プログラミング
- 第5回 【新人研修向け特別企画】JavaでPHPを使ってみた
- 第6回 JavaFXでJava RIA開発はどれくらい変わるの?
- 第7回 そろそろブログ+RSSアプリでも作ってみませんか?
- 第8回 デスクトップをJava製ウィジェットでにぎやかに
- 第9回 Google Android用携帯アプリ作成のための基礎知識
- 第10回 【新人なるプログラマーへ】ソースコードを読みましょう
- 第11回 Javaはクラウドのプラットフォームになり得るのか
- 第12回 「Javaは遅い」から「Javaは楽しい」に至る歴史
- 第13回 Subversionならできる! NetBook最強バックアップ術
- 第14回 UNIX/Linuxも楽しむJava開発者になるための学習法
- 第15回 年末でJetty(絶対)にできるAndroid携帯サーバ活用
| ご意見、ご感想はJava Solution 会議室へどうぞ |
| Java Solutionコラム一覧 |
TechTargetジャパン
- Scalaのパッケージ、アクセス修飾子、オブジェクト継承 (2012/5/22)
インポート、パッケージオブジェクト、抽象クラス/抽象メソッド、オーバーライド、final、シールドクラスなども - 基幹系システムでCloud SQLは使えるか試してみた (2012/5/17)
サンプルとしてMRPシステムを作成して動かし、「再帰呼び出し」などのパフォーマンスを測定して検証してみます - アジャイル管理ツール9選+Pivotal Tracker入門 (2012/5/14)
群雄割拠のアジャイルプロジェクト管理ツールを9つ紹介し、特に注目を集めているPivotal Trackerの基本的な使い方を解説します - サーバサイドJSやJavaでWebアプリが作れるXPages (2012/5/11)
Notes/Dominoの資産をサーバサイドJavaScriptやJavaで操作し、HTMLやJavaScript、CSSをUIにできる技術を紹介
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

