忍者ブログ
SE稼業で見知った小ネタをまとめてみます。 サーバ・ヲタなので、主にそっち系のTipsを。
[19]  [18]  [16]  [15]  [14]  [13]  [12]  [11]  [10]  [9
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

 前提:
 サーバ⇒
  ホスト名 →hoge_server
  ユーザ    →hoge

   H/W →HP Integrity Series(Itanium2石)
   OS  →HP-UX11i Ver2.3
   svn →Subversion-1.3.2


 クライアント⇒
   H/W →Windows PC
   OS  →WindowsXP/SP2

   svn →TortoiseSVN 1.3.5
            Subclipse 1.1.5 (Eclipse 3.2 plugin)

  eclipse →Eclipse-3.2, CDT-3.1.1, preiades-1.0.1, jstyle-3.2.0
  cygwin →cygwin-1.5.21

  Subversionは
 ≪こちら≫
に書いているやり方で放り込めた。
(かなり苦労した‥‥‥)

 

はじめに:
 WindowsXP 上のEclipse CDT(+cygwin/MinGW)を使って、
 サーバサイドのC言語ソースを開発するにあたり、
 普通の使い方では差し障りが結構あった。
 ので、
 SubversionやEclipse を騙しダマシ使う方法を編み出してみる。

 

使い方:

1)リポジトリを作成
    サーバ側にリポジトリを作成する。
    (ここはフツーにすべし)

    % pwd
     /home/hoge/svnrepos
    % svnadmin create LIPOVITAN
    % cd LIPOVITAN/
    /homea/nzpf/svnrepos/LIPOVITAN
    % ls
    README.txt  conf/  dav/  db/  format  hooks/  locks/
    % cd conf
    /homea/nzpf/svnrepos/LIPOVITAN/conf
    % ls -l
    合計 4
    -rw-r--r-- 1 nzpf nz  684 2006-09-07 13:23 authz
    -rw-r--r-- 1 nzpf nz  309 2006-09-07 13:23 passwd
    -rw-r--r-- 1 nzpf nz 1457 2006-09-07 13:23 svnserve.conf
    %

    接続用アカウント情報を ‘svnserve.conf’ および‘passwd’に記録。
    やり方は 《こちら》
 を参照。

2)インポート
    リポジトリに、
    バージョン管理したいソース一式を突っ込む。

    % pwd
    /homea/nzpf/svnrepos/LIPOVITAN
    % svn mkdir
file://localhost/$PWD/UNIX-1.6.0 -m "made top directory"
    リビジョン 1 をコミットしました。
    %

    おぉぅ!
    日本語でメッセージがでるぜ。
    苦労してNLS対応した甲斐があるってもんだぜ。
    引き続き。。。

    % svn list file://localhost/$PWD
    UNIX-1.6.0/
    %
    % cd /home/hoge/src         # ソースの在り処
    % ls
    LIPOVITAN-sdk-1.6.0/
    % svn import $PWD/LIPOVITAN-sdk-1.6.0
file://localhost/home/hoge/svnrepos/LIPOVITAN/UNIX-1.6.0 -m "Initial Import"
    追加しています              /home/hoge/src/LIPOVITAN-sdk-1.6.0/Makefile.in
    追加しています              /home/hoge/src/LIPOVITAN-sdk-1.6.0/foo.c
    追加しています              /home/hoge/src/LIPOVITAN-sdk-1.6.0/foo.h
            ・                              ・
            ・                              ・
            ・                              ・
            ・                              ・
    追加しています              /home/hoge/src/LIPOVITAN-sdk-1.6.0/install-sh

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

3)単体テストレベル工程で、Eclipse を用いる
    単体テストまでは、
    Eclipse CDT を使う。

    CDTは、Solaris用はあるが、HP-UX用がない。
    仕方がないので、
    Windows 側に持って来よう。


3-1)作業セットの取り出し準備
    Eclipse の所在フォルダ → D:\eclipse
    ワークスペースの場所  → S:\workspace    (= D:\cygdrive\s\workspace)
    ‘S’ドライブの実体  → D:\cygdrive\s

    少し説明。
    ワークスペースの可搬性を高めるため、
    subst コマンドでドライブを作ってやるのは、皆さんご承知。
    その際、
    subst で作成するドライブに指定する実体フォルダは、「\cygdrive\ドライブ
    にしておくべし。
    そうすると、
    デバッガでソースのトレースが正しく行われる。
    ただし、
    ソースのルックアップパスに「D:\」 を追加してやる必要がある。

    そして、
    ワークスペースに“S:\workspace”  を指定してeclipse を起動。


3-2)C/C++ プロジェクトを作成
    まず、
    リポジトリと接続したプロジェクトを作る。

    メニューより、
    [ファイル]→[新規]→[プロジェクト...] を選択。
    「新規プロジェクト」ダイアログ内のツリーより、
    [SVN]→[SVNからプロジェクトをチェックアウト]を選択し、
    「次へ」ボタンをクリック。

    「SVNからチェックアウト」ダイアログにて、
      「新規リポジトリー・ロケーションを生成」をチェックし、「次へ」。
      ロケーションに
          “svn://hoge_server/home/hoge/svnrepos/LIPOVITAN”
      を入力し、「次へ」。
      接続認証用ユーザー名とパスワードの入力を促してくるので、
      リポジトリ作成時に‘passwd’ファイルに設定したアカウント情報を入力する。
      ついでに「パスワードを保存」にもチェックを入れとけ。
      (お勧めではないらしいが)
      フォルダの選択を促してくるので、リポジトリ直下の「UNIX-1.6.0」を選択し、「次へ」。
      チェックアウト方法を問い合わせてくるので、
      「新規プロジェクトウィザードを使ってプロジェクトとしてチェックアウト」にし、「終了」。

    「新規プロジェクト」ダイアログ内のツリーより、
      [C]→[スタンダードMake C プロジェクト]を選択し、「次へ」。
      プロジェクト名を入力して 「次へ」。
      『C/Makeプロジェクトの設定』にて、バイナリー・パーサーを調整。
       →PE Windowsパーサー、Cygwin PE パーサー、の二つを有効にすること。
      「終了」ボタンを押す。

    と。

    リポジトリとの同期化処理が行われ、
    プロジェクトの出来上がり。

    パースペクティヴがC/C++ 用に切り替わり、
    パッケージ・エクスプローラは、C/C++ プロジェクト・エクスプローラ(ビュー)に変わる。

  エクスプローラからチェックアウト後のフォルダを見てみると。

    
(レ)マークがフォルダに付いております。


3-3)Eclipse でのソースの取り扱いについて
    何も悩むことはない。
    フツーに使え。

    ただし、
    ソースのロックとコミットについては、チームで打ち合わせしとけ。
    でないと、喧嘩になるぞ。
    コミットは、
    単体テスト“完”までやるもんぢゃないぞ。

 

4)結合テスト以降、サーバ側でバージョン管理
    サーバサイドのものなので、
    結合はサーバ側で行う。
    が、
    これまでの経験上、
    サーバ側にソースを持ってくると、
    CUIのためか、
    バージョン管理しなくなってしまう。
    (更新しっぱなしで、コミットしない‥‥‥ (ーー;)  )
    ので、
    Windows GUI の‘TortoiseSVN’ でバージョン管理したい。

    ここで、
    編み出したのが以下の方法。
    (笑うなよ)


4-1)作業セットをチェックアウト
    まず、
    TELNET端末でhoge_serverにログインし、
    チェックアウトを実行する。

    % pwd
    /home/hoge/src
    % svn list svn://hoge_server/home/hoge/svnrepos/LIPOVITAN
    認証領域: <svn://hoge_server:3690> 6f4cb375-d51c-0410-a572-af31c84df79b
    'hoge' のパスワード: ******<CR>     ※‘******’はエコーされない
    UNIX-1.6.0/
    % svn checkout svn://hoge_server/home/hoge/svnrepos/LIPOVITAN/UNIX-1.6.0  $PWD

    A    /home/hoge/src/AUTHORS
    A    /home/hoge/src/COPYING
    A    /home/hoge/src/ChangeLog
                ・
                ・
                ・
    A    /home/hoge/src/zzz.h
    リビジョン 6 をチェックアウトしました。
    %


4-2)WindowsXPでネットワークドライブをマウント
    PC側に戻り。
    hoge_serverのhogeユーザのホームディレクトリを見えるようにする。
    なお、
    hoge_server では、Samba3が動いている。

    エクスプローラより、以下のフォルダをネットワークドライブに割り当てる。
        「
\\hoge_server\hoge 」

    パスワードを入力すると。。。
    ファイル一覧が開いた!

    今回は“N”ドライブを使用

    


4-3)ネットワークドライブ上でのTortoiseSVN の取り扱いについて
    ローカルだと、
    作業セット内のフォルダやファイルに
    (レ),(+),(!),(錠マーク)などが付くが、
    残念ながら、
    ネットワークドライブでは付かない。
    しかし、
    TortoiseSVN で操作できる。
    それは、
    サーバ側で作業セットをチェックアウトするときに
    svnプロトコルを用いたからである。
    かつ、
    URLのホスト名を“hoge_server”(localhostではない)、
  つまり、
  外向けのIPアドレスの設定されたホスト名にすべし。
    (‘凡庸’ < 賢い)

    であるから、
    あとは、
    フツーに使え。
    (ローカルに作業セットを置くよりも時間がかかるが、何かと。 でも、気にするな。)

以上である。

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
お見えになった方の数
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新CM
[08/30 godnowhere]
最新TB
プロフィール
HN:
godnowhere
性別:
男性
職業:
システム・エンジニア
趣味:
機械いぢり
analyzer
忍者ブログ [PR]