■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

CVSを使ってファイル管理

1 :名無しさん@お腹いっぱい。 :2001/08/10(金) 18:10

CVSを使ってファイル管理している人の質問スレ

801 :名無しさん@お腹いっぱい。 :02/12/20 11:42
>>800
デジャヴ?

802 :名無しさん@お腹いっぱい。 :02/12/21 04:50
今日突然 CVS 中の 1 ファイルが壊れてた。ファイルやディスクシステムの異常じゃ
なくてバージョン上の理由で矛盾が大量発生、CVS 経由で参照・更新不能、突如その
ソースだけコンパイルエラー出まくり。結局 telnet で入って該当ファイルリネーム
して、クライアントのファイルを乗せなおした (バックアップより新しかったので)。

自宅鯖で一人で使ってただけだから高負荷なんてはず無いのに、こんなこともある
んだな CVS。

803 :名無しさん@お腹いっぱい。 :02/12/21 04:52
>>802
FUDか? 具体的な状況説明がなにもないな。


804 :名無しさん@お腹いっぱい。 :02/12/21 04:59
きっと、cvs update したら

<<<<<<< foo
hoge
=======
fuga
>>>>>>> 1.2

こんなんなっちゃったんだよ。

805 :名無しさん@お腹いっぱい。 :02/12/21 05:39
> CVS 経由で参照・更新不能
っていいつつも、
> その ソースだけコンパイルエラー出まくり
ってどういう状況だったの?参照できない(ファイルが見られない)なら
そもそもccがコンパイルに入る以前にエラーを出すんじゃないかなあ。

いずれにせよ、ファイルが壊れたと思ったら、RCSのコマンドまで降りて
調べてみる価値があると思う。復活できるかもしれないし。

806 :名無しさん@お腹いっぱい。 :02/12/21 06:10
ごめん、CVS は本当に使ってるだけであまり詳しくないのよ。

1. 全ソースチェックアウトしたら突如 1 ファイルで大量のコンパイルエラー
2. なんだと思って別マシンでチェックアウトを試みたが「バージョンの?? (忘れた)」で出来なかった
3. やっべえと思って CVS パーティションに e2fsck を実行したが何も発見できず
4. 該当の ,v ファイルを覗いてみたが普通のテキストファイルだった (意味は分からんが)
5. しょうがないので ,v ファイルをリネームして最新版をチェックイン

Sun Cobalt Linux 2.2.16C33_III+VPN
cvs-1.11.1p1-6.2.C1r4

807 :名無しさん@お腹いっぱい。 :02/12/21 08:32
>>806
全然「参照・更新不能」じゃないじゃん。
>>804を確認してみろ。


808 :名無しさん@お腹いっぱい。 :02/12/21 09:49
なるほど、こいつぁFUDだぃね。

809 :名無しさん@お腹いっぱい。 :02/12/21 11:56
>806
> 2. なんだと思って別マシンでチェックアウトを試みたが「バージョンの?? (忘れた)」で出来なかった
その段階で書き込めば、何か別の手段があったかもしれんね。co できない状況
っつーと、何だろうね?

810 :名無しさん@お腹いっぱい。 :02/12/21 16:45
>>809
>>806 5. しょうがないので ,v ファイルをリネームして最新版をチェックイン
ってことだから、適当な,vって名前にすれば確認可能と思われ。

>>808
せめて連休中になんらかのreplyなきゃそう判断するしかないな。



811 :henoheno ◆mXrBwDDzyw :03/01/02 21:01
維あけまして
持おめでとうございます


812 :名無しさん@お腹いっぱい。 :03/01/14 00:15
使い方はなんとなくわかったが、運用を考えると悩むな。
(結構あたりまえの使い方しかしてないが)
そのうち質問するんでよろしく

813 :山崎渉 :03/01/15 12:52
(^^)

814 :名無しさん@お腹いっぱい。 :03/01/15 21:19
>>813
アニメ声優だっけ?


815 :名無しさん@お腹いっぱい。 :03/01/27 03:59
CERT 勧告、CVS に脆弱性
http://japan.internet.com/webtech/20030127/12.html

816 :相互リンク :03/02/01 14:57
CVS導入スレ〜
http://pc2.2ch.net/test/read.cgi/tech/1030563262/

817 :henoheno ◆g2j80BX5do :03/02/03 23:03
 複数の既存パッケージやパッチをCVSリポジトリに
叩き込むスクリプト(cvsknit)を作っている者ですが、
CVS本体についてリポジトリを編んでみましたのでお
知らせします。

CVS Version 1.9, 1.9.28, 1.10, 1.10.[5-8], 1.11, 1.11.1 , 1.11.1p1, 1.11.[2-5]
ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/l/cc/

 何がどのリリースの時点で修正されたのか、あるいは
リリースごとの違いを大雑把に把握するのに有効ではな
いかと思います。

#トリップ変えました。ttp://minix-up.sourceforge.jp/ の
#最後に記載。


818 :henoheno ◆g2j80BX5do :03/02/03 23:12
_analysis ディレクトリにはささやかなログが入っています。

CVSUPLOG.txt (commit直前の "cvs -n up" の結果)
ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/l/cc/_analysis/CVSUPLOG.txt?rev=1.14

KW_SUMMARY.txt (CVSUPLOGの集計結果)
ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/l/cc/_analysis/KW_SUMMARY.txt?rev=1.1

TRANSDETECT.txt (ファイルの移動を検知)
ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/l/cc/_analysis/TRANSDETECT.txt?rev=1.2


819 :名無しさん@お腹いっぱい。 :03/02/07 16:40
rootが動かすrubyスクリプトを書いていて、権限を落とすためにProcess.euidを
変更してるんですが、そのなかで system("cvs ci ...") すると、なぜかログには
変更したuidではなくrootと記録されてしまいます。

euidではなくuidを変更すれば、rootではなくそのuidが記録されますが、
あとでrootに復帰したいのでeuidを使いたいのです。

仕方がないので、
fork do
Process.uid = 500
exec("cvs ...")
end
Process.wait
のように子プロセス内でuidを変更するようにしてみましたが、どうも
納得いきません。cvs はどこで自分を実行しているユーザidを見てる
んでしょう?


820 :名無しさん@お腹いっぱい。 :03/02/07 18:34
>>819
getuid()で見てれば当然そうなると思うが。

821 :名無しさん@お腹いっぱい。 :03/02/07 18:36
>>820
あ、そうか。吊ってきまつ…


822 :名無しさん@お腹いっぱい。 :03/02/08 00:25
>819
fork 後に uid 変えるのが何故納得いかないと?
それが最も自然な解だと思うが

823 :名無しさん@お腹いっぱい。 :03/02/08 09:35
819はuidの管轄する機能について正しく理解していない。
誰が、というidentityの問題と、
どの権限で、という問題をいっしょくたにしてる。

seteuid()は後者のみを一時的に変更するものなんだから
identityを参照すると元のユーザになってるのは当たり前。

前者はその趣旨からいって当然だが、fakeする操作は用意されていない。
元のuidを保持しつつそれぞれのユーザに変身して振る舞うには、
>>819のようにforkするのがセオリー。sshd/rshd/telnetdはじめ
そういう処理が必要な各種デーモンは昔から皆そうしてる。



824 :819 :03/02/08 12:22
>>823
詳しい解説ありがとうございます。納得いきました。

今作っているのはsshd/rshd/telnetdのように個別ユーザーに対応する
タイプのデーモンではないので、一時的に権限を落とすために、という
発想で seteuid() を使おうと思ったのでした。子プロセスを起動しない
ぶんリソースを消費しないし、などとも思ってたんですが、ちょっと調べて
みたら、必ずしも親プロセスの全メモリをコピーするわけじゃないんですね。


825 :名無しさん@お腹いっぱい。 :03/02/08 14:58
>824
> 子プロセスを起動しないぶんリソースを消費しないし、などとも思ってたんですが

system(3) は、子プロセスを生成して実行する関数である、ということは分かっているよね?

826 :名無しさん@お腹いっぱい。 :03/02/08 15:02
そろそろスレ違いの悪寒。

827 :819 :03/02/08 18:20
>>825
うん。
Process.euid = 500
...(ユーザID500権限で実行する諸々のコード)
if なんとか
fork do # 実行するときもしないときもある
Process.uid = 500
exec("cvs ...")
end
end
と、
fork do # 必ず実行する
Process.uid = 500
...(ユーザID500として実行する諸々のコード)
if なんとか
fork do
exec("cvs ...")
end
end
end
の違いってことです。
# スレ違いスマソ。


828 :名無しさん@お腹いっぱい。 :03/02/13 16:01
VCでCVSつかうためにCVSのバージョン管理COMインターフェイス作るって話を
昔聞いたんですが、最近はどうなってるんですか?

829 :名無しさん@お腹いっぱい。 :03/02/14 06:59
>>828
>>433ではなく?

830 :名無しさん@お腹いっぱい。 :03/02/15 06:49
LinuxのCVSをセットし、プログラムのソースを管理しています。
ユーザがCVSに新たなプロジェクトをImportするとリポジトリの
中の該当ディレクトリ以下の全てのファイルのパーミッションが
-r--r--r--になってしまい、他のユーザがcheckoutできない状態です。
CVSでImportしたときのデフォルトのパーミッションってどう設定すれば
よろしいのでしょうか。厨ですみません。

831 :名無しさん@お腹いっぱい。 :03/02/15 07:13
>>830
リポジトリのディレクトリの所属グループと書き込みパーミッションを
変更すればいいはず。

ユーザ taro, hanako が共通して所属するグループ foo を /etc/group
に作り、

chown -R taro:foo /home/taro/cvs/hoge
chmod g+w /home/taro/cvs/hoge

しておけば、hanako も cvs -d /home/taro/cvs co hoge でチェックアウト
できるんじゃないかな。


832 :名無しさん@お腹いっぱい。 :03/02/15 08:21
つか、cvsグループ作って>>831のようにするのがお約束だと思ってたが。

833 :名無しさん@お腹いっぱい。 :03/02/15 08:32
>>831
どもです。
一旦Importしたリポジトリのファイルをおっしゃるように手動で設定
しなおせばアクセスできます。ですが、それをユーザが何かをImportするたび
(同じリポジトリ内に新たなディレクトリを追加するということは
よく行われます)にパーミッションの再設定を行うのが面倒なのです。
CVSでリポジトリを登録する際に使われる「デフォルトの」パーミッション
の変更方法を知りたいのです。
アドバイスをどーぞよろしくお願いいたします。

834 :名無しさん@お腹いっぱい。 :03/02/15 08:58
>>833
それなら、個々のリポジトリでなく、リポジトリのルートとなる
ディレクトリのグループとパーミッションを、 >>831 のように設定して
しまえばよいのでは。

共同作業グループごとにリポジトリのルートを作らなきゃいけないけど。


835 :名無しさん@お腹いっぱい。 :03/02/15 12:55
>>831
Linuxだとてっぺんのディレクトリを g+ws すると、その下に新たに作った
ディレクトリも自動的に同じgroupになって、かつgroup writableになるん
じゃなかったかな。

836 :名無しさん@お腹いっぱい。 :03/02/15 14:12
>>834
+sは必要ないのでは。OSではなくCVSが面倒をみているので。


837 :836 :03/02/15 14:34
自信ないのでソース見てみた。
ふつうは options.h(.in) で UMASK_DFLT が 002 になっているはずなので、
親ディレクトリが 0775 (drwxrwxr-x) ならリポジトリも 0775 になる。
環境変数CVSUMASKを002以外、たとえば 022 に設定すると、
親ディレクトリが 0775 (drwxrwxr-x) でもリポジトリは 0755 になる。


838 :835 :03/02/15 14:47
>>836
>>831はpserverでなく各ユーザに直接リポジトリを操作してもらって
いるんじゃないかな。
info cvs で「File permissions」を読むとLinuxは「On some systems」に
該当するようだけど、最近のcvsはchown(2)するようになっているのかな。

839 :831,836 :03/02/15 14:49
スマソ、用語が混乱してた。
「ルート」「親ディレクトリ」→「リポジトリ」
「リポジトリ」→「各モジュールのディレクトリ」
に訂正します。


840 :名無しさん@お腹いっぱい。 :03/02/15 15:52
>>836
だから、+sは必要なんだよね。
じゃないと、group ownerがその人のprimary group(っていうんだっけ?/etc/passwdにかかれてるgid)になっちまう。

841 :831,836 :03/02/15 16:01
>>840
それは、ユーザがディレクトリに設定されたグループに所属していない
場合でしょ?
プライマリじゃなくても、そのグループにユーザが入っていれば、
新規作成時には親ディレクトリのグループがひきつがれるよ。


842 :831,836 :03/02/15 16:05
>>841
…違った。スマソ。Linuxでは確かに +s しないとグループが引き継がれない。


843 :835 :03/02/15 18:26
>>842
うたぐり深いんだから… 。。・゜・(ノД`)・゜・。

844 :830 :03/02/15 19:01
皆さんアドバイスありがとうございます。ですがまだだめです。。。
/var/cvsrootに対して
#chmod g+wr /var/cvsroot
#ls -ld /var/cvsroot
drwxrwsrwx 16 root devgroup 4096 Feb 15 01:45 cvsroot

(テスト用にもともとパーミッションをゆるく設定してありました)
として、新たなモジュールhogeをImportしました。するとhogeディレクトリ
のパーミッションは

#ls -ld hoge
drwxrwsr-x 3 myacount devgroup 4096 Feb 15 01:45 hoge

となるんですが、その下にあるファイルmain.cpp.vのパーミッションが
-r--r--r--
となっています。何かおかしいでしょうか。。。

845 :名無しさん@お腹いっぱい。 :03/02/15 19:20
>>844
*,v ファイルのmodeが 444 になるのは正常です。

846 :名無しさん@お腹いっぱい。 :03/02/15 21:57
>>844
> -r--r--r--
それは気にしなくて大丈夫。ためしに複数のユーザーで checkout, commit
してみ。


847 :名無しさん@お腹いっぱい。 :03/03/01 11:13
wincvsを使ってるんですが、設定ファイルの保存、ロードのタイミングが
良く分からなくて困っています。

現在リモートのLinuxに複数のCVSROOTを作成し、pserverを介して
それぞれpasswdファイルを使用しているのですが、
wincvs上の表示モジュールを変更したときに適切にパスワード
を変更するようにしたつもりが、何かの拍子にpserverが
"used null password"みたいな感じのエラーメッセージを返すように
なってしまいます。

モジュール毎のパスワードってどのファイル(レジストリ?)で管理されて
どのタイミングでそれが変わるのでしょうか?

848 :名無しさん@お腹いっぱい。 :03/03/01 15:51
一般的には~/.cvspassだが。

849 :名無しさん@お腹いっぱい。 :03/03/02 13:52
WinCVSだと$HOMEの位置をダイアログで設定できたはずだが。

850 :名無しさん@お腹いっぱい。 :03/03/03 03:41
いろんなツール使って開発しているので、改行コードも文字コードもばらばらで
バイナリファイルまで混じってるんですが、こういう場合CVSで管理するのは難しいですか?



851 :名無しさん@お腹いっぱい。 :03/03/03 08:28
>>850
一人で開発してるのなら問題ないよ。

共同で開発しているのなら、このファイルは文字コード・改行コードは
何々、ととりきめておかないと混乱する。Windowsの人がいるなら、
cygwin版を使って、ディレクトリはバイナリマウントすべし、とか。

バイナリファイルも -kb オプションつければ問題ない。


852 :名無しさん@お腹いっぱい。 :03/03/03 09:13
>>850
今にも破綻しそうな共同開発だな(w

853 :名無しさん@お腹いっぱい。 :03/03/03 10:00
>>851
本当に、厨な質問ですいませんが、

> cygwin版を使って、ディレクトリはバイナリマウントすべし、とか。

これを行うと、どういう効果が期待できるんでしょうか?
当方軟弱なことに WinCVS を使用しているもので...


854 :名無しさん@お腹いっぱい。 :03/03/03 19:57
>>853
改行コードはWin系ならCRLFだしUnix系ならLFなわけだが、これら
を混在させると色々不幸になるので、Cygwin版のcvs & バイナリ
マウントを使ってUnix系のLFに統一させるという事。

もっともWinユーザにコマンドライン版cvs触らせたくないとか、Win側
の糞ツールがLFのみに対応してないとかだと駄目だけど。

855 :名無しさん@お腹いっぱい。 :03/03/03 20:20
Wincvsは改行コードがLFだと怒られたような。

856 :名無しさん@お腹いっぱい。 :03/03/03 20:48
CVSサーバ : Solaris
クライアント : Windows 2000
で、環境を構築したいんですが、
お勧めのHPありますか?
もしくは書籍でもかまいません。
サーバもSolarisでなくてもUNIX系のOSで
あればかまいません。

よろしくお願いします。

857 :名無しさん@お腹いっぱい。 :03/03/03 20:57
>>856

HPは情報が少ないし、Solarisにしておけばいいとは思いますが。


858 :856 :03/03/03 21:14
>>857
すいません、HPってホームページのことです。


859 :856 :03/03/03 21:15
言葉足らずですいません。
読み直したら何を聞いてるのかわからないですね。

環境構築するのに参考になるホームページとか
書籍があれば教えていただきたいとおもいます。

よろしくお願いいたします。

860 :名無しさん@お腹いっぱい。 :03/03/03 21:17
>>856
http://pc.2ch.net/unix/

861 :名無しさん@お腹いっぱい。 :03/03/03 22:12
>>859
過去ログ

862 :856 :03/03/03 22:16
やっぱ、ここですか

863 :名無しさん@お腹いっぱい。 :03/03/04 00:41
>>858

ホームページって「Home」ボタンを押したときのページだと思いますが
それをお勧めとか言われても。

ネタだったらもっと上手く書いてくれ。


864 :名無しさん@お腹いっぱい。 :03/03/04 01:03
懐かしいね。kuno さんまだ編纂をつづけてるのかな

もってるスキル(Unix の基礎知識は?

簡単に他人がお薦めできるようなものはありません

865 :名無しさん@お腹いっぱい。 :03/03/04 07:17
>>863
http://dictionary.goo.ne.jp/cgi-bin/nw-more_print.cgi?MT=%A5%DB%A1%BC%A5%E0%A5%DA%A1%BC%A5%B8&ID=a4db/a4db056354042200000000.txt&sw=3

>>WWW サーバーが提供する画面の総称として使われることもある。


866 :名無しさん@お腹いっぱい。 :03/03/04 08:41
>>865

その辞書は間違ってるね。

あまりにも誤解が広まってしまったので
「スタートページ」という言葉を作ったブラウザもあったりするが、
それでもボタンは「Home」だったり。


867 :名無しさん@お腹いっぱい。 :03/03/04 08:42
>>856
ttp://radiofly.to/nishi/cvs/


868 :名無しさん@お腹いっぱい。 :03/03/04 09:55
「ホームページ」談議はもううんざり。
http://www.kitanet.ne.jp/~tkubota/fj/whatishomepage.html

>>856
どんな情報がほしいの?
CVS の情報?
Solaris の情報?
今は何でつまづいてるの?

869 :名無しさん@お腹いっぱい。 :03/03/04 09:57
グランドに埋め込まれた神聖なる五角形だっけ?

870 :名無しさん@お腹いっぱい。 :03/03/04 19:54
>>868
つまずいてるのではなく、
これから導入してみようかと思ってます。
で、まずはWEBか書籍でいろいろ調べてみようと。

とりあえず、
・サーバはUNIX系(出来ればSolaris)
・クライアントはWindows
・バイナリも保存
 (Visual Studioのプロジェクトとか、
  JAVAのクラスファイルとか)
ぐらいわかればいいんですが。

871 :名無しさん@お腹いっぱい。 :03/03/04 20:49
>>870
> ・サーバはUNIX系(出来ればSolaris)
> ・クライアントはWindows
これの何がわかんないの?

> ・バイナリも保存
http://www.google.com/search?lr=lang_ja&ie=eucjp&q=cvs+%A5%D0%A5%A4%A5%CA%A5%EA

872 :名無しさん@お腹いっぱい。 :03/03/04 21:37
ようは導入事例が知りたいってことでは?


873 :870 :03/03/04 21:57
>>871
仕事の合間に環境構築出来る程度のものかどうかを
まず知りたかったんです。

環境構築にどの程度の作業量が必要かわからないもので...

874 :名無しさん@お腹いっぱい。 :03/03/04 22:36
>>870
VisualStudioのプロジェクトファイルは中身テキストだったと思うが。
バイナリなのは.icoや.bmp等のリソースと、VisualStudioが勝手に
作る中間ファイル(..apsとか.ncbとか)だけど、中間ファイルなんか
ソースからいくらでも再作成できるんだからバージョン管理する
必要なんか無いし。Javaの.classも同様。

>>873
どの程度の作業量になるかは本人のセンス(「分からない事の
調べ方」を知っているかどうか)次第。
うだうだ書いてる暇で検索猿になって情報だけ集めとくとか、
一発玉砕覚悟でやってみるとかすりゃあいいだろに。

875 :名無しさん@お腹いっぱい。 :03/03/04 23:05
>>874
皆さんは、DLLとかをタイムスタンプでは管理してないの?
うちの会社はその辺厳しいんだけど。
汎用機上がりの上司が多いのでコンパイル時刻にうるさいんです。
テスト結果とモジュールのタイムスタンプが逆転してると再テスト...


作業量は本人のセンスだから、
情報仕入れてどの程度で出来るのか知りたいんです
って書いてたつもりなんですが...

一応、仕事なんで玉砕はなしってことで、
出来そうだった「やる」、
結構かかりそうだったら「それでもやりますか?って聞く」、
無理そうだったら「やめる」。

簡単に教えてもらえると思って書き込んだんですが、
いろいろと聞かれるもんで「うだうだ」と書くことになってしまいました。
確かに無駄な時間をすごしてたのかもしれませんね。

ということで、これでうだうだ書き込むのは終わりにします。
いろいろ勉強になりました。
どうもありがとうございました。

876 :名無しさん@お腹いっぱい。 :03/03/04 23:37
CVSはタイムスタンプなんて保存してくれないよ。

877 :名無しさん@お腹いっぱい。 :03/03/04 23:39
>>875
ここで聞くのあきらめちゃったわけね。

ま、賢明だね。

答える気も無いのにうだうだ言ってる奴にまで
いちいちレスしてるような素直な奴は
2ちゃんで情報収集するのやめといたほうがいいよ。

ホームページの定義とか、
バイナリファイルの管理とか
関係ないことばかり指摘されてて
はたから見ててかわいそうだったよ。

878 :名無しさん@お腹いっぱい。 :03/03/04 23:43
>>876
875じゃないけど、
CVSつかうとタイムスタンプ変わっちゃうの?

まあ、確かにタイムスタンプなんてたいした問題じゃなくなるかもしれないが...
試してみたいけど履歴管理って結構面倒だもんなあ。
必要性に迫られないとやる気起きないな。

879 :名無しさん@お腹いっぱい。 :03/03/04 23:53
>>878
,vファイルとか、ワークディレクトリのCVS/Entriesには入ってるみたい。
rcsだと-Mオプションをつければタイムスタンプをcheckin時のものに
直してくれるけど、cvsだとどうかな?

880 :名無しさん@お腹いっぱい。 :03/03/05 00:37
>>878
(´-`).。oO(ネタだろうに・・・)


881 :名無しさん@お腹いっぱい。 :03/03/05 01:55
>>875
ファイルのタイムスタンプなんかPC間の転送で簡単に狂っちまうん
だから、そんなので管理しようとする事自体ナンセンスだと思うがねぇ。
Winバイナリならバージョンリソース使うのが一般的だし。

CVSというかRCS的なアプローチでは

static const char *cvsid = "$Id: hoge.c,v 2003/03/05 01:48:30 nanashi Exp$";

とか埋め込んでおいて、identで抽出ってのはよくやってる。(これで
タイムスタンプが狂ったバイナリのバージョン調べるのに助けられた
事も何度かある)

882 :名無しさん@お腹いっぱい。 :03/03/05 06:17
>>875
> 皆さんは、DLLとかをタイムスタンプでは管理してないの?
> うちの会社はその辺厳しいんだけど。
> 汎用機上がりの上司が多いのでコンパイル時刻にうるさいんです。
> テスト結果とモジュールのタイムスタンプが逆転してると再テスト...

そういう仕事環境では導入を提案しても蹴られるに一票。
やるとしても、まずは個人的に1か月ぐらい試してみて、それからでしょう。
ネット情報だけに頼って提案まで持っていくこと自体おかしい。


883 :名無しさん@お腹いっぱい。 :03/03/05 06:39
>>873
「環境構築」が何を指しているかよくわからないが、
CVSをインストールして既存のファイルをリポジトリに入れる
ことを言ってるなら、そんなもの半日程度で終わるでしょう。

そっちよりも運用方法を考えるほうが時間がかかるし、
時間をかけるべき。


884 :名無しさん@お腹いっぱい。 :03/03/05 09:44
タイムスタンプの管理はmakeの仕事、と言ってみる。

885 :名無しさん@お腹いっぱい。 :03/03/05 12:43
anonymous cvsからファイルを落していて分からないことがあります。

CVS/Entriesに書かれていないディレクトリが存在します。
$cvs update ではなかったディレクトリが
$cvs co XXX としてやると作られました。
個人的にEntriesとはその下のディレクトリの状態を
正確に表現していると考えていたのですが、それは違うのでしょうか?
また、リポジトリの最新と完全に同期させるためにはどうすれば
いいのでしょうか?

886 :名無しさん@お腹いっぱい。 :03/03/05 12:52
>>885
% cvs update -d

という答えでいいのかな?

887 :名無しさん@Emacs :03/03/05 13:07
>>886
ありがとうございます。
上のようにやったらCVS/の下のファイルも更新されました。
-dオプションはCVSROOTを指定するためだけに使うものと
考えてましたが、もしかしたらCVS/の下のファイルを更新する
っていう意味もあるんでしょうか。ちょっと調べてみます。
どうもありがとうございました。

888 :名無しさん@お腹いっぱい。 :03/03/05 14:54
cvs [こっち] コマンド [そっち]
こっちとそっちでは同じオプションでも意味がちがう

889 :名無しさん@お腹いっぱい。 :03/03/06 00:32
>>881
そもそもこっちでコンパイルしてるときに他の奴がciしたら、次にcvs upした
ときに再コンパイルされなくなってしまう。タイムスタンプでの管理なんて無
意味。


890 :876 :03/03/06 00:54
>>878
「タイムスタンプが変わっちゃう」というか、タイムスタンプまで保持してくれない。
って、保持してくれても何も嬉しくないと思うが。
詳しくは
ttp://katsu.watanabe.name/cvs/p32.html
見てくれ。
漏れ的には、そもそも「タイムスタンプで管理」なんて発想自体が信じ難い。。
makeを「タイムスタンプで管理」って言うなら話は別だが。

891 :名無しさん@お腹いっぱい。 :03/03/06 01:09
まあまあ。汎用機なんつーロクな道具のなかった旧石器時代の先人の
知恵なんだろうよ。現代から見れば迷信レベルなわけだが。


892 :名無しさん@お腹いっぱい。 :03/03/06 05:56
>>891
そういう人とうまく関係を保ちながら発想の転換を促すのって
大変だけど大事なことだよ。


893 :名無しさん@お腹いっぱい。 :03/03/06 08:52
大事かも知れんが、とっても大変。

894 :名無しさん@お腹いっぱい。 :03/03/06 21:41
>>875
UT完了時にCVSにソースを登録しといて、
UTで使用したバイナリをIT、ST、本番へと反映すればいいことじゃないの?
なんの問題も無いじゃん

そしたら、開発時のタイムスタンプたいした意味を成さなくなるんじゃないの?

UT完了時のソースをCVSに登録して、
IT時にチェックアウトしてコンパイルとか馬鹿なことしないだろ、普通。

895 :名無しさん@お腹いっぱい。 :03/03/06 21:51
>>894
UT, IT, STって略語なんでしょうか(「何とかテスト」)?


896 :名無しさん@お腹いっぱい。 :03/03/06 21:54
Unit Test
Integration Test
System Test
かな?

897 :894 :03/03/06 22:20
>>896
そのとおりです。

基本的な言葉ではないのですね。

金融系の仕事ばかりしてますが
どこもUT,IT,STって使ってたもので、つい。

898 :名無しさん@お腹いっぱい。 :03/03/06 23:52
>>894
>UT完了時のソースをCVSに登録して、
>IT時にチェックアウトしてコンパイルとか馬鹿なことしないだろ、普通。

「普通」はね。
CVSの使い方が分からんと言って、わざわざ人と手間をかけて
人間CVSやらせてるアフォな現場もあったりするよ。
(って今の俺の現場がまさにそう)

もちろんとてもじゃないが信用できんので自分のグループ内部
ではCVS管理してるが、それだけだと最終的にリリースされた
バイナリが正しい物かどうか保証できないので(タイムスタンプ
も奴らがビルドした時間になっちゃうし)、>>881のようなマーカー
埋め込みは必須。

C/C++みたいにモジュール間の結合依存度が高い言語だったら
それでも破綻してるだろうな。(Javaはその辺楽だ)

899 :名無しさん@お腹いっぱい。 :03/03/07 19:26
漏れもRCS IDからタイムスタンプをセットするツールってのは作ったことがある。
アフォくさいけど、そういうのを要求するDQN会社もあるんだよな。

900 :890 :03/03/07 23:41
単に漏れが想像できないだけなんだが(ずっとJavaで開発してるし、そんなに大規模じゃないので)、
> UT完了時のソースをCVSに登録して、
> IT時にチェックアウトしてコンパイルとか馬鹿なことしないだろ、普通。
これってダメなの?
コンパイルする度に挙動が変わるようなバグが潜んでいる可能性があるから?
個人的にはそういうバグは潰すべきだと思うが。
それとももっと深遠な理由があるのかなぁ。大規模開発は想像ができん。。


掲示板に戻る 全部 前100 次100 最新50

read.cgi ver5.26+ (01/10/21-)