| ホーム > 技術情報 > Subversionの基礎練習 | 検索 | 更新情報 |
|
|
|
バージョン管理ツールSubversionの基礎練習です。 Windows XPのコマンドプロンプトでSubversionの基本的なコマンドを動かしていきます。 Subversionを学び始めるきっかけにどうぞ。
Windows XPのコマンドプロンプトで、 バージョン管理ツールSubversionの基本的なコマンドを動かしてみましょう。
この文書の通りに実行すると、 基本的なSubversionのコマンドをひととおり試すことができます(できるはずです)。
バージョン管理というものやSubversionについての解説は省き、 オペレーションだけを示します。
Subversion (subversion.tigris.org)の Downloadsのページから、 Windows NT, 2000, XP and 2003 を探し、そこに書いてある文章、
The latest command-line binaries and libraries for Windows can be found in this directory of the file-sharing area.
の this directoryというリンクをたどります。 ファイルの一覧が出るので、新しいものを選んでダウンロードします。
結城が以下で使ったファイルは、 svn-1.1.3-setup.exe です。
ダウンロードしたファイルを動かすとインストールが始まります。 インストール先はデフォルトのまま、 C:\Program Files\Subversion としました。
リポジトリ用のディレクトリC:\home\reposを作ります。
C:\> mkdir C:\home C:\> mkdir C:\home\repos
はじめにリポジトリを初期化します。 この初期化は、そのリポジトリを使う最初だけ行います。
C:\> svnadmin create C:\home\repos
新しいモジュールをリポジトリにインポートします。
まずは作業場所を整え、readme.txtというファイルを作ります。
C:\> mkdir work C:\> cd work C:\work> mkdir myproject C:\work> cd myproject C:\work\myproject> echo This is readme file. > readme.txt ※readme.txtを作った C:\work\myproject> type readme.txt ※内容の確認 This is readme file.
インポートするリポジトリは、file:///C:/home/repos/myprojectのようにURLで指定することに注意しましょう。
C:\work\myproject> svn import file:///C:/home/repos/myproject -m "Initial import."
Adding readme.txt
Committed revision 1.
C:\work\myproject> cd .. C:\work> del myproject C:\work\myproject\*、よろしいですか (Y/N)? y C:\work> rmdir myproject
ここまでで、myprojectディレクトリの内容はなくなりましたが、 リポジトリにはmyprojectというモジュールがすでに登録されています。
C:\work> svn checkout file:///C:/home/repos/myproject myproject A myproject\readme.txt Checked out revision 1. C:\work> cd myproject C:\work\myproject> dir /b readme.txt C:\work\myproject> type readme.txt This is readme file.
確かにreadme.txtが取り出せています。
実は、ここには管理用のディレクトリ .svn も隠し属性付きで作られています。
C:\work\myproject> dir /b/a ※/aオプションで全部見る
.svn ※管理用のディレクトリ
readme.txt
readme.txtファイルに一行追加してから、 リポジトリとの差分を確認してみましょう。
C:\work\myproject> echo Nice to meet you. >> readme.txt C:\work\myproject> type readme.txt This is readme file. Nice to meet you. C:\work\myproject> svn diff ※差分を見てみよう Index: readme.txt =================================================================== --- readme.txt (revision 1) +++ readme.txt (working copy) @@ -1 +1,2 @@ This is readme file. +Nice to meet you
作業コピーに加えた修正は、コミットしてはじめてリポジトリに反映されます。
コミットするときには、-mオプションで修正内容を書きます。
C:\work\myproject> svn commit -m "Add a greeting."
Sending readme.txt
Transmitting file data .
Committed revision 2.
C:\work\myproject> svn update
At revision 2.
C:\work\myproject> echo Hello. > hello.txt C:\work\myproject> type hello.txt Hello.
C:\work\myproject> svn add hello.txt
A hello.txt
C:\work\myproject> svn commit -m "Add hello.txt."
Adding hello.txt
Transmitting file data .
Committed revision 3.
新しいディレクトリもファイルと同じように追加します。
C:\work\myproject> mkdir src C:\work\myproject> svn add src A src
C:\work\myproject> cd src C:\work\myproject\src> ※ここで、エディタを使ってGood.javaを作成する C:\work\myproject\src> type Good.java public class Good { public static void main(String[] args) { System.out.println("Good"); } } C:\work\myproject\src> svn add Good.java A Good.java C:\work\myproject\src> svn commit -m "Add a Java source file." Adding src Adding src\Good.java Transmitting file data . Committed revision 4. C:\work\myproject\src> cd ..
C:\work\myproject> svn update At revision 4. C:\work\myproject> cd src C:\work\myproject\src> ※ここで、エディタを使ってGood.javaを編集する C:\work\myproject\src> type Good.java public class Good { public static void main(String[] args) { System.out.println("Good!!"); } } C:\work\myproject\src> svn diff ※差分を見てみよう Index: Good.java =================================================================== --- Good.java (revision 4) +++ Good.java (working copy) @@ -1,5 +1,5 @@ public class Good { public static void main(String[] args) { - System.out.println("Good"); + System.out.println("Good!!"); } } C:\work\myproject\src> svn commit -m "Add exclamations." Sending src\Good.java Transmitting file data . Committed revision 5. C:\work\myproject\src> cd ..
Subversionの基礎練習は以上です。 お疲れさま。
誤:
svn import file:///C:/home/repos -m "Initial import."
svn checkout file:///C:/home/repos myproject
正:
svn import file:///C:/home/repos/myproject -m "Initial import."
svn checkout file:///C:/home/repos/myproject myproject
あなたのご意見・感想をお送りください。 あなたの一言が大きなはげみとなりますので、どんなことでもどうぞ。