Knoppix Math 2010 (仮想マシン版)で開発環境を整備

ここでは、「Knoppix Math 2010 (仮想マシン版)で開発環境を整備」 に関する記事を紹介しています。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Knoppix Math 2010にプログラムの開発環境を追加してみた。
「UNIXプログラミングの道具箱」を参考にしました。

VMware上にゲストOSとしてKnoppix Math 2010 を使用。
仮想マシン版すごくいい。とても手軽に使える。感謝。



さて、起動してみる。

CVSもSubversionも既に入っている模様。Subversionを使ってみる。



Subversionを使ってみた。
Ayako SUZUKI さんのところの Subversion のメモ がコンパクトで見やすかった。感謝。


まずはリポジトリを作って(svnadmin create)、プロジェクトファイルをインポート(svn import)。
以上が初期設定。

普段の開発時のサイクル的なもの:
  • svn checkout : チェックアウトし、リポジトリから自分用の作業コピーを得る。
  • 自分の作業コピーを編集。
  • svn update : 他人の変更点を自分の作業コピーにマージ
  • svn commit : 自分の作業コピーをコミット(リポジトリに書き戻す)
こんな感じらしい。当面はローカルで自分一人で開発するので、ややこしいことは起こらんだろう。

リポジトリの作成

knoppix@Microknoppix:~$ svnadmin create ~/svn_test_repos
knoppix@Microknoppix:~$ ll ~/svn_test_repos/
合計 24
-rw-r--r-- 1 knoppix knoppix  229 2010-08-15 23:48 README.txt
drwxr-xr-x 2 knoppix knoppix 4096 2010-08-15 23:48 conf
drwxr-sr-x 6 knoppix knoppix 4096 2010-08-15 23:48 db
-r--r--r-- 1 knoppix knoppix    2 2010-08-15 23:48 format
drwxr-xr-x 2 knoppix knoppix 4096 2010-08-15 23:48 hooks
drwxr-xr-x 2 knoppix knoppix 4096 2010-08-15 23:48 locks


プロジェクトのファイル群の用意

knoppix@Microknoppix:~$ ll /tmp/testproj/
合計 0
drwxr-xr-x 2 knoppix knoppix  40 2010-08-15 22:26 branches
drwxr-xr-x 2 knoppix knoppix  40 2010-08-15 22:26 tags
drwxr-xr-x 2 knoppix knoppix 100 2010-08-15 23:45 trunk

knoppix@Microknoppix:~$ ll /tmp/testproj/trunk/
合計 16
-rw-r--r-- 1 knoppix knoppix   36 2010-08-15 23:45 Makefile
-rw-r--r-- 1 knoppix knoppix   79 2010-08-15 22:27 foo.c
-rwxr-xr-x 1 knoppix knoppix 4501 2010-08-15 23:45 testproj

knoppix@Microknoppix:~$ cat /tmp/testproj/trunk/foo.c
#include <stdio.h>

int main()
{
    printf("hello world!!!112\n");
    return 0;
}

knoppix@Microknoppix:~$ cat /tmp/testproj/trunk/Makefile
testproj: foo.c
    $(CC) -o $@ foo.c


ファイル群のリポジトリへのインポート

knoppix@Microknoppix:~$ svn import /tmp/testproj/ file:///home/knoppix/svn_test_repos -m "initial import"
追加しています              /tmp/testproj/trunk
追加しています              /tmp/testproj/trunk/foo.c
追加しています  (バイナリ)  /tmp/testproj/trunk/testproj
追加しています              /tmp/testproj/trunk/Makefile
追加しています              /tmp/testproj/branches
追加しています              /tmp/testproj/tags

リビジョン 1 をコミットしました。


リポジトリから作業コピーをチェックアウト

knoppix@Microknoppix:~$ svn checkout file:///home/knoppix/svn_test_repos/trunk testproj
A    testproj/foo.c
A    testproj/testproj
A    testproj/Makefile
リビジョン 1 をチェックアウトしました。


作業コピーができていることの確認

knoppix@Microknoppix:~$ ll
合計 12
drwxr-xr-x 2 knoppix knoppix 4096 2010-03-11 14:22 Desktop
drwxr-xr-x 6 knoppix knoppix 4096 2010-08-15 23:48 svn_test_repos
drwxr-xr-x 3 knoppix knoppix 4096 2010-08-15 23:56 testproj
knoppix@Microknoppix:~$ ll testproj/
合計 16
-rw-r--r-- 1 knoppix knoppix   36 2010-08-15 23:56 Makefile
-rw-r--r-- 1 knoppix knoppix   79 2010-08-15 23:56 foo.c
-rwxr-xr-x 1 knoppix knoppix 4501 2010-08-15 23:56 testproj


作業コピーを編集してみる:

knoppix@Microknoppix:~/testproj$ emacs foo.c -nw

knoppix@Microknoppix:~/testproj$ cat foo.c
#include <stdio.h>

int main()
{
    printf("hello world!!!\n");
    printf("1064333 = 1031^2 + 1372\n");
    return 0;
}

knoppix@Microknoppix:~/testproj$ ll
合計 16
-rw-r--r-- 1 knoppix knoppix   36 2010-08-15 23:56 Makefile
-rw-r--r-- 1 knoppix knoppix  113 2010-08-16 00:00 foo.c
-rwxr-xr-x 1 knoppix knoppix 4501 2010-08-15 23:56 testproj


svn diff で差分を確認:

knoppix@Microknoppix:~/testproj$ svn diff
Index: foo.c
===================================================================
--- foo.c    (リビジョン 1)
+++ foo.c    (作業コピー)
@@ -2,7 +2,7 @@
 
 int main()
 {
-    printf("hello world!!!112\n");
+    printf("hello world!!!\n");
+    printf("1064333 = 1031^2 + 1372\n");
     return 0;
 }
-


svn update で、リポジトリの最新状態を作業コピーへ反映(今は他の誰もいじっていないので何も起こらない)

knoppix@Microknoppix:~/testproj$ svn update
リビジョン 1 です。


svn commit で、作業コピーの最新バージョンをリポジトリへ反映

knoppix@Microknoppix:~/testproj$ svn commit

急にsvn-commit.tmp というファイルがエディタで開かれたので面食らう。


-- この行以下は無視されます --

M    foo.c

と書いてある。何だこれ。コミット時に何かメッセージを残せるみたいだ。トラブったときはここにメモっとけばいい模様。保存してエディタを終了したら端末の表示が進んで、

knoppix@Microknoppix:~/testproj$ svn commit
送信しています              foo.c
ファイルのデータを送信しています .
リビジョン 2 をコミットしました。

となった。めでたし。



Emacs と Subversion の連携
「UNIXプログラミングの道具箱」にはEmacs PCL-CVS という、CVSとEmacs の連携の話が載っている(p.175--)。Subversionでもこれをやってみたい。

ググル先生に聞いてみると、
psvn.el ― Emacs フロントエンド
というところが見つかった。CVSにおけるPCL-CVSにあたるものらしい。ビンゴ。

psvn.el以外にも dsvn.el とか fsvn.el が見つかった。色々あるんだな。

面倒くさいことは嫌いなので、楽に始められるのがいいな。と思って見ていると、Emacs には最初からVC (バージョン管理ツールへのインターフェース)を持っているらしいと分かった:
第117回 UbuntuとEmacsでプログラミングをはじめよう(中編)
の記事の中に、その取っ掛かりの話が書いてある。感謝。VC のマニュアルは
32.1 Version Control
らしい。(Emacs version 23.2のマニュアル内)
日本語のは
12.7 VC(版管理、バージョンコントロール)
にあった。(GNU Emacs 20.6版のマニュアル内、ちょっと古いかな)








スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://tekitobibouroku.blog42.fc2.com/tb.php/243-a0399ae4
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。