スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
タグ :

今日の活動:subversionをWebから使う

 2008-12-20

今日は、SubversionをWebから使用できるようにします。

# yum install viewvc
# yum install viewvc-httpd

インストールが終わったら設定を変更だけど、あとはこちらと同じです。
バージョン管理システム構築(Subversion)- Fedoraで自宅サーバー構築

そしてhttp://サーバー名/viewvcにアクセスすると以下のよう画面になります。
ps_081220_046 
さらにsvnをクリックすると編集したファイルがあります。色々いじったのでリビジョンが16になっています。
リビジョンは簡単に言えば小規模のバージョンのことです。たぶん。
ps_081220_047 
さらに新規テキストファイルを開くと、今までのリビジョンが見られます。
ps_081220_048
これは便利ですね。downloadもできますし、前のバージョンと比較できます。
たとえばDiff to previous 15をクリックします。
ps_081220_049 
色つきでリビジョン16と15を比較しています。分かりやすいですね。(文字化けなのはテキストはshift-jis、メニュー項目はutf8のためです。utf8に統一しないとだめですかね・・・)
また比較するリビジョンを選ぶこともできます。
最初に比較したいリビジョンの[select for diffs]をクリックします。すると[selected]になり選択したになります。
ps_081220_050
この状態になるとselected 14と項目が現れます。これで好きなりビジョンを比較できます。
ps_081220_051
名前から分かりますが、見るだけであって、変更できないです。

スポンサーサイト
タグ :

今日の活動:Subversionを使う

 2008-12-19

前日の続きです。今日は主に画像を使って説明です。

まず、クライアントPCからアクセスして操作をするためTortoiseSVNをインストールします。
いろいろありますが

 ・32 Bit     TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi     Installer
 ・17Japanese

の2つをDLしてインストールします。後者は日本語にするためのパッケージです。

インストールは割愛しますが、本体からインストールしてください。

インストールが終わったら適当にフォルダを作成してください。  
ps_081218_020
そしてフォルダの中で右クリックをすると、SVNチェックアウト項目がありますのでクリックします。
これで、サーバーとフォルダの関係を結ぶ設定をします。
ps_081218_022 
リポジトリのURLに、設定したURLを入力してOKをクリックします。
ps_081218_023
そして次に新しいファイルを作成します。ここは適当に新規テキストファイルにしています。
ps_081218_024 
そしてこの状態で右クリックしてSVNコミットを選択します。
ps_081218_025
ファイルにチェックをつけてOKをクリックします。
ps_081218_026
するとサーバーにアクセスして、ファイルをアップロードします。
どうやらコミットでサーバーへファイルをアップロードするみたいです。

以上で1人で操作する分には問題ないですが、Subversionは複数人でファイルを共有することに意味があります。
そこで追加でtestというフォルダを作成して、チェックアウトします。
こうすることでPCは同じですが、「test_svn」「test」の各フォルダは別人が使っていると同じ事になります。
この状態で、test_svnのフォルダにあるファイルは

 

test
お金ですよ。
それはなんと!


 

とします。testフォルダは

test
お金ですよ。
ふむふむ


として、1行目のtestは共通にし、2行目は「お金ですよ。」まで共通にし、test_svnにだけ3行目をもうけます。
適当な文章なのは気にしないで下さい。けっして深い意味はありません。
ps_081218_028
ちなみにファイルを更新すると!マークがつきます。コミットするとチェックマークになります。
それでまずはtest_svnだけコミットします。
ps_081218_029
無事にできました。
次にtestをコミットします。
ps_081218_030
するとエラーが出ます。そしてupdateを実行してくださいと言うので、やってみます。
ここで言うupdateは更新のことです。なぜかここで英語を使っています。
ps_081218_031
競合があります。といわれ、以下のような状況になります。
ps_081218_032
新規テキストファイルが黄色びっくりになり、3つのファイルが作成されます。
この状態ではコミットできないので、競合を手作業で解消します。
1つのファイルを分散環境で共有すると、ロックという概念がありますが、Subversionはロックの概念を使わず
競合を手作業で解消する理念を持っています。これはロックすると他の人が使えないのは時間の無駄としています。
その時間があったらとっとと更新して、違うところだけ後で解消してくださいというわけです。
なるほどとは思いましたが、テキストファイルオンリーですね。あ、でもやる気になればテキスト以外でもできるようになるかな?

とまぁさておき、今回の競合を解消します。右クリックでTortoiseSVN項目を選び競合の解消を選びます。
ps_081218_033 
すると競合の解消すべきファイル名が出ます。これをダブルクリックします。
ps_081218_044
すると競合を解消するためのマージ作業になります。
右と左に競合したファイルの中身が表示されます。下に表示されているのが、マージした結果です。
ps_081218_034
ps_081218_035
見れば分かりますが、共通しているtestだけ背景色が白色です。他はオレンジ、赤色に赤色になります。
これには意味があります。共通は白色、オレンジは削除、赤色は競合になります。あくまで初期設定なので、変更できます。以下に初期設定の配色を示しておきます。
ps_081218_045 
ps_081218_036
次に実際のマージ作業ですが、今回は2行目は「お金ですよ。ふむふむ」として
3行目は「それはなんと!」にするとします。
その場合は、「お金ですよ。ふむふむ」がある行を選び、右クリックします。そしてこのテキストブロックを利用を選びます。
ps_081218_037
するとマージ後の欄に「お金ですよ。ふむふむ」が緑色で現れます。この緑色が競合解消を表します。
ps_081218_038 
次に同じように「それはなんと!」を選びます。これで終了です。終わったら保存してマージ作業は終了です。
今回は、クリックで終わらせましたが、マージ欄で打ち込んで修正できます。
ps_081218_039
マージが終わると終了!と出ます。

ps_081218_040
勝手にコミットされるわけでもなく、ここでコミットして終了になります。
ps_081218_041

ps_081218_042
ちゃんとコミットできました。

行単位の差は出ましたが、行の中でも差分は出なかったのは残念です。
大抵は行で事足りますけどね。
タグ :

今日の活動:subversionを導入する。

 2008-12-18
同じソースコードがいくつかのサーバーにそれぞれあって、
微妙に各サーバーで変更されています。

そのため、改良された一番良いソースコードを使いたいのですが、記憶力がないために
あれ?どこだっけ?
となって、探すのも大変なので、修正をまた繰り返すことがありました。

そこでバージョン管理ソフトの導入です!

と言うことで、有名なCVSを考えましたが、少し調べてみると欠点があることがわかりました。
Concurrent Versions System - Wikipedia
そして調べるとSubversionが良さそうなので、導入することにしました。
Concurrent Versions System - Wikipedia

Linuxのディストリビューションはfedora10を使用していますが、
インストール時に開発にチェックをつけていたせいか、すでにsubversionはインストールされていました。
ただ、subversionをhttpアクセスで行うことができるみたいです。
そのためにはApacheがインストールされている必要があります。
これはすでにインストールされているので、割愛します。
そしてApahceモジュールのmod_dav_svnが必要になります。
これはインストールされていないので、yumでインストールできないか「mod_dav_svn」で検索する

yum search mod_dav_svn


============================= Matched: mod_dav_svn =============================
mod_dav_svn.i386 : Apache server module for Subversion server


あったので、インストール

yum install mod_dav_svn


そして/etc/httpd/conf.d/にあるsubverison.confを開き
行末に以下を追加します。


DAV svn
SVNPath /var/svn/repos
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user


そして
管理するファイルのディレクトリを作成して所有者をApacheにします。

mkdir /var/svn
svnadmin create /var/svn/repos
chown -R apache:apache /var/svn/repos/



次に、認証するユーザを追加します。

htpasswd -c /etc/httpd/conf/.htpasswd lab


パスワードを2回入力します。

次にApacheの設定を反映するために、設定をチェックして再リロードします。

/etc/rc.d/init.d/httpd configtest
Syntax OK
/etc/rc.d/init.d/httpd reload


これで
http://IP Address/repo
にアクセスすれば、ユーザIDとパスワードを聞かれますので入力してログインすると

repo - Revision 0: /


と表示されれば成功です。

今回はここまで。

■参考
バージョン管理システム構築(Subversion) - Fedoraで自宅サーバー構築
subversion ― takanory.net
SubversionをApacheから使う - satake7’s memo
タグ :

【書評】プログラムはなぜ動くのか

 2008-12-06
プログラムを学習するために読む入門本は、変数、構文(if,for,whileなど)、関数、配列、ポインタ、構造体、ファイルの入出力などを学習して、どうやって動いているか?を解説している本はあまりありません。あっても全体が分かりません。
それをハードウェアからOS、プログラムと全体を解説してくれます。

自分としては、大学で学習したつぎはぎの知識がまとまって全体が分かったので、とても面白く読めました。
OS、DLLの解説と、8章のソース・ファイルから実行可能ファイルができるまで、がよかったです。


想定対象:プログラム入門本でプログラムを書いたことがあるけどどうやって動いているか知らない人

プログラムはなぜ動くのか 第2版 知っておきたいプログラミングの基礎知識プログラムはなぜ動くのか 第2版 知っておきたいプログラミングの基礎知識
(2007/03/29)
矢沢 久雄

商品詳細を見る
タグ :
≪ トップページへこのページの先頭へ  ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。