Subversionならできる! NetBook最強バックアップ術:小山博史のJavaを楽しむ(13)(5/5 ページ)
教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集部)
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更新]をすると、“競合”が起きます。次のようにすれば、競合を故意に発生できるので、試してみましょう。
1.CentOS上で下記のように編集し、これをSubversionリポジトリへコミット(別のパソコンでファイルを変更し、Subversionリポジトリへコミットした状態)
# cd workspace # echo "hello centos" > hello.txt # svn commit -m "hello centos"
2.Windowsマシン上で、[SVN更新]をせずにhello.txtを編集して、「競合」という文字を追加(WindowsマシンにはCentOSで変更した内容が、この時点では反映されていない状態)
hello windows 競合
3.Windowsマシン上のエクスプローラで「マイ ドキュメント」を表示
4.「workspace」をマウス右ボタンでクリックし、[SVN更新]
5.競合が発生したというメッセージが表示されるので確認し、[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メディアの再生
最終更新 2009/12/16
業務用途で本当に“使える”モバイル端末はどれだ?
新時代の業務用モバイル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
連載:RHEL+VMwareでTCO削減「仮想化」と「オープンソースソフトウェア」という注目の2つのトレンドを組み合わせ、システム運用コストを減らすため考え方を紹介
第1回 仮想化とOSSが運用コスト削減に効く理由
第2回 RHNサテライトを使ってパッチ配布を効率化
最終回 ポイントは? コストは? 事例に見る「ホントのところ」
最終更新 2009/7/28
筆者プロフィール
小山博史(こやま ひろし)
情報家電、コンピュータと教育の研究に従事する傍ら、オープンソースソフトウェア、Java技術の普及のための活動を行っている。長野県の地域コミュニティである、SSS(G)やbugs(J)の活動へも参加している。
著書に「基礎Java」(インプレス)、共著に「Javaコレクションフレームワーク」(ソフトバンククリエイティブ)、そのほかに雑誌執筆多数。
- ビルドツールGradleのインストールと使い方、Jenkins/Git連携
- JBoss Forgeでアジャイルな対話式開発をやってみた
- JavaとJavaScriptの良いとこ取り? 「Dart」超入門
- 年末でJetty(絶対)にできる Android携帯サーバ活用
- UNIX/Linuxも楽しむ Java開発者になるための学習法
- Subversionならできる! NetBook最強バックアップ術
- 「Javaは遅い」から「Javaは楽しい」に至る歴史
- Javaはクラウドのプラットフォームになり得るのか
- 【新人なるプログラマーへ】ソースコードを読みましょう
- Google Android用携帯アプリ作成のための基礎知識
- デスクトップをJava製ウィジェットでにぎやかに
- そろそろブログ+RSSアプリでも作ってみませんか?
- JavaFXでJava RIA開発はどれくらい変わるの?
- 【新人研修向け特別企画】JavaでPHPを使ってみた
- (Java+Derby)* Ruby on Rails プログラミング
- 待望のJava SE 6 でパーシステンス
- いろいろなJavaを使ってみよう
- JavaとJavaScriptの親しい関係
Copyright © ITmedia, Inc. All Rights Reserved.