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



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

CVSを使ってファイル管理

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

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

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

バックアップもかねて、
他のホストにCVSROOTを置いて
/etc以下のファイルをCVSで管理したいんだけど、
大丈夫かな?

/etcで
cvs import foo start
とかして、
してrm -rf /etcしてcvs checkout etc
すりゃいいような気がするけど、

ちと恐くてねえ。どう思います? OSはFreeBSDです。

3 :名無しさん@お腹いっぱい。 :2001/08/10(金) 23:04
rm するんじゃなくて
まずは mv しておけば。

4 :名無しさん@お腹いっぱい。 :2001/08/10(金) 23:46
別ディレクトリに必要な分だけ cp して、そこで
import する。

別のディレクトリで checkout して cp -r . /etc
するか、cvs checkout -d /etc で /etc に
直接 checkout。

ただ、root で cvs 使うと文句言われないか? それで
挫折した経験があるんだが。/etc なら rcs の方が
いいかもね。

5 :名無しさん@お腹いっぱい。 :2001/08/10(金) 23:54
CVSで直前の版(n 代前の版)とのdiffを取る方法ってある?

6 :名無しさん@お腹いっぱい。 :2001/08/10(金) 23:58
>>5

cvs diff -r {リビジョン}
でどう?。

7 :名無しさん@お腹いっぱい。 :2001/08/10(金) 23:59
リビジョンを明示的に指定しないで「1世代前」みたいにしたいんですが。

8 :2 :2001/08/11(土) 01:08

> ただ、root で cvs 使うと文句言われないか? それで
> 挫折した経験があるんだが。/etc なら rcs の方が
> いいかもね。

やっぱりそうかなあ。/etcはまじめにバックアップとって、
RCSかね。複数人で管理してるからCVSの方が楽かと
思ったんだけど。

9 :ななしさん@おなかいっぱい :2001/08/11(土) 01:11
>>8
ん? 4が書いてるように別ディレクトリでcoしてコピれば
良いだけでないの?

10 :名無しさん@お腹いっぱい。 :2001/08/11(土) 01:35
ln -s /home/boke/RCS/etc /etc/RCS
uheheheh

11 :名無しさん@お腹いっぱい。 :2001/08/11(土) 01:53
master.passwdあたりが心配。

12 :2 :2001/08/11(土) 01:59

ホストは2台とも同じ管理者なんでパスワードの問題とかは
同じような危険度なんだな。

しかし、
>>9
よくよく考えてみると、
/etcにはバイナリとかシンボリックリンクとかいろなものがあるんで、
CVSで一気にってのは安全ではなさそうだ。

13 :gt;gt;7 :2001/08/11(土) 13:43
必ず一世代前となら、option 無しで、
cvs diff foo.c
で良いのでは??

14 :名無しさん@お腹いっぱい。 :2001/08/11(土) 13:47
>>7

あと、Emacian を使っていたら、pcl-cvs で

= d

で ediff できて簡単ですよ。

15 :名無しさん@お腹いっぱい。 :2001/08/11(土) 13:51

皆さん、CVS Repositor のバックアップってどうしてますか?

16 :名無しさん@お腹いっぱい。 :2001/08/11(土) 13:57
>>15
tar+gzip で固めてどっかに置いておく。以上。

17 :名無しさん@お腹いっぱい。 :2001/08/11(土) 20:19
>>15

rsync 使ってます。

18 :名無しさん@お腹いっぱい。 :2001/08/13(月) 17:28
面白そうなスレage

19 :名無しさん@お腹いっぱい。 :2001/08/14(火) 00:33
main truncに importするほうほうってない?
主な開発は VSSでやってるんで、それを引っ張ってきて
CVSに突っ込んで枝を作っていじろうと思ってるんだけど。

20 :名無しさん@お腹いっぱい。 :2001/08/14(火) 10:17

pcl-cvs使ってるんですが、
d eとかで編集(マージ)するとき、
日本語の問題はうまくいってますか?

どうも、JISのファイルとEUCのファイルを比較しているようでせっかくの
ediffがうまく動いてないんです。

21 :名無しさん@お腹いっぱい。 :2001/08/14(火) 22:38
>>20
根本的な解決ではないですがうちでは、C-x RET c して文字コードを指定してから d e
するようにしてます。

22 :名無しさん@お腹いっぱい。 :2001/08/14(火) 23:47
>>21

む、やはり困っている人がいましたか。
参考にさせてもらいます。

23 :名無しさん@お腹いっぱい。 :2001/08/15(水) 05:11
ファイル名に日本語使うとまずいですか?

24 :  :2001/08/15(水) 06:39
>>19
VSS-to-RCSコンバーターってあるの?
うちは、最初から諦めて、全部現在の版をCVSにぶち込みました。
んで、VSSは参照用として、バックアップとって、書き込めないように
して残してあります。

25 :名無しさん@お腹いっぱい。 :01/08/26 12:46
CVSは便利

26 :名無しさん@お腹いっぱい。 :01/08/26 13:20
CVSを使ったネットからのMAKE(?)の方法がイマイチわからない。
http://gnu-darwin.sourceforge.net/
ココ使いたいんだけどなぁ。

27 :19 :01/08/26 16:41
いや VSSで最新のソース取得してから、ちまちまと importする。
これの繰り返しです >>19
mainの開発陣は VSSつかってて、うちらは一寸 hackしてるだけなんでねえ..
# でも何で VSS使うの...

28 :名無しさん@XEmacs :01/08/28 14:48 ID:2OCyfEBQ
CVS でプログラムソースを管理してるんですが、キーワード置換を用いて、
各ソースプログラムの ident を埋め込もうと思っています。

ソースファイルの先頭に置くつもりなんですが、同じ書式で書こうとすると
変数名が衝突しますよね。

マクロなどを使用して上手いこと衝突しない様に書く方法って無いですか?
皆さん、どんな感じで書いてます??

29 :名無しさん@お腹いっぱい。 :01/08/28 14:55 ID:kWMpTnew
>>28
>キーワード置換を用いて、 各ソースプログラムの ident を埋め込もう

オブジェクトの中にもリテラルでID埋め込もうとしてるの?

30 :名無しさん@XEmacs :01/08/28 15:16 ID:ign9iVXY
>>29

そうです。

static char *this_src_ident =
"@(#) $Id: foo.c,v 1.13 2001/08/28 02:01:18 bar Exp $";

なんてしてるんですが、これだと変数名が衝突しますよね。
上手く衝突を逃れられれば、

$ what foo
foo:
$Id: foo.c,v 1.13 2001/08/28 02:01:18 bar Exp $

$ strings foo.o | grep '$Id'
@(#) $Id: foo.c,v 1.13 2001/08/28 02:01:18 bar Exp $

とかして確認できるってのを意図してます。

31 :名無しさん@お腹いっぱい。 :01/08/28 15:25 ID:o186web.
んー、this_src_ident の代わりに foo_c みたいにファイル名、直しか
思い浮かばん。違うディレクトリに同じファイル名があるとき面倒だが。

32 :原住民 :01/08/28 15:26 ID:RUhCQUmc
staticなら衝突しないんじゃないの?
っていうか、literarlとして object内には埋め込まれるので
stringsとかは使えるんじゃ。
つか identコマンドつかえや!!

33 :31 :01/08/28 15:38 ID:kWMpTnew
#include <stdio.h>
static char const rcsid[] =
 "$Id: f.c,v 1.5 1999/08/27 23:36:42 peter Exp $";
int main() { return printf("%s\n", rcsid) == EOF; }

C 言語プログラムで上記のような文字列 rcsid が定義され、か
つ使われていないとき、 lint(1) が警告を出したり、 C コンパ
イラによっては最適化により文字列を削除する場合があります。
もっとも、よい解決策は上のプログラム例のように文字列 rcsid
を使うことです。


なんでこれが「もっとも、よい解決策」なのか、サパーリ判らん。(;´Д‘)
と、思ったが、無理矢理 printf() でも良いから使えって事なのね。
解決しとらーん!

34 :名無しさん@XEmacs :01/08/28 17:19 ID:ign9iVXY
>>32

何をトチ狂ってるんでしょうね。ホント。
すみません。
static なら衝突なんかしませんよねぇ。逝ってきます...

> つか identコマンドつかえや!!

ident コマンドが無いんですよ。
RCS が無いからなんでしょうかね。
CVS を make install しただけじゃダメなんでしょうか。

35 :名無しさん@お腹いっぱい。 :01/08/28 17:23 ID:IyiIr/CU
RCSなかったらCVSも動かんだろ。GNUからもらってこい。

36 :名無しさん@お腹いっぱい。 :01/08/28 17:39 ID:QKtRe60g
dotfileをcvsで管理すると便利だよね。
新しいマシン使うときも一発

37 :名無しさん@XEmacs :01/08/28 18:04 ID:ign9iVXY
>>35

CVS は動いてるんですな。これが。
sccs はあるけど、RCS は無いみたいです。
でも、$Id$ はちゃんと展開されてる。

CVS の配布には RCS の一部だけが含まれてるんでしょうかね。

38 :名無しさん@お腹いっぱい。 :01/08/28 19:04 ID:/foo1b.s
二重現実逃避モード。

>>37
含まれています。cvs/src/rcs.c だとか cvs/src/diff.c
なんてものがある。

39 :原住民 :01/08/31 01:14 ID:s.FxukAw
CVSで vendar branchを使ってるとき、なくなったファイルの扱い変じゃない??
つまり、とある versionから hage.cがなくなってて
cvs import hoge vendar rel1_1
とかすると、hage.cには rel1_1 tagはつかないけど。
どっかで cvs co -r vendar hoge すると hage.cも生まれてくる。
要らないのが生まれてきて邪魔なんですけど、これって仕様??
それとも俺の使い方が間違ってる?

40 :名無しさん@お腹いっぱい。 :01/08/31 01:40 ID:cWiTsGz2
vendor の綴りを間違えてるくらいだし。
man 見といたら?

41 :名無しさん@お腹いっぱい。 :01/08/31 02:40 ID:5Mv8F2qA
CVS ってサーバにある方のファイルの revision 下げることってできますか?
別に前の revision 落としてきて、それを commit しなおせばいいじゃんとか思ってた
んですけど、最近会社で JBuilder + CVS で開発してて周りの人が
「revision 下げられないんじゃバージョン管理してる意味ないじゃん」って言うんで
す。

あと、「ファイルのロックができないのも困りものよねぇ」とかも言われます。
CVS はファイルのロックをしないからこそいいのだと思ってたんですが。

俺が間違ってるんでしょうか?

42 :名無しさん@お腹いっぱい。 :01/08/31 02:57 ID:GicJp6nc
>>35
いつの時代の話だ。今はもうRCS5.7相当の機能がCVSに取り込まれてるよ。

>>41
CVSではback outしてもRevisionは上がるのが普通。

43 :42 :01/08/31 02:59 ID:GicJp6nc
>>38を思いっきり読み飛ばしていた...鬱氏。

44 :名無しさん@Emacs :01/08/31 09:16 ID:.P4YZmic
>>41
> 「revision 下げられないんじゃバージョン管理してる意味ないじゃん」って
なんのことかよくわかりません。
古いバージョンをメンテナンスするときにブランチ切ってない
とかいう話じゃないよね?

45 :名無しさん@お腹いっぱい。 :01/08/31 09:51 ID:SYzSjnws
>>44
> 古いバージョンをメンテナンスするときにブランチ切ってない

いえ、そういう事じゃなくって、
誰かが間違って、ゴミだけを付けたファイル(C-p で上に行こうとして p を入れちゃっ
たとか)を commit したときに、 rivision 上げて対処するんじゃ何かバージョン管
理って感じがしないなぁって事みたいです。

言われてみれば確かにそうかもという感じがしたので。

46 :名無しさん@お腹いっぱい。 :01/08/31 10:01 ID:W27R9832
>>45
そのゴミだと思っていたものが実は重要だったとして
間違って消してしまったらそれこそバージョン管理の意味がない。
だからどんな修正だろうと積み上げになっていったほうが安全。

47 :44 :01/08/31 10:54 ID:.P4YZmic
>>46
おれもそう思う。ひょっとして >>41 の同僚は release version の管理と
revision の管理を混同してないか?

48 :名無しさん@お腹いっぱい。 :01/08/31 12:35 ID:SYzSjnws
>>46,47

varison 管理と rivision 管理を分けて考えれば、
> 間違って消してしまったらそれこそバージョン管理の意味がない。
というのは確かに正しいですね。なるほど。

CVS における、version の管理というのは
TAG 付けで行なうのがいいんでしょうか。

49 :名無しさん@お腹いっぱい。 :01/08/31 14:22 ID:H9.KahBw
ディレクトリ毎にも tag管理出来る所が rcsに比べて良いよね。
後は、マージしてくれるとこも。

50 :原住民 :01/08/31 16:44 ID:s.FxukAw
>>40 って言うかmanみてもわからなかったぞ。
後生だから教えてくれ。

51 :名無しさん@お腹いっぱい。 :01/08/31 17:04 ID:FzOr630E
日本語を書く時、ファイルの中身はどんな encoding でも問題ないですが、
log をいったん EUC なんかにしてしまうと JIS にはそう簡単に直せないですよね。
この問題をみなさんどうしてます? 最近僕は嫌気がさして英語でしか log をつけ
ないようになってるんですが。

52 :名無しさん@XEmacs :01/08/31 18:35 ID:BRFmNDuc
>>14
> あと、Emacian を使っていたら、pcl-cvs で

ふつーは、Emacsen といいますです。

53 :名無しさん@お腹いっぱい。 :01/08/31 18:58 ID:lieJqDvo
>>51
file の中身も文字コードが変わると悲惨なことになりますが…。
cvs diff なんぞとろうとすると、目も当てられなくなる。

54 :名無しさん@お腹いっぱい。 :01/08/31 19:44 ID:H9.KahBw
>原住民
ウチでは、checkout に vendortag は付けれないです。
"cannot find module vendortag" と出た。

ウチで vendor のソースを import する時は、
releasetag に 3rdparty_20010831 みたいに prefix を
付けちゃうんで、引っ張り出す時に困る事はないです。

55 :35 :01/08/31 21:09 ID:hc4CeL/k
>>42
> >>35
> いつの時代の話だ。今はもうRCS5.7相当の機能がCVSに取り込まれてるよ。

ここんとこずっとFreeBSDだから気にしてなかった。
Solaris 2.6に手でCVS入れたころの話だから...

うーん、こういうふうにして歳がばれるんだな。

56 :原住民 :01/09/01 17:21 ID:MjyGu27w
>>54 ええ、できない? 俺、いつもやってるけどなあ。
release tagで取り出せばいいっちゃいいんだけど。stickyにならないっけ?
まあなってもかまわないか。
後は updateして vendor branchについていいけるか、ってのが心配。
working directoryにちょこっと変えてたりするので。
最悪明示的に update -j 使えばいいってのはわかるけど、
command lineが長くなってうざい。

57 :     :01/09/02 01:26 ID:KYUxK1l2
CVSはロックしないからいいんだというのは合ってる(だろう)けど、
CVSでもロックしようと思えばできるぞ。
担当ならもちっと勉強だな >>41

58 :名無しさん@お腹いっぱい。 :01/09/02 03:43 ID:Nr33AwC2
>>41
JbuilderのCVSはおまけです。
ちゃんとバージョン管理したいならWinCVSを使いましょう。

59 :名無しさん@お腹いっぱい。 :01/09/07 17:42
文系でも cvs もえ。というか文系だからこそ cvs もえもえ。
どんなヘボ文章でも編集過程残します。将来大作家にでもなって死後
cvs repository がみつかって大騒ぎとか。

60 :名無しさん@お腹いっぱい。 :01/09/07 23:13
CVS?はあ?
CSVの間違いだろ。
Excelのデータをやりとりするのに使うファイルだ。
単なるテキストファイルだからUNIXでも読めるだろう。
CSVでファイル管理するのかね〜

61 :名無しさん@お腹いっぱい。 :01/09/07 23:20
>>60
ネタだとイマイチ。
天然ならちょっと尊敬。

62 :名無しさん@お腹いっぱい。 :01/09/08 00:11
ネタだろうけど面白くない。
どうせならイタイ発言スレにコピーされるぐらい真実味
のあるのが欲しい。
あのスレのはほとんど天然物だけど。

63 :名無しさん@お腹いっぱい。 :01/09/08 00:23
俺は手作業でrsync。
あぁ知恵遅れか…イッテコヨウ

64 :名無しさん@お腹いっぱい。 :01/09/13 11:27
rename database ってどうなっているんですか?
そうとう昔から案が出てるようだから、
そろそろ実装してくれないかなーと思っているんだけど。

#これがあれば cvs がますます気楽に使えるようになるのに。
#今は file を import するのに名前について相当気を使う。

65 :名無しさん@お腹いっぱい。 :01/10/09 00:52
CVSであるモジュールにあったファイル名を
全部表示(削除したファイルも含めて)することってできないでしょうか?

あと、あるリビジョンのファイル名一覧を得ることはできないでしょうか?

随分古いスレをあげてしまってすいません。

66 :名無しさん@お腹いっぱい。 :01/10/09 05:53
>>65
>全部表示(削除したファイルも含めて)することってできないでしょうか?
workspaceでcvs log -Rじゃだめ?

>あと、あるリビジョンのファイル名一覧を得ることはできないでしょうか?
一覧だけ得るのはどうやるんだろう。
cvs co -r1.2.3.4 とか、workspaceでcvs update -r1.2.3.4 とか
すれば、特定のリビジョンのファイルだけにはなるけど。

67 :名無しさん@XEmacs :01/10/09 05:54
「リビジョン管理は CVS ……」
「?」

「ファイル形式は… C … CSV…
  ちょっと時々ごっちゃになるねん
  CVS?
  CSV?
  CVS?」

「はあ…」
「わかってるねん
  わかってるねんで?
  バカにしたらあかん
  このスレは CSV …
  それがごっちゃに…」

「このスレは CVSです」
「わかってるねんで!?」

68 :ななしさん@おなかいっぱい :01/10/09 06:28
最近、/etc以下などの設定ファイルの管理にCVSを使い始めた。いや、
master.passwdとかはrepositoryには入れてないけど。どうせpasswd使え
ば中身変わっちゃうし……。
しかし、これはなかなか快適かも。ログはしっかり残るし、インストール時の
デフォルトや過去の任意の時点との比較も簡単。

69 :名無しさん@お腹いっぱい。 :01/10/09 06:35
>>68
BSD Magazine の影響ですか?(ニコッ

70 :名無しさん@XEmacs :01/10/09 07:09
>68
昔 RCS で /etc の下とか管理してたりしたけど、
面倒で止めたダメ人間。
Linux 使ってると何年かに一回、全体の入れ替えやっちゃうから、
なんか意味ないような気がして。

71 :名無しさん@XEmacs :01/10/09 07:30
データとプログラムが密接に関係するプロジェクトの場合、
データの扱いはどうしてますか?

# 自分は残念ながら、データは手動管理…

72 :名無しさん@お腹いっぱい。 :01/10/09 10:50
>>70
aliases の管理とかであれば rcs でもいいんだが
ある設定変更のために複数のファイルに変更が
及ぶ場合(例えば /etc/rc.conf で NIC 追加後, hosts 編集とか)に
cvs だと格段に便利だよな.

そしてそのタイミングでわかりやすいようにタグを打っていく. 完璧.

73 :65 :01/10/09 13:21
>>66
> >全部表示(削除したファイルも含めて)することってできないでしょうか?
> workspaceでcvs log -Rじゃだめ?
できました。ありがとうございます。
cvs log でファイル名を指定しないと消したファイルも見る事ができるんですね。

> >あと、あるリビジョンのファイル名一覧を得ることはできないでしょうか?
> 一覧だけ得るのはどうやるんだろう。
リビジョンではなくてタグでした。でもタグでも変わらないですよね。
viewcvs だと、あるタグが打ってあるファイルの一覧が表示できるので、普通の CVS
のコマンドでもできるのかなぁと思っていたんですが。

> cvs co -r1.2.3.4 とか、workspaceでcvs update -r1.2.3.4 とか
> すれば、特定のリビジョンのファイルだけにはなるけど。
そうなんですよね。ファイルを取ってこないと確認できない。
cvs ls みたいなコマンドがあると結構便利かもしれないですね。

74 :名無しさん@お腹いっぱい。 :01/10/09 14:22
http://www.amazon.co.jp/exec/obidos/search-handle-url/index=books-jp&rank=+salesrank&field-keywords=cvs&bq=1/ref=sr_aps_allb__/250-9205354-1985857

CVSの本が数冊出ていますがどれがおすすめでしょうか?

75 :名無しさん@お腹いっぱい。 :01/10/09 15:31
repositoryにいって
find module -name '*,v' | grep -l tag-you-want | sed 's,Attic/,,'
とか...>>73

76 :名無しさん@お腹いっぱい。 :01/10/09 16:30
>>64 でいってるようなリネームしてもディレクトリごと管理できる
revision 管理ソフトって存在してるんですか.
cvs の rename database は頓挫? してるようだし.

77 :65 :01/10/09 18:51
>>75
それは、Repository がある host に login できなきゃいけないですよね。
それとも、何か方法があるんでしょうか。

ついでにもう一つ質問なんですが、
Emacs の pcl-cvs で変更がないファイルも一覧に出す方法はないでしょうか?
一応 C-x v d で vc-dired-mode に入って、 C-x v t で vc-dired-terse-mode を ON にした後に
cvs-examine をやると出てくるみたいなんですが、もっと簡単にやれるとうれしいです。
# Emacs スレで聞いた方がいいのかな。

78 :名無しさん@お腹いっぱい。 :01/10/09 21:31
>>65
ないしょで Apacheとcvsweb をインストールしちゃう、とか :)

79 :78 :01/10/09 21:38
マジレスすると、こうかなあ。

$ cvs -d $CVSROOT co -p -rREV MODULES 2>&1 >/dev/null | \
sed -n 's/^Checking out \(.*\)$/\1/p'

メチャメチャ遅いけど。

80 :名無しさん@お腹いっぱい。 :01/10/09 21:43
>>76
p4, subversion

81 :75 :01/10/10 02:38
>>77 いや、loginできなくても NFS mountぐらいできれば okよ。
と屁理屈を言ってみる。
俺も cvswebの hackとかしてるんだけど、working directoryがないと
できない操作が多くてつらいね。
logぐらい何とかさせろ。

82 :名無しさん@お腹いっぱい。 :01/10/30 14:57
cvsweb の詳細な日本語解説サイトってありませんかね?

83 :名無しさん@お腹いっぱい :01/10/30 19:30
昔のCVSではバイナリの差分が取れなくて使うのを断念したんですが今はどうなんでしょうか?
動画、mp3、画像等をCVSで管理したいんですけど。

84 :名無しさん@Emacs :01/10/30 19:33
>>83
圧縮されてるファイルばかりだな。W
そんなのの差分とっても嬉しいことは皆無だと思われ。

85 :名無しさん@お腹いっぱい。 :01/10/30 19:34
>>84
差分をとる というよりは差分があるかどうか だけ知りたいのでは?

86 :名無しさん@お腹いっぱい。 :01/10/31 00:22
>>83 実験してみれ。

$ mkdir foo
$ cd foo
$ cvs -d $PWD/cvs init
$ mkdir cvs/bar
$ cvs -d $PWD/cvs co bar
$ cd bar
$ dd if=/dev/urandom of=a.bin count=1
$ cvs add -kb a.bin
$ cvs com -m ''
$ dd if=/dev/urandom of=a.bin count=1
$ cvs com -m ''
$ cvs di -r1.1 -r1.2 a.bin
$ od -x1 ../cvs/foo/a.bin,v | less

87 :名無しさん@お腹いっぱい。 :01/11/01 14:17
過去にいったんremoveで削除したファイルと同じファイル名のソースを
新規にADDしたい場合どうすればいいでしょうか?

単純にADDしてcommitすると下記のように怒られてしまうんですが、、、

cvs server: cannot add file `fukkatu.c' when RCS file `/u02/cvsroot/HOGE/fukkatu.c,v' already exists
cvs [server aborted]: correct above errors first!

88 :名無しさん@お腹いっぱい。 :01/11/01 16:04
昔のを復活させて新たなバージョンとして commit すればいいんじゃないの?
一般的な方法かはわからないけど.

89 :名無しさん@お腹いっぱい。 :01/11/01 19:36
>>88
すみませんが復活の方法を具体的に教えてもらえませんか
Atticから手でmvすればいいんでしょうか?
dead状態のファイルはどうすればいいんでしょう?
#マニュアルみても分からなかった、、、

90 :名無しさん@お腹いっぱい。 :01/11/01 20:56
>>87
ほんとに cvs remove しました? Attic 落ちしているファイルの場合、同名のファイルを cvs add すると

% cvs add f
cvs.exe add: re-adding file f (in place of dead revision 1.2)
cvs.exe add: use 'cvs.exe commit' to add this file permanently

という感じで追加できますけど。

91 :87 :01/11/02 03:13
>>90
ども、いま問題になってるファイルはdead状態のファイルです。
Attic状態のはふと気になってついでにきいてみました。

92 :名無しさん@お腹いっぱい。 :01/11/02 06:00
dead でも復活できます. 復活というか, 新たなバージョンとして
復活させる. やりかたは, どっかのマニュアルにある(藁

93 :名無しさん@お腹いっぱい。 :01/11/02 14:23
>>92 どっかのマニュアルってどれでしょう(藁われた、、、
私は
http://www-vox.dj.kit.ac.jp/nishi/cvs/cvs-manual/cvs-jp_toc.html
を参照していたのですが、、、
もしかしたらこれのどこかにあったのでしょうか、、、

94 :名無しさん@お腹いっぱい。 :01/11/03 01:42
>>93
cvs removeのrevisionからその一つ前のrevisionへのmergeを実行する。
たとえば 1.68 がdead なら 1.68 から 1.67へのmergeをしてやれば復活。
mergeのやり方はわかるよね。

95 :名無しさん@お腹いっぱい。 :01/11/05 11:42
>>94 どうもです。
deadなりビジョンもmerge対象として使えるという発想がありませんでした
ありがとう後妻ます。

96 :名無しさん@お腹いっぱい。 :01/11/18 04:09
お前らホームディレクトリのドットファイル等の管理はどうしてますか?

97 :名無しさん@お腹いっぱい。 :01/11/22 23:07
>>96 エディタで。

98 :名無しさん@Emacs :01/11/22 23:43

>96
~/dotfiles
作って主要なものはそこに置いてCVS。
それをln -s してる。
.fetchmailrcとかはそれじゃ使えないけど。

99 :名無しさん@お腹いっぱい。 :01/11/23 01:21
僕は cvs でやるほどの量ではないから RCS だな.
~/RCS を時々 backup してやれば十分だと思う.

100 :100 :01/11/23 10:35
dotfilesってバージョン管理したいほどのものってある?
をれは.profileとか.shinitだとほとんど追加しかしないけど。
コメント書くだけでじゅうぶん。

101 :名無しさん@お腹いっぱい。 :01/11/23 10:44
>>100
.emacs はバージョン管理したくなるな、さすがに。

102 :名無しさん@お腹いっぱい。 :01/12/06 02:32
cvswebが便利そうで、一応導入してみたんだけど、
リポジトリの中にあるファイルの中に、チェックアウト出来ないファイル
があるみたいで、

cvs checkout: cannot exec co: No such file or directory
cvs checkout: could not check out xxx/yyy/Zzz.java

ってエラーが出ちゃうのね。
あるいくつかの特定のファイルがそうなるんだけど、
これらのチェックアウト出来ないファイルの共通点が見つけられなくて
困ってます。
誰か同じ様な症状になったことがある人いない?

103 :102 :01/12/06 21:42
実はこの投稿はマルチポストだったのですが、
とある方からの指摘を受け、cvsのバージョンを新しいものにして、
解決しました。
失礼しました。

104 :名無しさん@お腹いっぱい。 :01/12/23 14:34
掘り出してすまそ。

 現行のCVS てなにげにバイナリファイルのバージョン管理ってできるの?

 具体的には、表計算ソフトファイルを食わせてみたいのだが。

105 :名無しさん@お腹いっぱい。 :01/12/23 14:50
-kbでバイナリファイルも突っ込めるよ。
バイナリの場合は差分を作らないので、disk容量が気にならないならどうぞ。

106 :名無しさん@お腹いっぱい。 :01/12/23 17:29
xdelta対応版ないんかのう

107 :名無しさん@お腹いっぱい :01/12/23 21:23
>>105
 ありがとう。
 ががーーん。そうなのか。 たまにUPするしかないか..

108 :名無しさん@お腹いっぱい。 :01/12/26 10:03
>>104
ファイル名はなんとかしないと駄目だけど、
base64でaddするとか。
base64だったら$とか使われてないはず。

変更量が多くてチョコチョコ変更するんだったらこっちの方がいいかも。
エンコード->commit、update->デコード、はaliasに登録すれば楽かも。

109 :名無しさん@お腹いっぱい。 :01/12/26 21:39
diff は行単位だから, base64 でやっても結局まるごと
入るのと変らないんじゃない?

110 :名無しさん@お腹いっぱい。 :01/12/26 23:25
>>106 がいうように xdelta をつかってくれるとウレスイんだけどね。
subversion の binary 扱いはどうなんだろう...

111 :名無しさん@お腹いっぱい。 :01/12/27 18:29
言っちゃったね。じゃあ、こう返すしかない。
「自分で実装して公開してちょ」

112 :名無しさん@お腹いっぱい。 :02/01/04 22:02

操作ミスでcvs add CVS
とかやっちゃったみたいで、
それからcvs updateするたびに

cvs update: warning: directory CVS specified in argument
cvs update: but CVS uses CVS for its own purposes; skipping CVS directory

ってなメッセージが出るようになっちゃったんですが、
これどうしたら消えますか?

113 :名無しさん@お腹いっぱい。 :02/01/04 23:15
commit してないんだったら
そのディレクトリの CVS の中身がおかしくなってるんじゃないの?
別のところに同じ module を checkout して比較してみたら.

114 :名無しさん@お腹いっぱい。 :02/01/05 00:26
>105
拡張子で、自動的にバイナリとアスキーを認識させる方法とかないですか?

115 :名無しさん@お腹いっぱい。 :02/01/05 00:29
>>114 cvswrappers

116 :名無しさん@お腹いっぱい。 :02/01/05 15:31
>>112 cvs add だとその操作はできないと思うけど。
./CVS/Entries に、
D/CVS////
というような行があればそれを削除してみる、とか。

117 :112 :02/01/05 18:10
>>116
ども。それで直りました。なにしたんだろう?

118 :名無しさん@お腹いっぱい。 :02/01/09 23:00
資料あげ

119 :名無しさん@お腹いっぱい。 :02/02/01 10:01
subversion使ってる人いますか。使用感教えてくださいませ。
ってこのスレでいいのかな...(汗


120 :名無しさん@お腹いっぱい。 :02/02/01 11:02
>>116
cvs add CVS したんでしょう。

でもこれ、cvs が弾いてくれればいいのにね。


121 :116 :02/02/01 21:27
>>120
じゃあバージョンの違いかな。うちではちゃんとはじくよ。

$ cvs --version

Concurrent Versions System (CVS) 1.11.1p1-FreeBSD (client/server)

Copyright (c) 1989-2001 Brian Berliner, david d `zoo' zuhn,
Jeff Polk, and other authors

CVS may be copied only under the terms of the GNU General Public License,
a copy of which can be found with the CVS distribution kit.

Specify the --help option for further information about CVS
$ ls CVS
Entries Repository Root
$ cvs add CVS
cvs add: cannot add special file `CVS'; skipping

あと考えられるのは cvs import -I\! したとかぐらいかなあ。


122 :120 :02/02/06 00:51
>>121
確か Solaris2.6+cvs-1.11 だったと思う。CVS/ は弾いて
くれると思うんだけど、たまーに add できちゃうときが
あるような気がするのね。気のせいかもしれないけど。

cvs add *;cvs add */*; cvs add */*/*; cvs add */*/*/*

なんてやってたら、どんどん CVS/CVS/CVS/CVS/CVS/ とか
できちゃいました。


123 :120 :02/02/06 00:53
あ、もしかして cvs add CVS/Entries とかやっちゃうと
CVS/CVS/ ができるってことかな?


124 :名無しさん@Emacs :02/02/06 01:35
ローカルタイムで管理することは出来ないのでしょうか?

125 :名無しさん@お腹いっぱい。 :02/02/06 02:08
>>124
現時点では、できない、が答えのはず。


126 :名無しさん@Emacs :02/02/06 02:44
>>125
あ、そうなんですか。
history -zとかはtimezoneの指定とかって書いてあったんで、
出来るのかと思いました。
どうもでした。


127 :名無しさん@お腹いっぱい。 :02/02/06 02:48
編集途中である程度区切りがついてるんだけどリポジトリに反映する
のにはまだ不十分な時ってどうしてます?
SUNのteamwareではcheckinした内容は自分の作業領域にしか影響無い
から好きなだけcheckinしておいて最後に親に反映してたんですけど。

128 :名無しさん@お腹いっぱい。 :02/02/06 02:52
ん〜、多分まだ無理じゃあなかったかな…。

http://www.linkclub.or.jp/~tumibito/soft-an/cvs/TODO-LIST-JP.txt
の「できたらいいな」リストを見ると、まだ実現してない
ようだけど、2000/11 のドキュメントだからなぁ。

最新事情は >>128 にまかせた。



129 :128 :02/02/06 02:54
ガ━━━━━(; ´Д`)━━━━━━ン


130 :名無しさん@お腹いっぱい。 :02/02/06 09:18
最新事情待ってます〜>>128


131 :名無しさん@お腹いっぱい。 :02/02/06 22:26
>>127 俺ブランチ切るのもだめなの?

$ pwd
/home/in/my/work/directory
$ cvs tag -b my_very_experimental_code
$ cvs com -m"とりあえず保存; みちゃいやン" -rmy_very_experimental_code


132 :名無しさん@お腹いっぱい。 :02/02/07 09:16
NetBSD の repo を CVSup で貰ってきて、
そこから co してるんですが、
ブランチしていすると(たとえば cvs co -rnathanw_sa basesrc)、
assertion "strncmp (repository, CVSroot_directory, strlen (CVSroot_directory)) == 0" failed: file "/usr/src/gnu/usr.bin/cvs/cvs/../../../dist/cvs/src/lock.c", line 177, function "lock_name"
cvs [checkout aborted]: received abort signal
とか言われて悲スィーです。
ワタシなんかアホなことやってますか?


133 :名無しさん@お腹いっぱい。 :02/02/09 09:03
俺ブランチつくったのが、後々まで見えるのが恥ずかしいのでは..
とかいってちゃいけない、つー気もするけど、
でもブランチつくりまくるのもいかがかと思う気もする。
commitした段階で終わった気がして、mergeをあとに伸ばしちゃいそう >> おれ

ちなみに今から食べる飯はブランチでしょうか?


134 :名無しさん@お腹いっぱい。 :02/02/09 09:12
そうそう、あの ssh経由 anonymous CVSを実現するのは
どうすればいいのでしょう?
anonymousアカウントつくって普通の sshを通させるのは怖いし...
大人しく pserver使えってことか?
でも loginがチト面倒くさい。


135 :sage :02/02/09 09:13
>>133
$ cvs -H admin


136 :名無しさん@お腹いっぱい。 :02/02/09 09:31
>>134
cvs loginはローカルの ~/.cvspassに暗号化したパスワードを持っておく
だけだから、一度cvs loginしたら二度とcvs logoutしなければよい
だけでは?


137 :名無しさん@お腹いっぱい。 :02/02/09 11:38
たしかにいわれてみれば 1度だけだな。
CVS使ったことないやつらに使わせるんでちょっと教えるの面倒かな、
と思ったけどまあそのくらいいいか。

sshだと暗号化で重くなるし。ってそんな問題じゃないけど。
でも考えてみると、anoncvs.netbsd.orgみたいなで大勢が使うようなのは
pserver使った方が親切? or そんなところは律速にならない?


138 :名無しさん@お腹いっぱい。 :02/02/09 12:02
>>132
cvs -R co ... としたら直ったりして……


139 :136 :02/02/09 12:37
>>137 ?
糸をつかんでいないかも知れないけど、
sshアカウントを持っている人にしか使わせたくないなら、
pserverのポートをsshでLocal Forwardさせればいいだけでは?


140 :CVS初心者 :02/02/18 02:47
いったんaddしたディレクトリを消すには?
cvs removeってファイルしか消せないような

141 :名無しさん@お腹いっぱい。 :02/02/18 02:58
>>140
cvs update -Pとすると、空のディレクトリを削除してくれますよ。きっと。


142 :CVS初心者 :02/02/18 03:01
>>141
ありがとうございます。
working側ではなくrepository側を消したいのですが、無理でしょうか?

143 :CVS初心者 :02/02/18 03:42
cvs importの反対が無いかってことなんですが。
repositoryの中にいったん誤った名前のディレクトリを作成してしまうと、
手動で消す以外に方法は無いってことでしょうか?

144 :名無しさん@お腹いっぱい。 :02/02/18 03:45
>>140
 ディレクトリ作る。その中にファイル作る。ファイル消す。ディレクトリ消す。
とした場合、ディレクトリを消してしまったらファイルの履歴はどうする?

って話になるので、自動では消せない。


145 :CVS初心者 :02/02/18 03:48
あるディレクトリ以下の履歴ごと消滅させる(そこには何も無かっ
たことにする)のは不可能ってことっすね。
ありがとうございました。

146 :141 :02/02/18 07:52
>>145
CVSはディレクトリを管理することが出来ない
(= バージョン付けできない)と思いますので、
「ディレクトリ以下無かったことにしたい」というのは
仰る通り直接削除するしかないでしょう。多分。

>>144さんが仰る問題も、ディレクトリが管理されていない
というところが原因であると考えています。
(それだけではないかも?)


147 :名無しさん@お腹いっぱい。 :02/02/18 10:35

% cvs -d :pserver:anonymous@cvs.navi2ch.sourceforge.net:/cvsroot/navi2ch co navi2ch
% cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout wanderlust
% cvs -d :pserver:anonymous@cvs.w3m.sourceforge.net:/cvsroot/w3m checkout w3m

みたいにいちいち入力しないですむ方法ってないですか?

148 :名無しさん@お腹いっぱい。 :02/02/18 10:58
>148 cd navi2ch && cvs up
checkoutするのは最初の一回だけです普通。


149 :名無しさん@お腹いっぱい。 :02/02/18 11:08
>>147
Makefile書きな

150 :いもむし :02/02/18 13:06
checkout hoge してできたモジュールのディレクトリ
./hoge 以下に居れば -d しなくてもかまわないようですが、
それじゃダメなんですか?

あと、 zsh は .cvspass あたりから持って来て補完したりも
する。

151 :名無しさん@お腹いっぱい。 :02/02/18 18:02
>>146
> (それだけではないかも?)
Attic を手で消さねばって話?


152 :141 :02/02/23 05:36
>>151
あ、いや、>>146は本当に単にディレクトリのバージョン付けに
ついて書いただけです。たしか。

> Attic を手で消さねばって話?

これの具体的な話を聞かせてもらえると嬉しいです。


153 :名無しさん@お腹いっぱい。 :02/02/24 22:12
プロジェクト名の整理をしたくなりました。
プロジェクト名 hoge を foo/hoge にしたいのですが、
リポジトリ内のディレクトリ構造を変えるだけで大丈夫でしょうか。
やってみた限りでは大丈夫な気がするのですが、問題があったりしますか?

154 :転職者 :02/02/24 22:23
先輩にUNIX起動時にsetenvコマンドでCVS自動で使えるようにしとけ
と言われたけど、.cshrc内のどこに、どういうふうに設定すれば
いいのでしょうか?
setenv CVSROOT xxxxx/xxx/xxx
setenv export CVSROOT
です。お願いします。

155 :名無しさん@お腹いっぱい。 :02/02/24 22:48
>>154
先輩に聞けよ。

156 :名無しさん@お腹いっぱい。 :02/02/24 23:23
>>154
それ以前にshとcshの文法がごっちゃだ。
# setenv exportってなんだ(w

157 :名無しさん@お腹いっぱい。 :02/02/25 00:46
>>152
> > Attic を手で消さねばって話?
>
> これの具体的な話を聞かせてもらえると嬉しいです。

cvs remove したら Attic にいくだろう。


158 :154 :02/02/25 01:47
先輩が知らないから、僕に頼んだのです。
調べてやってくれという事で。
先輩は.cshrcも知りませんでした。
僕は、.cshrcにパスを貼ったことしかないです。
みんな起動後にそのコマンド打ってます。
もしかして板違いですか?

159 :名無しさん@お腹いっぱい。 :02/02/25 02:02
板違いとまではいかないけど、どちらかといえば
「くだらない質問」スレとか「UNIX超初心者」スレ
向きではあるな。

160 :名無しさん@お腹いっぱい。 :02/02/25 02:11
cshだったらシステムデフォルトである/etc/csh.loginとかに書いとけば?

161 :154 :02/02/25 05:37
>160
サンキュー。どういう会社なんだ内の会社は。。
今、土日に頂いた仕事が終わったところです。
2時間寝て会社出勤します。

162 :名無しさん@Emacs :02/02/25 07:22
/etc/csh.loginがわかったところで何も解決してないような。

163 :160 :02/02/25 07:40
>>162

>先輩にUNIX起動時にsetenvコマンドでCVS自動で使えるようにしとけ

というのが「各ユーザが~/.cshrcでCVSROOT設定しなくてもcvs使える
ようにしとけ」だったら、まぁ一応目的は達成できるかと。

# もちろん(t)csh使ってなかったら駄目じゃん、という話はあるけど

164 :名無しさん@お腹いっぱい。 :02/02/25 11:03
先輩を解雇しろ

165 :名無しさん@お腹いっぱい。 :02/02/25 20:46
>>163
cvs -d $CVSROOTと
./CVS/Rootと
環境変数のCVSROOTって、
優先順位はどうなってましたっけ? 単一のCVSROOTでいいなら問題ないけど、
自分のマシンとか外部のpserverのrepoからcheckoutしていたりすると、
下手にCVSROOTを設定したら痛いことになりませんか?
はっきり覚えていなくて気持ち悪いんですけど、一年前にそれで失敗してから
CVSROOTを設定しなくなったという記憶があるんです……


166 :名無しさん@お腹いっぱい。 :02/02/25 22:52
環境変数は一番優先度が低い。
今のとこ設定しててハマったことないけどなあ。
まあでも一度 co すれば CVS/Root に書かれるわけで、
設定しなくても困らないかもね。


167 :154 :02/02/26 03:15
今会社から帰りました。
今日は、障害だらけで、setenv登録する暇なかったけど、
ホームディレクトリの.login と.cshrcを両方見たけど、
どっちかにそのまま書き込めば良いような気がしました。
でもみんなが言ってる事ほとんどわかりません。
一応2年やってるんですけど、今までドキュメント作成ばっかりだったので。。

168 :名無しさん@お腹いっぱい。 :02/02/26 04:02
>>167
.login と .cshrc の関係については man csh

169 :名無しさん@お腹いっぱい。 :02/02/27 01:38
優先順位ってcvs -d、CVS/Root、環境変数のCVSROOTって順番であってるはず。

だからanonymousでcheckoutしてCVS/Rootはanonymousにしておいて、
commitするときだけ-dを指定してcommitミス防止っていうのを
聞いたことがある。

170 :名無しさん@お腹いっぱい。 :02/03/11 14:02
どなたか cvsnt (www.cvsnt.org) を使っていませんか.
CVS の勉強にと,ここから CVSNT 1.11.1.3 をとってきて [typical] で
インストールしてみたのですがリポジトリの作成でエラーが出てしまいます.
具体的には windows2000PRO(SP2) で
1.インストールしたフォルダにパスを通す.
2.システム環境変数の TEMP と TMP が同じフォルダであることを確認.
3.環境変数 CVSROOT を :local:c:\cvsroot に設定.
4.cvs init を実行.
→ cvs [init aborted]: CVSROOT c:\cvsroot must be an absolute pathname

...完全なパスネーム?
ちなみに cvs -d :local:c:\cvsroot init としても,CVSROOT を :local:c:/cvsroot
に変えても同じメッセージが出てきました.
何か分かる方いらっしゃったらお願いします.


171 :名無しさん@お腹いっぱい。 :02/03/11 14:27
>>169
高橋さんの日記?
いまいちよく理解できんかったんだけど、commit ミスっていうか
うっかりミスを repository に反映させてしまう危険を減らすって事
でいいかな?


172 :名無しさん@お腹いっぱい。 :02/03/11 14:34
別にうっかりミスをリポジトリに入れてしまっても
直してコミットしなおせばいいだけのような気もするが…
まぁ気持ちは悪いかもしれないけど

173 :名無しさん@お腹いっぱい。 :02/03/11 19:25
commit なら前の revision に戻せばいいけど、
tag を動かしちゃったら簡単には戻せないでしょ。


174 :名無しさん@お腹いっぱい。 :02/03/11 19:50
>>170
ほう。そんなものがあったんだ。知らなかった。
WinCVSじゃだめなの?これなら使えてるけど・・・

175 :名無しさん@お腹いっぱい。 :02/03/11 20:28
>>170
手元で cvsnt 1.11.1p1 を使ってるけど、問題なく使えてる。

% cvs -d :local:h:/tmp/cvsroot init

176 :170 :02/03/11 21:59
>>175
どうやら cygwin の cvs が干渉 (?) していたようで
%cvs -d :local:/cygdrive/c/cvsroot init
とすれば,一応エラー無しで終了しました.

>>174
CVS サーバがほしかったもんで,検索して見つけた cvsnt を
使ってみようと思ったんですが,wincvs はクライアント側の
機能だけですよね.


177 :名無しさん@お腹いっぱい。 :02/03/12 09:48
>>176
backslashを二つ重ねても同じですか(C:\\path\\to\\repo)?


178 :176 :02/03/12 12:00
>>176 の方法でやったって意味無いような,cygwin の CVS 使ってる訳だし,
ってことで,cgywin のパスより前に cvsnt のパスを記述して,
%cvs -d :local:c:\cvsroot init
としました.
ちなみに,backslash を重ねても改善されなかったです.



179 :名無しさん@お腹いっぱい。 :02/03/15 21:39
ねえねえ、ここってsubversion関連の話題を振ってもいいのかなあ。
新スレッドを作ってもあまり伸びないような気がするし。
マ板やム板にもなかった。


180 :名無しさん@お腹いっぱい。 :02/03/15 22:03
Linux板にはあったな、もう誰も書きこんでないが。


181 :名無しさん@お腹いっぱい。 :02/03/16 02:29
こんど仕事で rcs を使うことになったのでこのスレ読んでお勉強しようかな。
;; あ、cvs のスレだった。
個人的には cvs の方を覚えたいんだけど。ま、せっかくだから両方覚えよる
ことにしよう。これを機会に .emacs なんかを cvs で管理してみよう。

182 :名無しさん@お腹いっぱい。 :02/03/18 22:29
彼女を CVS で管理スレより下がってるから age

183 :名無しさん@Meadow :02/03/19 14:26
複数人のプロジェクトで使うのに CVS より RCS を使うメリットってあります
か?普通 CVS 使いますよね。

184 :名無しさん@Meadow :02/03/19 14:27
間違えて sage てしまったので age (w


185 :名無しさん@お腹いっぱい。 :02/03/19 14:48
そもそもRCSだと「a.cの1.2とb.cの1.5でバージョン1」「バージョン1の
ファイル全部checkout」みたいな事がやりにくいから、ソース1本位の
小さいプロジェクト位でしか使いたくないな。

そういえばprcsなんてのもあるね。ちょっと触ってみた感じだと
rcs < prcs < cvs
って感じだった。

186 :名無しさん@Meadow :02/03/19 14:54
そうですよね。CVS だと複数ファイル管理するのも簡単ですよね。
なんでうちの会社 RCS 使うとか言いだすんだろ。ていうか何で俺でさえ知っ
てることを誰も知らないんだ。ヘボ会社だなぁ。転職しよ。


187 :183 :02/03/19 14:56
何度もごめんなさい。
RCS なんかクソだ。CVS の方がこんなに便利だ。なんてことが書いてあるペー
ジなんてないですよね。自分で書くしかないか。

188 :名無しさん@お腹いっぱい。 :02/03/19 15:01
>>185
ファイル間の依存関係が低い場合、たとえば /etc 以下の設定ファイルなんか
だと RCS でも良いけど。(ファイルのロックが入るのも、むしろ都合良いし)

189 :185 :02/03/19 17:20
>>187
まずgoogleする癖を付けよう。
http://www-vox.dj.kit.ac.jp/nishi/cvs/cvs-002.html

>>188
確かに。/etcだとパスワードDBとかバイナリファイルもあるし、マシンの
用途がそれぞれ違うと設定もそれぞれ違ったりするからね。

がいしゅつっぽいけど、俺はドットファイルの管理にはCVS使ってる。
新しいマシンでユーザ作ったら、まずcvs co dotfiles; (cd dotfiles; make install )
しちゃうし、どっかのマシンで設定いじった時でもcvs updateで簡単sync。
もちろんマシン/OS依存部分には気を付けないとダメだが。

190 :183 :02/03/19 17:44
>>189
あ、そこは見ました。もうちょっと具体的なのを探してたんですが。思ったよ
うなのはなさそうです。わざわざありがとうございました。



191 :名無しさん@お腹いっぱい。 :02/03/19 18:50
>>98 さんみたいに別ディレクトリ作るんじゃなくて、ホームディレクトリに
ある dotfiles を CVS で管理することってできます? 別のファイルを置いた
ら変なものまで CVS に登録されて問題あるかな、やっぱり。


192 :名無しさん@お腹いっぱい。 :02/03/25 05:13
>>191
それはホームディレクトリ自体をCVSで管理すれば出来ると思いますよ。
importせずにファイル一つずつaddしていけば、余分なファイルを
加えることもないでしょうし。


193 :名無しさん@お腹いっぱい。 :02/03/25 13:59
>>187
単体のファイルなら、RCS の方が適当に気軽に
バージョン管理できるのでいい面もある。
RCS がクソということはないでしょ。

194 :名無しさん@お腹いっぱい。 :02/03/28 03:27
WinCVS を使いたいんですが、日本語の
詳細な解説ってどっかにありますか?


195 :名無しさん@Emacs :02/03/28 04:26
ググれ。腐るほどある。

196 :名無しさん@お腹いっぱい。 :02/03/28 08:44
本当に腐った情報もあるし >>195

197 :名無しさん@お腹いっぱい。 :02/03/28 09:44
どこかのpserverから不定期的に cvs up -dAP しているパッケージがある
じゃないですか。こういうのって前にコンパイル・インストールした時から
どう変化して、今インストールしたばかりのcore吐きまくりバージョンに
変化したかを調べるときに(revision/dateタグが残らないので)不便じゃない
ですか。お前らどうなさっていますか?
俺は
find . -name CVS -type d -exec \
  echo '{}/Entries {}/Root {}/Repository {}/Tag' \; | \
  xargs -n 300 grep '^' | sort > ../revisions/FOO

とやって、あとはlocalの修正もdiffで取ってそれから cvs update しようか、
とか考えています。こういう管理をやってくれるおりこうさんなツールとか
あるのでしょうか? やっぱりdateタグを使うのがいいのかなあ。


198 :名無しさん@お腹いーっぱい。 :02/03/28 11:29
>>196
(;´д`).。oO( 和訳ヘルプが腐っている… )

199 :名無しさん@お腹いっぱい。 :02/04/05 04:46
p2p版のcvsなんてあるのかな?
ないなら、jxtaフレームワーク上のアプリとして
作ったら面白そうかなぁ。
最近シェアードソースなんて変なものが大量に
出回るようになったから(ないよりはあるほうがいいけど(^^;)
こういうので極秘にソースを改変できるようになるとおもしろいかなーなんて。

どうでしょう?

200 :名無しさん@お腹いっぱい。 :02/04/12 10:50
一部の設定ファイルなんかに cvs 使ってますが、
プロジェクトでの利用面からもしっかり知りたいと思ってます。
いろいろ web も見てるのですが、やっぱ本も欲しい。
ってなわけで、お勧めの書籍教えてください。


201 :名無しさん@Emacs :02/04/12 11:12
秀和システム 入門CVSかな。
一人で使うのを、複数人で使う説明もあった。

202 :名無しさん@Emacs :02/04/12 11:21
おいおい!
素直にでびあんぐるにしとけって。

203 :名無しさん@Emacs :02/04/12 11:21
>>202
navi2ch使ってるのに珍しい間違いだな。

204 :名無しさん@お腹いっぱい。 :02/04/12 12:16
>>202
でびあんぐるよりは http://www-vox.dj.kit.ac.jp/nishi/cvsbook/
の方がよかった。


205 :名無しさん@お腹いっぱい。 :02/04/12 15:09
でびあんぐるのやつなら、
一部がWebで公開されてなかったっけ?
CVSの使い方のとこだけで、CVSの運用のところはぬけてるやつ。



206 :名無しさん@お腹いっぱい。 :02/04/13 11:35
>>199
シェアードソースって何?
今はどうやって流通してんの?
あとCVSだと単一のレポジトリに書きにいくからcommitの整合性は保たれるけど、
p2pだとどう?


207 :206 :02/04/20 15:38
>>199 ねえってば。


208 :名無しさん@お腹いっぱい。 :02/04/21 15:17
日本語のテキストファイルを管理したいのですが、
checkin などのときにつけるコメントは、テキストファイルと同じ漢字コードのほうがいいのでしょうか?

もしそうだとすると、
あるプロジェクトではShift JISのファイルを管理する必要があり、
別のプロジェクトではEUCのファイルを管理する必要があるとすると、
この二つのプロジェクトでコメントの漢字コードが違ってきますが、これは問題ないでしょうか?


209 :名無しさん@お腹いっぱい。 :02/04/21 19:24
>>208
ヲレは、前の会社のスクリプト(IIS; SJIS)を管理するのにCVSを使っていて、
コメントはEUCで書いてた。
ただし、,vファイルが壊れたときにエディタで直す場合は、自動コード変換する
ようなエディタを使うとアウトなので、そういう場合に書き戻す時はじゅうぶん
気をつけること。


210 :名無しさん@お腹いっぱい。 :02/04/21 21:24
>>208 wrapperかませば?

211 :ここでいいのかな :02/04/22 01:10
オープンソースなプロジェクトで
contirb されたパッチをあてたとき
Changelog に書く名前とアドレスって
パッチを送ってきた人のを書くもん?
それとも commit した人のを書くもん?

おれは後者がいいと思うんだけど、
「パッチといっしょに Changelog も送れ」って
とこもあるみたいで。

212 :名無しさん@お腹いっぱい。 :02/04/22 01:37
>>211
俺は前者が好き。Changelog の英語考えるのメンドいもん(^^;;
後者だとしても、ダレソレの patch だと Changelog に書くんだよね?
じゃないと、後で振り返るときに困る。


213 :211 :02/04/22 01:54
>>212
> 俺は前者が好き。Changelog の英語考えるのメンドいもん(^^;;
そ、それだけの理由っすか!?
いーじゃん、てきとーで。

パッチを書いたのが誰だろうと
最終的に source tree に統合することを決めるのは committer だから、
commit した人を書くべきだと思うんだけど。

> 後者だとしても、ダレソレの patch だと Changelog に書くんだよね?
もちろん。


214 :名無しさん@お腹いっぱい。 :02/04/24 15:38
ホームページを複数人で管理するのに、cvsを使おうと思ってるのですが、
現在、commitされた変更を反映させるのに毎回checkoutしています。
commitされた時点ですぐに反映させるにはどうしたらよいのでしょうか?


215 :名無しさん@お腹いっぱい。 :02/04/24 15:46
なんで毎回checkoutしてるんよ。普通updateだろ。

「commitされた時点ですぐ反映」って?
commitされたら他人の作業ディレクトリをupdateしろってか? そら無茶だ。

commitlog辺り使えば、commitした時にメールでお知らせとかはできるはず
だけど(俺は実際に設定した事ないけどFreeBSD Projectなんかではやってる)

216 :名無しさん@お腹いっぱい。 :02/04/24 16:33
>>215
> なんで毎回checkoutしてるんよ。普通updateだろ。

あ、そうなんですか。なんとなくこうしてました。

> commitlog辺り使えば、commitした時にメールでお知らせとかはできるはず
> だけど(俺は実際に設定した事ないけどFreeBSD Projectなんかではやってる)

なるほど。contribにいろいろ便利なスクリプトがあることを今発見しました。
どうもありがとうございました。

217 :名無しさん@お腹いっぱい。 :02/04/24 16:51
>>214
ttp://www.ht.sfc.keio.ac.jp/~iwaiwa/cvs/web-management.html
ttp://www.ohnolab.org/~kimoto/how-to-use-cvs-03.html
上のって参考にならない?

つーか,これを CVS for NT でやろうとして悪戦苦闘してるんだが...


218 :214 :02/04/24 17:21
>>217
おぉ!
やはり出来るのですね。
大変参考になりました。ありがとうございました。


219 :名無しさん@お腹いっぱい。 :02/04/24 21:49
>>217
リポジトリをNTに持つなら、むしろCygwin上のcvs使った方が各種ツール
と連携取れて楽かも。apache+cvswebもできるし。

Cygwin標準パッケージの奴はpserverサポートしてないらしくてうまく
動かなかったけど
ttp://www2.raidway.ne.jp/~yzone/dists/cygwin/cvs/
ここのはpserver動いたよ。rshとかssh経由は試してないけどね。

# あ、なんか今まさに1.11.2に更新してる最中みたいだ(w

220 :217 :02/04/25 00:22
>>219
> >>217
> リポジトリをNTに持つなら、むしろCygwin上のcvs使った方が各種ツール
> と連携取れて楽かも。apache+cvswebもできるし。
今やってるのは,ローカルマシン (WIN2000) で CVS for NT &
ANHTTPD + CVSWEB for NT で動いてます.
そこにあるモジュールを別の WIN2000 で動いてる WEBLOGIC で自動 update
をしたいのです.(ちなみに両方のマシンに Cygwin は入ってます)
で,217 であげたサイトを参考にして

#!/bin/sh
rsh -l USRNAME DOMAIN 'cd /cygdrive/c/hogehoge/testDIR; cvs update -d&'

というスクリプト (updatescript) を書いて module ファイルに
testmodule -i C:\home\updatescript testmodule
としてみたんですが,反応無し.
(もちろん bash から updatescript を動かしてみると自動 update は
成功してるのは確認しました)
むー,DOS で動かさなあかんのか,と思って #!/bin/sh を取って
c:\cygwin\usr\bin\rsh -l USRNAME DOMAIN "cd ...; cvs update -d&"
をコマンドプロンプトから実行してみて自動 update の成功を確認.
ということで,updatescript を上記のものにしてみて,ci してみたら
cmd.exe のウィンドウが出てきてそこでストップ.
そのウィンドウを閉じる (右上の × を押す) と初めて自動 update が
出来ている.
コマンドプロンプトで実行するとちゃんとプロンプトは返ってくるのに
何故なんだ,というところです.


221 :217 :02/04/25 00:26
むーう.
>>220
> (もちろん bash から updatescript を動かしてみると自動 update は
> 成功してるのは確認しました)
→ updatescript を動かしてみると update はうまくいきました.

> c:\cygwin\usr\bin\rsh -l USRNAME DOMAIN "cd ...; cvs update -d&"
> をコマンドプロンプトから実行してみて自動 update の成功を確認.
→ コマンドプロンプトから実行してみて update の成功を確認.

つか,長文すみません.


222 :名無しさん@お腹いっぱい。 :02/04/25 02:00
>>221
パスの関係でC:\WINNT\system32\rsh.exeを使ってるとか?


223 :217 :02/04/25 10:41
>>222
会社で確認してみたら,updatescript は updatescript.cmd にして

cd %HOME%
sh updatescript.sh

と記述していて,updatescript.sh で

/usr/bin/rsh -l USRNAME DOMAIN 'cd /cygdrive/c/weblogic/.....; cvs update -d &'

としていました.
(コマンドプロンプトから sh updatescript.sh を実行すると,update は成功)
こうしてるんで,win の rsh を使用してはいないと思うんですが.


224 :名無しさん@お腹いっぱい。 :02/04/25 11:32
この手のわけわからんエラーの時は、cygwin1.dllを疑った方がいいかも。
1.3.9以前なら1.3.10にしてみるとか、既に1.3.10なら逆に1.3.9に戻したり。
cygwin1.dllだけなら入れ替えもそんなに大変じゃないし。
# どのバージョンだったか忘れたけど、非Cygwinアプリとの連動がおかしい
# ってバグも過去にあった

225 :名無しさん@お腹いっぱい。 :02/04/25 13:58
質問お願いします。

下図のように、ブランチ('eda')のあるプロジェクトで、
「同じブランチ内で、二日前との差分を取る」(b2とb3)には
どうすればよいのでしょう?


           b1(4/5)---b2(4/8)---b3(4/10)     (branch 'eda')
           /
a0(4/1)---a1(4/5)---a2(4/8)---a3(4/10)       (trunk)


$ cvs rdiff -D "2 days ago" -r eda modulename
('eda'をcoしたディレクトリで) $ cvs diff -D "2 days ago"

などとすると、b2とb3ではなく、a2とb3の差分が出力されてしまいます。

あらかじめタグを付けておくしか方法はないのでしょうか。。?

226 :名無しさん@お腹いっぱい。 :02/04/25 17:24
>>225
rdiffで-Dだとどの枝から取るのか指定できないと思います。
rdiffじゃなくてdiffつかうとどうでしょう?


227 :225 :02/04/25 21:12
>>226
回答ありがとうございます。

試してみましたが、やはり-Dは幹を指してしまうようです。
$ cvs diff -D "2 days ago" -r eda
$ cvs diff -r eda -D "2 days ago"
だとやはりa2とb3の差分になります。

$ cvs diff -r eda -D "2 days ago" -r eda
みたいな指定は出来ませんし…

228 :名無しさん@お腹いっぱい。 :02/04/25 23:52
>>227
> 試してみましたが、やはり-Dは幹を指してしまうようです。
あらら、ごめんなさい。

えーと、手元のFreeBSDのcontribに入ってるCVSのソースをみたところ、
-jなるオプションがあるようです。

cvs diff -jeda1:yesterday -jeda2:today -u

みたいにできそうなのですが、試してみてもらえませんか?


229 :225 :02/04/26 00:23
>>228
diff: invalid option -- j
rdiff: invalid option -- j

と、怒られてしまいました…が、FreeBSD-4.4Rだからかも。

man cvsすると
       diff [-kl] [rcsdiff_options] [[-r rev1 |  -D  date1  |  -j
       rev1:date1]   [-r  rev2  |  -D  date2  |  -j  rev2:date2]]
       [files...]
とあったので、4.5Rまで上げれば実現しそうです。
(見てた説明書も古かった…http://www.sodan.org/~penny/vc/cvs-ja.html)

どうもありがとうございました!

230 :名無しさん@お腹いっぱい。 :02/04/26 04:47
なんつーか、CVSの超有名なのに直されないバグのひとつだね。

231 :初めてのCVS :02/04/27 00:39
リポジトリ用に Solaris8で user cvs, /home/cvs を作り、
setenv CVSROOT /home/cvsでcvs initすると、
cvs [init aborted]: cannot make directory /home/cvs: Operation not applicable
となっちゃうんですが、ホーム直下にはCVSROOTは作れない
んでせうか。/home/cvs/cvsでとりあえずできましたが。


232 :名無しさん@お腹いっぱい。 :02/04/27 00:46
>>231
んなこたーないと思うけど。
うちは(FreeBSDだけど)mount /optで/opt/cvsなんてしてるし。
パーミッション関係でなんかちょんぼしてたとかじゃないのかねぇ。

233 :初めてのCVS :02/04/27 01:15
ええ、パーミッションは755,775,777とか試したんですが
ダメでした。/home/cvs/cvsは775で出来てます。

234 :CYGWIN T_T :02/04/27 17:44
cygwin の cvs で ssh 経由がうまくいかないのはガイシュツですか?



235 :名無しさん@お腹いっぱい。 :02/04/27 18:24
>>234
少なくとも、importやinitは動いたけど?

236 :初めてのCVS :02/04/27 23:44
ところで、Solarisの流儀に従って、/export/homeをexport
して/homeにmountしているんだが、試しにsetenv CSVROOT
/export/home/cvsでやったら、上手くできた。結果的に
/home/cvs/CVSROOTができたので、まあ良いかと思いimport
したら、~/ 直下にモジュール・ディレクトリがボコボコ出来
ちゃうのね。えれー汚くなるので、結果的にサブディレクトリ
配下に置くことにしましたん。お騒がせ失礼。

237 :nanashi :02/04/27 23:46
>>235
> >>234
> 少なくとも、importやinitは動いたけど?

ssh の設定かね。 こちfらは どうも username がうまくわたってないようだ。



238 :初めてのCVS :02/04/27 23:47
>>236
s/setenv CSVROOT/setenv CVSROOT/

239 :名無しさん@お腹いっぱい。 :02/04/28 08:20
開発 LAN で CVS 鯖立てる話が出てるんだけど、マシンスペック要るかな。
20〜30人に狂う僧 500MHz ノートじゃ、やっぱ厳しい?

240 :名無しさん@お腹いっぱい。 :02/04/28 08:33
>>239
普通の使いかたなら十分かと。


241 :名無しさん@お腹いっぱい。 :02/04/29 02:04
>>239
プログラムソースとか、テキストだけなら楽勝と思われ。
巨大な画像とか音声とか、バイナリファイルを扱うんだとしたら、CPUよりも、LANの線の太さとかメモリがノートでは厳しい。

242 :241 :02/04/29 02:13
で、だ。
巷にある、もしくは自作のバイナリ差分取得ツールをCVSに組み込むにはどうしたらいいんだろう?
もしかして、無理?
ディスクスペースをなるべく圧迫させないようにバイナリファイルのリビジョン管理をしたいのだ。

自称「安い」高価なPerforceは「圧縮して管理します」とかいってますな。

243 :名無しさん@お腹いっぱい。 :02/04/29 13:00
>>242
cvswrappersに -f/-t フィルタとして書く、というのは?


244 :241 :02/04/29 17:27
cvswrappersのオプションって -m / -k だけじゃないの?

245 :243 :02/04/29 17:55
>>244
バグがあるので無効にしてあるみたいね。
ソースには書き方の例も載ってる。

1. $CVSROOT/CVSROOT/cvswrappers には書いてある(こっちはversion 1.11p1)。
2. ttp://ccvs.cvshome.org/source/browse/ccvs/src/wrapper.c


246 :名無しさん@お腹いっぱい。 :02/04/30 22:38
バイナリdiffをグーグってみたが、なかなか見つからないYO!
バイナリの差分ってそれほど需要ないのかな…

247 :名無しさん@お腹いっぱい。 :02/04/30 23:35
xdelta


248 :名無しさん@お腹いっぱい。 :02/05/01 01:38
バイナリとテキストを区別すんのがメンドイ YO!
ディレクトリまるごと簡単に管理する
なんか楽ちんな方法ないかな。

249 :名無しさん@お腹いっぱい。 :02/05/01 01:48
>>248
なんで?
拡張子の種類が多すぎる、あるいは、拡張子が同じでもテクストとバイナリの両方があるってこと?

250 :名無しさん@お腹いっぱい。 :02/05/01 11:12
Unixの習慣だと、binaryそのものよりそれを生成する sourceを
保管するもんだろうからな。意味的に差分とりやすいし。
とはいえ、bitmapとかやはり..


251 :名無しさん@お腹いっぱい。 :02/05/01 14:08
1バイト1行のuuencodeとか。
アホくせー(w

252 :名無しさん@お腹いっぱい。 :02/05/01 14:21
(´-`).。oO(放置しておこう)

253 :名無しさん@お腹いっぱい。 :02/05/01 20:34
じゃあsubversionか。
* Faster network access. A binary diffing algorithm is used to
store and transmit deltas in *both* directions, regardless of
whether a file is of text or binary type.

最近はcheckoutの途中でctrl-cを押すと .svn/ の中身が再開できない状態に
なっちゃったりしないのかなあ。


254 :名無しさん@お腹いっぱい。 :02/05/03 02:39
Subversion使ってる人いますか?
http://pc.2ch.net/test/read.cgi/linux/1002355536/


255 :253 :02/05/04 07:25
>>254
1. そこに書いても誰も反応しない、所詮は犬板
2. そもそもsubversionは犬specificではない
3. きらいやねん犬板


256 :名無しさん@お腹いっぱい。 :02/05/04 13:17
Subversion って、これ?
http://subversion.tigris.org/


257 :名無しさん@お腹いっぱい。 :02/05/04 14:31
(´-`).。oO( Subversionって、perversionとかinversionとか連想して
               なんとなくイヤだなあ…

258 :225 :02/05/08 12:00
>>225です。その節はお世話になりました。
4.5Stableにageたらcvs diff -jが使えるようになりました。
#Concurrent Versions System (CVS) 1.11.1p1-FreeBSD (client/server)
#(cvs -H diffしても-jは出て来ませんが…)

それとは別に、ちょっと気になることがあったのですが:


             b1(4/5)---b2(4/8)---b3(4/11)     (branch 'eda')
             /
  a0(4/1)---a1(4/5)---a2(4/8)---a3(4/10)       (trunk)
  
cvs co -r eda modulenameしたディレクトリ(b3)で
cvs diff -r HEADすると、以前はb3とa3の差分が出力されていたと
思うのですが、今やるとb3とb3の差分(つまりφ)が出力されるようです。
HEADの意味合いが変更(常に幹の最新→その時の枝の最新)になったのでしょうか?

..., two special tags are always available: `HEAD'
refers  to the most recent version available in the
repository, and `BASE' refers to the  revision  you
last  checked  out  into the current working direc-
tory.

と、manにはあるのですが…

#cvs rdiff -r eda -r HEAD modulename、または
#cvs diff -Dtodayとやるとb3とa3の差分が出るようです。

259 :名無しさん@お腹いっぱい。 :02/05/08 12:16
>>257
よーしパパ perversion ってソフト作っちゃうぞー


260 :名無しさん@お腹いっぱい。 :02/05/08 15:25
いきなりですが、CE (HPC) で動く CVSってないでしょうか。
できれば ssh対応で。

これがあるとモバギ生活がさらに楽しくなることうけあい。

netbsd/hpcmips というのがまっとうなんだろうけどNE


261 :名無しさん@お腹いっぱい。 :02/05/08 20:11
全然Unixでの話ではないのですが、下記の環境で WinCVS を使っています。

・LAN内の Win2k server マシンの共有ディレクトリ上にリポジトリを作成
・クライアントは Win2k pro マシン、WinCVS 1.2 + ごった煮を使っています。
・アクセス方式(?)は :local:\\マシン名\共有名\hoge\cvsroot という感じ。

現在、あるファイルが commit できなくなって困っているのですが、
どなたか解決策をご存じの方はいらっしゃいませんか?
commit しようとすると、下記のメッセージが出て commit できない。
WinCVS の画面の下にあるログには下記のように出ています。

---------------
cvs commit -m "メッセージ" filename.txt (ディレクトリ c:\myfolder\内)
Checking in filename.txt;
\\hostname\ShareName\hoge\cvsroot/moduleName/src/filename.txt,v <-- filename.txt
new revision: 1.75; previous revision: 1.74
cvs [commit aborted]: cannot rename file \\hostname\ShareName\hoge\cvsroot/moduleName/src/,filename.txt, to \\hostname\ShareName\hoge\cvsroot/moduleName/src/filename.txt,v: File exists
---------------

実際に \\hostname\ShareName\hoge\cvsroot\moduleName\src をのぞいても、
filename.text,v はありません。

WinCVS の設定は、
[管理]-[設定]-[全般]タブ の CVSのバージョンは、「cvs 1.10(標準)」にしています。
[共通設定]タブでは、読み込み専用でチェックアウト、Dirtyファイルサポート、
空のディレクトリを削除にチェックを入れています。

ちなみに、CVSのバージョンのところで「cvs 1.10(NTサーバ)」にしていたときは、
commit に失敗すると ,filename.txt が残るため、cvs 1.10(標準)にしました。
これでしばらく安定していたのに...


262 :名無しさん@お腹いっぱい。 :02/05/08 20:29
>>261
思いっきり板違いだから他でやっとくれと言いたい所だが...

とりあえず1.1b15
http://www.linkclub.or.jp/~tumibito/soft-an/cvs/download.html
で試してみたら?

# 試す前にリポジトリのバックアップはとっとくよーに

263 :名無しさん@お腹いっぱい。 :02/05/08 22:16
>>258
| HEADの意味合いが変更(常に幹の最新→その時の枝の最新)になったのでしょうか?

そんな…… 枝がHEADにmergeされたとかいう可能性は?

HEADとbranchで内容が違っているファイル foo を、
$ cvs up -prHEAD foo > /tmp/foo.HEAD
$ cvs up -prBASE foo > /tmp/foo.BASE
$ diff -u /tmp/foo.BASE /tmp/foo.HEAD
して調べてみたら?


264 :261 :02/05/08 22:17
>>262 さん
レスどうもありがとうございます。
試してみましたが、結局うまくいきませんでした。

ひとつわかったことがあるのですが、リポジトリ上でcommit できないファイルを
直接リネームしようとすると、windows の「このファイルは共有中です」といって
OSがファイルをロックしてしまい、別のクライアントからアクセスできませんでした。
commit できるファイルは、リポジトリ上のファイルを直接リネームとか
できます。

で、ロックされているファイルを右クリックしてファイルの所有者を調べ、
その所有者のマシンを再起動してもらいロックをはずすことで解決しました。

ちなみに社内の別のチームでも同じことが過去に起っていて、そのときは
win9xなクライアントからアクセスすると同じことが起きました。
この場合はサーバマシンを再起動しないとだめでした。

以上、スーパー板違いで申し訳ありませんでしたが、all windows な環境で
:local 方式で WinCVS を使っている場合の参考になれば幸いです。
(all windows で WinCVS な人は多いと思うんだけど、そういう人はこの板に
いないか...)


265 :名無しさん@お腹いっぱい。 :02/05/08 22:37
>>263
こういう感じでした:

% cvs up -prHEAD foo > /tmp/foo.HEAD
% cvs up -prBASE foo > /tmp/foo.BASE
% diff -q foo.BASE foo.HEAD
Files foo.BASE and foo.HEAD differ
% cvs diff -rHEAD
cvs diff: Diffing .
% cvs diff -rBASE
cvs diff: Diffing .
% cvs diff -rTRUNK_1
cvs diff: Diffing .
Index: install.sh
(...延々と差分...)
% cvs diff -Dtoday
cvs diff: Diffing .
Index: install.sh
(...延々と差分...)

-rHEADでも、-rBASEでも全くdiffが出力されないので、HEADの定義とは
また別個の問題のような気もするのですが。。

266 :263 :02/05/08 23:09
>>265 checkoutされているのはHEADなんじゃ……


267 :名無しさん@お腹いっぱい。 :02/05/08 23:27
>>266
そ、そんな。。

% cvs status install.sh
cvs status install.sh 
===================================================================
File: install.sh    Status: Up-to-date

Working revision:  1.1.1.1.2.3   Mon May 6 12:14:14 2002
  Repository revision: 1.1.1.1.2.3   /usr/home/blabla/cvsroot/modulename/install.sh,v
  Sticky Tag:     eda (branch: 1.1.1.1.2)
  Sticky Date:     (none)
Sticky Options:   (none)

268 :名無しさん@お腹いっぱい。 :02/05/17 14:11
いま loginfo を使って自動 update をする設定にしているんですが,
PCL-CVS でコミットすると自動 update できません.

loginfo に
^html /export/home/users/scm/updatehtml

と書いて,updatehtml には
#!/bin/sh
CVSROOT=/export/home/cvsroot
export CVSROOT
cd /export/home/wwwroot/html
/usr/local/bin/cvs update -dP &

と書いていて,setuid ビットを立てています.

この状態で (/export/home/hoge/html/sample.html を) コミットすると,
コンソールでは
% cvs ci -m "test" sample.html
Checking in sample.html;
/export/home/cvsroot/html/sample.html,v <-- sample.html
new revision: 1.7; previous revision: 1.6
done
cvs update: [13:58:44] waiting for hoge's lock in /export/home/cvsroot/html
cvs update: [13:59:14] obtained lock in /export/home/cvsroot/html
U sample.html

となって自動 update は出来ているのですが,PCL-CVS からだとコミットは
出来ているのですが,自動 update を行ってないのです.
*Message* では

Press C-c C-c when you are done editing.
(No files need saving)
Running cvs commit ...
CVS process has completed

となっていて Error にもなってないようです.

.emacs には
;;; for PCL-CVS
(load-library "pcl-cvs-startup")
(setq diff-switches "-c")
(global-set-key "\C-cv" 'cvs-update)

としてあります.pcl-cvs-2.9.9 です.
何か他に設定がいるのでしょうか.


269 :名無しさん@お腹いっぱい。 :02/05/17 14:40
>>268
シェルスクリプトはsuidできないよーな。

270 :名無しさん@お腹いっぱい。 :02/05/19 18:47
>>236
これって、mountオプションのnosuidとかそういうのが
原因なのかねえ。


271 :初期不良 :02/05/19 22:22
初めて CVS を使うんですが、
php での開発に試しにここにある WinCVS を使ってみました。
http://www.gembook.jp/html/moin/moin.cgi/CvsInfo
何となく慣れてきたんですが、ディレクトリごとアップロードするのに
各ディレクトリに作られる CVS ディレクトリがじゃまなんです。
けど、 http://www.naney.org/comp/cvs/faq/#cvsdirectory
を見るとどうしようもない気もします。
cvsup だったらこの辺の制御用ディレクトリはできないかな?
アップロードの代わりにアップロード先に cvsup と言うのも
ありですか?

272 :初期不良 :02/05/19 22:23
>>271
あ、ローカルに CVSROOT 作って試しています。

273 :名無しさん@お腹いっぱい。 :02/05/19 22:26
(´-`).。oO( CVSディレクトリが邪魔になるって
        一体どういうことをしてるんだろう。。。

274 :名無しさん@お腹いっぱい。 :02/05/19 22:27
>>271
checkoutでなく、exportしたら?

275 :名無しさん@お腹いっぱい。 :02/05/19 22:28
>>271 何をしたいのかわからんがexport使えば?

276 :初期不良 :02/05/19 23:40
>>273
コンパイルの代わりに動作環境にアップロードってな感じなんで、
安定するまでの作業中にディレクトリごとアップロードしたいときに
じゃまになるんです。
>>274-271
どうもです。WinCVS のチェックアウト時のオプションに
「CVS管理用のディレクトリを作らない(export)」と言うのが
見つかりました。けどやっぱり CVS 管理外になってしまって
このまま作業はできないんですね...
どこか別にまとめて持ってくれるだけでも助かるんですが...
テスト環境には管理ディレクトリも気にせずアップロード、
本番環境には export したものをアップロードってのがいいのかな?

277 :名無しさん@お腹いっぱい。 :02/05/20 00:02
(´-`).。oO(GTETの作者なんだろうか…?)

278 :名無しさん@お腹いっぱい。 :02/05/20 00:11
>>276
CVSROOT/loginfoとか使って自動的にftpするとか。
シェル使えるなら鯖側にリポジトリ置いた方が楽かな。

279 :初期不良 :02/05/20 01:32
>>277
...

>>278
loginfo 見てみました。なんか commit 通知をどこに送るか
みたいなことが書いてありましたが、確かに自動的に ftp
させるようなこともできるみたいですね。鯖側に...
そか、コピーするだけでいいような状態にもできますしね。
勉強になります。

280 :名無しさん@お腹いーっぱい。 :02/05/20 10:21
>>279
いや、むしろ

 1. バッチ処理で 「もし export が成功ならば ftp でアプロドする」
または
 2. サーバ側で CVS を動かす
  (クライアント側の CVS から接続できない場合は、
  telnet かなんかで鯖のシェルに CVS コマンドを叩き込む…が、
  これじゃ GUI は使えない)
または
 3. 鯖のディレクトリをクライアントのファイルシステムにマウントする

つーあたりが現実解なのではないかと。

281 :名無しさん@お腹いっぱい。 :02/05/20 18:28
サーバに転送するときに CVS ディレクトリを除外すればいいんじゃないの?
今時の大抵のツール (何使ってるか知らないけど) ならそういう機能持ってるのでは?


282 :名無しさん@お腹いっぱい。 :02/05/20 18:39
(´-`).。oO( データファイルを千単位のディレクトリに小分けしてるような
        プロジェクトだったら嫌そうだなあ。。。

283 :名無しさん@お腹いっぱい。 :02/05/20 19:19
普通 CVS という名前でマッチングできるのでは?


284 :名無しさん@お腹いっぱい。 :02/05/20 20:11
>>281 rsyncは装備してるよね!

285 :初期不良 :02/05/22 01:45
>>280
commit する前にサーバに送って試したいので...

>>281
SCP しか使わない感じになってきてるんで
ちょっとツールは弱い感じ。WinSCP と putty の scp は無理かな。

結局テスト環境には気にせず転送(マウントでもいいけど)
ってのがいいのかも。あとで消す場合は楽だしね。
実際あって動作に支障がある訳じゃないし。

286 :名無しさん@Emacs :02/05/22 09:37
cvsignoreを使って除外するファイルは指定出来ますが
排他的に指定は出来ないでしょうか?
Webページをcvsで管理したいのですが、*.html以外は
いらないです。

287 :名無しさん@Emacs :02/05/22 14:47
cvsってシンボリックリンンクは追えないのでしょうか?
dotfileを一つのディレクトリにシンボリックリンンクを
張って管理しようとしたのですが…。

288 :名無しさん@お腹いっぱい。 :02/05/22 20:05
>>287 CVSの欠点の1つです。

289 :名無しさん@お腹いっぱい。 :02/05/22 20:34
ところで、bitkeeperってどうよ

近頃、急速にひろがってるみたいだけど

http://www.bitkeeper.com/Products.Comparisons.CVS.html
http://www.bitkeeper.com/


290 :名無しさん@お腹いっぱい。 :02/05/22 20:38
>>289
お値段書いてないっす

291 :名無しさん@お腹いっぱい。 :02/05/22 20:51
>>289
*BSD開発があれだけうまくいってる(ように見える)とCVSで十分と思えるけど…。
あれはあれで開発者は不満なのかな??
でも不満があれば作り変えちゃう連中だしなぁ???

292 :名無しさん@お腹いっぱい。 :02/05/22 22:48
>>286 こんなんどうかな……
*.[^h]???
*.?[^t]??
*.??[^m]?
*.???[^l]


293 :286 :02/05/23 00:37
>>292
~/public_html/.cvsignoreに書いてみましたが効果ナッシングです。
.jpgやら.plやら.cgiやら、可能性のある拡張子を登録していくなんて美しくないです。
htmlを管理している人はどうしてるんですかね…。

294 :名無しさん@お腹いっぱい。 :02/05/23 00:53
>>293
普通、ディレクトリ丸ごとリポジトリにつっこむだろ。

295 :286 :02/05/23 00:55
>>294
バイナリや関係無いファイルも気にせずGoって事ですか。


296 :名無しさん@お腹いっぱい。 :02/05/23 01:21
>>295
.cvsignoreは
*
のみ(全ファイル対象)にする。

*.htmlなファイルをcvs add & ci。

これで*.htmlだけCVSで扱えるような、
そんな予感がします。
予感だけかもしれないsage。


297 :286 :02/05/23 01:44
>>296
なるほど。いい感じです。

298 :294 :02/05/23 02:00
>>295
ある時点での作業状況が完全に再現できるというメリットを考えればバイナリも入れるべきだと俺は思う。
CGIスクリプトのログとかは微妙だけど。

299 :286 :02/05/23 02:02
>>298
確かに…。


300 :286 :02/05/23 02:25
訂正
>>293では.cvsignoreを置く場所がまずかったようです。
~/.cvsignoreに置かないと駄目なんですね。

301 :286 :02/05/23 03:05
>>296
> *.htmlなファイルをcvs add & ci。

ディレクトリ以下全ての*.htmlを
追加する方法はないでしょうか?
zshを使っています。

302 :286 :02/05/23 03:56
思ったんですけど、cvs addってファイル単位で出来ませんよね。

cvsignoreで*を指定
public_htmlでcvs import →何も追加されない
cvs checkout
cvs add *.html →これでカレントディレクトリのhtmlは追加出来る。
cvs commit →反映

で、サブディレクトリ以下の*.htmlや、今後増える。*.html
を追加するには…?

303 :名無しさん@お腹いっぱい。 :02/05/23 04:07
>>302
> 思ったんですけど、cvs addってファイル単位で出来ませんよね。
そうだったのか。知らんかったYo!

304 :286 :02/05/23 04:10
あれ、違ったのですか。
すいません。

% cvs add aaa/index.html
cvs add: in directory aaa:
cvs [add aborted]: there is no version here; do 'cvs checkout' first

ってなって出来ないんですけど。
cvs checkoutはしえあるのですが。
確かにaaa/CVSはないですけど。


305 :名無しさん@お腹いっぱい。 :02/05/23 04:44
cvs add aaa

306 :286 :02/05/23 07:20
>>305
それって、結局ファイル単位でadd出来ていませんよね。

307 :名無しさん@お腹いーっぱい。 :02/05/23 09:23
>>295
あー、そうすると core もなノカー Σ(´Д` )ズガーン

308 :286 :02/05/23 09:50
ファイルを追加出来ました。
addの後、commitするにもファイルを指定するんですね。

309 :名無しさん@お腹いっぱい。 :02/05/23 16:56
>>304
cvs addはファイルのあるディレクトリでしか出来ないよ。
% cd aaa
% cvs add index.html

ま、一度
% info cvs
しなさいってこった。

310 :286 :02/05/23 17:19
>>309
おう、そうなんですか。ありがとう。
一応本も買って勉強してるんですがね。

311 :名無しさん@お腹いっぱい。 :02/05/23 18:12
>309
    |
   /⌒ヽ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  │ ・◎・)< そーでもないよ
  │ ・  つ  \
  │ ・  │    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   \_/
cvs add aaa/index.htmlが成功するためには
ディレクトリaaaがcvsの管理下にあればいいよ。
cvs add aaaすればaaaが管理下に入る。

cvs add files/patch-*とかよくやりますです。

312 :名無しさん@お腹いっぱい。 :02/05/23 20:27
>>311

   Unlike most other commands, the `add' command is not recursive.  You
cannot even type `cvs add foo/bar'!  Instead, you have to

     $ cd foo
     $ cvs add bar

って書いてあったからそうなのかなあと(cvs.info)。

313 :名無しさん@お腹いっぱい。 :02/05/23 20:59
>312 実際の動作から見ると、infoが追いついてないのかなあ。
~$ cvs co test
cvs checkout: Updating test
U test/VERSION
~$ cd test/
~/test$ ls -lF
total 2
drwxr-xr-x 2 nanashi nanashi 512 May 23 20:50 CVS/
-rw-r--r-- 1 nanashi nanashi 9 Jan 15 2001 VERSION
~/test$ mkdir newdir
~/test$ cvs add newdir
Directory /home/nanashi/cvs/test/newdir added to the repository
~/test$ touch newdir/newfile
~/test$ cvs add !$
cvs add newdir/newfile
cvs add: scheduling file `newdir/newfile' for addition
cvs add: use 'cvs commit' to add this file permanently
~/test$ cvs commit -m ''
cvs commit: Examining .
cvs commit: Examining newdir
RCS file: /home/nanashi/cvs/test/newdir/newfile,v
done
Checking in newdir/newfile;
/home/nanashi/cvs/test/newdir/newfile,v <-- newfile
initial revision: 1.1
done
~/test$ uname -sr
OpenBSD 3.0


314 :名無しさん@お腹いっぱい。 :02/05/23 21:11
>>313
ホントだ、出来るようになってる。目出度い。

では、>>304

% cvs add aaa
% cvs add aaa/index.html

でいいわけですね。

315 :名無しさん@お腹いっぱい。 :02/05/28 23:37
knu cvsweb なんですけどタグ指定でdiffとると
「Error: Malformed query 」って言われちゃいます。
こんなふうに↓
http://www.ruby-lang.org/~knu/cgi-bin/cvsweb.cgi/ruby/COPYING.diff?r1=text&tr1=1.1&r2=1.1.1.2.6.4%3Av1_6_7&tr2=1.1.1.2.6.4
どうにかならないですか?


316 :名無しさん@お腹いっぱい。 :02/06/02 13:39
(´-`)。oO(>>315 knu@ruby-lang.org にメール出せばいいんじゃないかな。)


317 :名無しさん@お腹いっぱい。 :02/06/05 06:02
dot.fileをシンボリックリンンクを張り、1ヶ所に集めてCVSで管理しようと
したのですが>>287-288を見ると出来ないようですね。

そこで、逆に本物のファイルを1ヶ所に集めて、~/以下にシンボリックリンンク
を張る事にしました。
% ls -l .emacs.el
lrwxr-xr-x 1 mona- wheel 24 Jun 5 05:49 .emacs.el@ -> work/dot.files/.emacs.el

これでうまくいきそうなのですが、Emacsから~/.emacs.elを開こうとすると

Symbolic link to CVS-controlled source file; follow link? (yes or no)

と聞かれ(たぶんPCL-CVSの機能だと…)、Linkを追うのでyesと答えると

Selecting deleted buffer

と共にbeep音が鳴ります。~/.emacs.elのバッファは表面に出て来ません。
noと答えると、ファイルが開けます。
どう違うのかよくわかりませんが、noで問題無いなら無条件でnoにしたいのですが
やり方を知っていませんか?

318 :名無しさん@お腹いっぱい。 :02/06/05 13:34
(´-`).。oO(ハードリンクじゃだめなんだろうか?・・・)




319 :317 :02/06/05 16:53
>>318
ハードリンクだと、~/work/dot.files/の中のdot.fileを修正しあと
~/のdot.fileに自動に反映されない気がするのですが。
シンボリックリンンクだと反映されますよね。


320 :317 :02/06/05 16:53
自分馬鹿なんで、間違った事書いてたら、どんどん煽って下さい。

321 :名無しさん@お腹いっぱい。 :02/06/05 17:09
(´-`).。oO(とりあえずハードリンクでためしてみてはどうだろうか?・・・)


322 :名無しさん@お腹いっぱい。 :02/06/05 17:13
file system が違うと利用できない > ハードリンク



323 :317 :02/06/05 18:07
>>321
もちろん試しました。
しかし、自分のやった範囲では、反映されませんでした。
きっと、自分のやり方が間違ってると思うのですが、
どう間違っているのか分かりません。

>>322
file systemはufsです。

324 :名無しさん@お腹いっぱい。 :02/06/05 19:14
ufsでもハードリンクは使えると思うのだが、
~/work/dot.files/.emacs.el
があったとして、
~/

ln work/dot.files/.emacs.el
ってやってつくったんだよね?

ls -iでi-nodeが同じになってるかどうか調べてみ。


325 :317 :02/06/05 20:13
>>324
cd work/dot.filesして
cvs import したあと、管理を初めるのにcvs checkoutした時に
ハードリンクを切ってしまったからのようです。
cvs checkoutする時に 1度work/dot.filesを消したから当然かも。
cvs checkoutしたあと、ハードリンクを張る事で解決したようです。

ありがとうございました。また、お世話になると思いますが
よろしくお願いします。


326 :名無しさん@お腹いっぱい。 :02/06/05 20:50
それって、backup-by-copying を t にする必要がありそうだね。
いままでこの変数を気にしたことなかったけど。

327 :名無しさん@お腹いっぱい。 :02/06/05 21:19
ん?なんで?


328 :名無しさん@お腹いっぱい。 :02/06/05 21:32
あぁ、そっか、ぼけてた。
backup-by-copying-when-linked
でもいいみたい。


329 :317 :02/06/06 11:36
当然checkoutするとi-nodeが変わるのか…。

330 :名無しさん@お腹いっぱい。 :02/06/06 12:10
うん? ちょっとまとめてもらいたいんだけど、
backup-by-copying なり backup-by-copying-when-linked を
t にした状態において、vc とか pcl-cvs で ci, co などを
したときハードリンクは正しく維持されてるの? >>317


331 :名無しさん@お腹いっぱい。 :02/06/06 13:44
ドットファイルを直接管理した方が楽だろうに

332 :名無しさん@お腹いっぱい。 :02/06/06 16:52
ふと思うに、
~/.emacs.el
を編集するのではなく、
~/work/dot.files/.emacs.el
を編集すればシンボリックリンクのままでいいのではなかろうか?


333 :317 :02/06/06 18:14
>>330
こんがらっているので、もう1度整理してみます。

>>331
cvs importした時に~/以下のファイルがみんな登録されてしまいませんか?

>>332
ちょっと試してみます。


334 :名無しさん@お腹いっぱい。 :02/06/06 21:07
>>333
> cvs importした時に~/以下のファイルがみんな登録されてしまいませんか?

import は空のディレクトリで始めればいいのでは。で、ホームディレクトリに
checkout する。あとは、個別にドットファイルを add という具合に。

335 :317 :02/06/06 21:47
>>334
天才がいるスレはここですか?

336 :名無しさん@お腹いっぱい。 :02/06/06 23:44
目から鱗とはこのことだな。いやあ、感心したよ

337 :317 :02/06/07 07:38
>>334
> import は空のディレクトリで始めればいいのでは。で、ホームディレクトリに
> checkout する。あとは、個別にドットファイルを add という具合に。

ホームディレクトリにcvs checkoutする時、cvs import で指定した名前の
ディレクトリが作られませんか?

cvs import dot.files name start
cd
cvs checkout dot.files
ls -F
dot.files/

な風に。

mv dot.files/* .
したけど、これでいいのか分かりません。

338 :名無しさん@お腹いっぱい。 :02/06/07 09:05
>>334
cd ~
cvs checkout -d . dot.files

とすれば良かったのでは

339 :名無しさん@お腹いっぱい。 :02/06/07 09:07
間違えた。>>334 でなく >>337 でした

340 :317 :02/06/07 09:11
>>338
なるほど。


341 :初期不良 :02/06/11 02:30
CVS と CVSup の違いについてわけわかんなくなってます。
http://www.jp.freebsd.org/QandA/HTML/649.html
ここを見ると、CVSup は CVS リポジトリに限らず
ファイル配布をすることができるらしいことはわかるんですけど、
なぜ普通の CVS より高速なのかがわからない...
CVS は update の時に差分で送らないって事?

342 :名無しさん@お腹いっぱい。 :02/06/13 01:01
>>317
俺は ~/.emacs には
(load "~/.rcfiles/emacs.el")
の一行だけ書いてる。
で、~/.rcfiles/emacs.el を編集。

343 :名無しさん@お腹いっぱい。 :02/06/15 18:20
勉強になったのでageても良いですか?

344 :317 :02/06/15 18:40
いやーこのスレのおかげで快適なCVS生活を送ってます

345 :名無しさん@お腹いっぱい。 :02/06/15 18:43
>>343
ダメっていったら?

346 :名無しさん@お腹いっぱい。 :02/06/15 21:06
結局、ファイル管理じゃなくて人間管理になってしまうのでした。

347 :名無しさん@お腹いっぱい。 :02/06/16 12:29
>>341
ネットワーク上での転送量が問題なんだとすれば……
CVSが送れる差分は、サーバ側ファイルの各リビジョン間の差分であって、
そういう差分を使って更新することができない場合は全部送信する。
あと、マージ不可なファイル(バイナリとか)は、そもそも常に全部送信する。
checkout modeの時にこういう対象をrsyncアルゴリズムを使って更新して
いるかどうか、ソースを読もうと思ったけど、……分からん。


348 :名無しさん@お腹いっぱい。 :02/06/16 13:30
つまり rsync + cvs みたいなものですか。

349 :名無しさん@お腹いっぱい。 :02/06/17 01:06
>>346が結論を述べた

350 :初期不良 :02/06/18 14:04
>>347
ほっぽってしまってすんまそん
とりあえずナニが早いのかは置いておいて
CVSup のオフライン CVS 的な使い方の方を...
http://cvs.m17n.org/cvs/offline.ja.html
レベル3のところが良くわからんので適当に書いてみる。
*BSD とかのソースをハッキングする場合を想像しているけど...
commit できない状況でコードハッキングを行う場合に
CVSup でリポジトリを丸ごと持ってきて、持ってきたリポジトリに
俺ブランチを切って commit したりする、と。
で、本物のリポジトリの方が更新されている場合、
CVSup の非exact モードで再度リポジトリの複製を行うと
CVSup が RCS ファイルの中身を解読して追加分の
リビジョンとかタグとか差分のみ持ってきて
俺ブランチが本物のリポジトリと重ならない限り
俺ブランチも保たれる、と。そう言うことになるわけ?

あ、少しわかってきたかも。ブランチが重ならなくても
リビジョンが重なる可能性はあるわけやね。
それでブランチのリビジョンナンバーを指定できるパッチというわけか。
まだブランチもろくに切ったことないんだけど .2 が後に付くのが
普通の動作だっけ?それじゃ重なるわな。

http://www03.u-page.so-net.ne.jp/fb3/tomonori/diary/200109.html#05
ここの日記に書いてあるのを見ると、subversion が
CVSup の行うオフラインリポジトリ的な範囲までを含んだ
事ができるとか。subversion は期待大なんでしょうか?
どの辺まで進んでるんだろ?

351 :347 :02/06/19 00:27
>>350
戻ってきてもあいかわらずほっぽっておかれている罠。

| 事ができるとか。subversion は期待大なんでしょうか?
| どの辺まで進んでるんだろ?

# cd /usr/ports/devel/subversion && make install

MLの dev@subversion はすごく活発みたい。


352 :名無しさん@お腹いっぱい。 :02/06/19 00:31
Apache2 も出たことだし、Subversion のリリースも近い、といいな


353 :名無しさん@お腹いっぱい。 :02/06/19 02:19
perforce と subversion はどっちがいいの?
ttp://www.perforce.com/

354 :初期不良 :02/06/19 21:21
>>352
apache と subversion の関連がよくわかってないんだけど
何で DAV にバージョニングが含まれているわけだ?
別にバージョン管理はバージョン管理で別でいいと思うんだが。

参考記事
http://www.atmarkit.co.jp/flinux/special/webdav/webdav03c.html
Subversion使ってる人いますか?
http://pc.2ch.net/test/read.cgi/linux/1002355536/


355 :初期不良 :02/06/19 21:31
>>351
と言うか >>350 の書き込みに間違いはないの?(^^;
かなり当て勘入ってるんだけど。

356 :初期不良 :02/06/19 21:42
>>353
フリーだけどオープンソースじゃないのね...
けど、各 OS 用のクライアントがそろってるのはいいなぁ
IDE 用のプラグインも用意されてるし。

357 :351 :02/06/19 23:53
>>355 (お前はいったい何なんだ)
オフライン開発は、commitする時にだけ俺repoを指定するんでしょ。
このスレッドの過去のメッセージに書いてない?


358 :初期不良 :02/06/20 00:13
>>357
すんまそん、図々しく書いてしまって。
>>351 でさらっとレスされたので、
>>350 があってるのかどうかわかんなかったんですわ。
このまま進めちゃうと間違った情報がつっこみのないまま行ってしまう
可能性があったんでちょっと確認したかったんです。

このスレッドには CVSup の事は一つ二つあった程度ですな。


359 :351 :02/06/20 00:35
>>358 (なんで適当なこと書いて他の人に修正させるんだよー:)

オフライン開発は、CVSのリポジトリをオフラインでアクセスできればいいので
rsyncだろうとCVSupだろうと構わないでしょ。CVSupのCVS MODEはリポジトリを
そのまま本家のに同期しちゃうから、俺バージョンを手元の *,v ファイルに
マージなんていう気の効いたことはしてくれないんじゃないかな。

自分が修正したのを本家のリポジトリにcommitせずに持っておくために、
commitの時だけ
$ cvs -d:local:/path/to/myrepo commit
とする、みたいなことが書いてなかった?


360 :初期不良 :02/06/20 01:17
>>359
>(なんで適当なこと書いて他の人に修正させるんだよー:)

すんまそん... と言うかほとんど質問だったんだけどね(^^;

>CVSupのCVS MODEはリポジトリをそのまま本家のに同期しちゃうから

リポジトリの複製に関して rsync と CVSup で違うところは
CVSup が RCS ファイルの中身を解析して追加された
リビジョンとかタグとか差分とかの追加分だけを書き込む
非exact モードなるものがあるところだと思ってたんだが...
リビジョンが重ならなければ自分のブランチと本家のブランチ
すべてを同期させたまま進めることができるって事なんじゃ?
ここのレベル3って項目がこれにあたると思うす。
http://cvs.m17n.org/cvs/offline.ja.html

今度暇があったら自分のところで試してみますわ。

361 :351 :02/06/20 03:47
>>360
ああ、本当だ。俺はチソカス野郎です。


362 :名無しさん@お腹いっぱい。 :02/06/20 15:32
>>354
バージョン管理が入ってなかったらDAVじゃなくてDAになるから。

363 :名無しさん@お腹いっぱい。 :02/06/20 18:49
1,2,3

364 :名無しさん@お腹いっぱい。 :02/06/21 00:52
Cygwin上でCVS1.11使ってんだけど、必要なくなったサブディレクトリを
removeで外してたらupdate出来なくなって強引にaddとcommitしていって再び
updateしてみたら全然別のディレクトリにファイルが出てくる。
という説明しにくい奇妙な現象が起きた。

んで、よくわからないけど $CVSROOT/CVSROOT/modules.db ってファイルの
中身みたらテキストとバイナリが 1:2 の割合で混ざってたんだけど、
もうだめかな?

365 :名無しさん@お腹いっぱい。 :02/06/21 01:33
もうだめぽ…。

366 :名無しさん@お腹いっぱい。 :02/06/22 02:30
>>364
CygwinのCVSってgdbmを使うようになっているので、
データがバイナリを含んでいるというか、バイナリの中にテキストが
あるような感じ? みたいな。

そのせいでWinCVSと混ぜて使えないような気がするんですが、
問題ないんでしょうか? ウチではなぜか不具合が起きてしまったので、
CygwinのCVSをuninstallして、WinCVSのみ使うようにしました。


367 :名無しさん@お腹いっぱい。 :02/06/22 02:56
Emacs21のpcl-cvsで add directoryするにはどうすればいいのでしょうか?

368 :名無しさん@お腹いっぱい。 :02/06/22 02:56
add directory なんてなかったですね。
ディレクトリをaddしたい場合はどうすればいいのでしょうか?

369 :名無しさん@お腹いっぱい。 :02/06/22 03:07
ふつーに a 押せばできない?

370 :名無しさん@お腹いっぱい。 :02/06/22 03:17
>>369

s-u押してcvs updateするのですが、そこにまだ追加されていない
ディレクトリは表示されないのです。だからaは押せない。


371 :名無しさん@お腹いっぱい。 :02/06/22 03:26
cvs-examineしたらUnknownとして出て来たけど?
CVSやPCL-CVSのバージョンにもよるのかな。

372 :名無しさん@お腹いっぱい。 :02/06/22 03:37
>>370
すいません、僕のめんたまは節穴だったようです…。
確かにありました。

./a/b/c
のCというディレクトリを追加するにはaとbも追加しないといけないのですよね。

373 :364 :02/06/22 12:24
>>366
> データがバイナリを含んでいるというか、バイナリの中にテキストが
> あるような感じ? みたいな。
そんな感じ。単調なバイナリの塊の中に modules ファイルの中味が
そのまま綺麗に入ってて、なんかやばげだった。

> そのせいでWinCVSと混ぜて使えないような気がするんですが、
> 問題ないんでしょうか?
WinCVSは使ったことないけど Win版 Cygwin版でレポジトリの作りが
微妙に違うのだったら問題だわなー。

374 :名無しさん@お腹いっぱい。 :02/06/22 14:57
本家のソースを自分でmakeすりゃーええんでないの? > Cygwinでcvs

375 :名無しさん@お腹いっぱい。 :02/06/22 15:52
>>374
結局混ぜて使うなという方向で。


376 :名無しさん@カラアゲうまうま :02/06/22 22:19
>>258
> 4.5Stableにageたらcvs diff -jが使えるようになりました。
> #Concurrent Versions System (CVS) 1.11.1p1-FreeBSD (client/server)
> #(cvs -H diffしても-jは出て来ませんが…)

だいぶ前の話で悪いんだけど、cvshomeから持って来た1.11.2には-jオプショ
ンってないみたい。FreeBSDのcvsってなんか拡張してあんの?


377 :名無しさん@お腹いっぱい。 :02/06/22 22:47
>>376
かなりいじってあるみたいだよ。

378 :名無しさん@お腹いっぱい。 :02/06/22 23:51
>>376
http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/contrib/cvs/src/diff.c.diff?r1=1.15&r2=1.16


379 :名無しさん@カラアゲうまうま :02/06/23 02:09
>>378
さんきゅ。本家に取り込まれないのかな。


380 :名無しさん@お腹いっぱい。 :02/06/24 16:32
つか、本家CVSの開発メンバーってかなり保守的な気がする。

$FreeBSD$みたいなローカルIDだって、本家でサポートしても良さ
そうなもん、つーかML archive見たら何度か提案されてたみたい
だけど、一向にサポートされる気配がないし。

しょうがないからと延々各自でパッチ当てるつーのもなんだかなと。

381 :名無しさん@お腹いっぱい。 :02/06/25 00:41
>>380
ローカルな改造を行っていてしかも公開している人や団体って、
FreeBSDの他にあるのか知りませんが(単に知らないだけ)、
CVSの開発元とは別の人が、そういうローカルなパッチを
合わせた状態で配布するってわけにはいかないすかね。


382 :名無しさん@お腹いっぱい。 :02/06/25 00:50
いくだろ。

383 :名無しさん@お腹いーっぱい。 :02/06/25 12:23
>>381
いく。
ていうか、実際そのようにされていることに対して延々と(略)

384 :地獄狂 YahooBB219017000159.bbtec.net ◆7WP8X9hw :02/06/25 19:37
質問いいですか?

1. HOMEディレクトリをCVSで管理した場合の利益を教えてください。
2. /etcをCVSで管理した(以下略)
3. emacsでCVSを扱う方法を詳しく説明してあるサイトのURIを教えてください。

上記、よろしくおねがいします。

385 :名無しさん@お腹いっぱい。 :02/06/25 19:49
>>384
1., 2.
CVS の 利点を考えるべし。

3.
サイトじゃないけど、
SoftwareDesign の先月号 (だっけ?) の記事。

386 :地獄狂 YahooBB219017000159.bbtec.net ◆7WP8X9hw :02/06/25 19:55
>>385
Thanks.
わかりました。

387 :名無しさん@お腹いっぱい。 :02/06/25 20:41
emacs なら vc と pcl-cvs で完璧だよ.

388 :名無しさん@お腹いっぱい。 :02/06/25 20:43
正直、もう CVS は今のままでいいので
subversion に頑張ってもらいたい。


389 :地獄狂 YahooBB219017000159.bbtec.net ◆7WP8X9hw :02/06/25 21:04
あー今/etcをCVSで管理しようとしました。
しかしcheckoutするとshadowファイルのパーミッションが...
CVSでパーミッションを復元するにはどうしたらいいのでしょうか?

390 :名無しさん@お腹いっぱい。 :02/06/25 23:30
CVSのpserver立てようか迷ってるんだけど、
セキュリティ的にはどうなの?
攻撃されるとやばいかな?


391 :名無しさん@お腹いっぱい。 :02/06/26 02:17
>>383
事情は知らないんでヘタレなこと書いてたら申し訳ありませんが、

> ていうか、実際そのようにされていることに対して延々と(略)

ということは、既にどこかのサイトとかでCVSへのパッチ集みたいなのが
公開されているってことでしょうか?
それともCVSのMLを読めば紹介されているのでしょうか。


392 :名無しさん@お腹いっぱい。 :02/06/26 20:55
>>389
リポジトリ内にあるファイルをいじっとけばいいのでは?


393 :名無しさん@お腹いっぱい。 :02/06/26 23:55
~/をcvsを管理していて、.ssh/configなんていうファイルを追加したのですが
.ssh/configの中に書いた$Id$が

$Id: config,v 1.1 2002/06/06 22:49:36 mona Exp $

こうなっています。config,vの所は.ssh/config,vとなって
くれると嬉しいのですがどうすればいいのでしょうか?

FreeBSDの/usr/src/UPDATINGを見ると

$FreeBSD: src/UPDATING,v 1.73.2.68.2.2 2002/06/16 00:26:30 bmah Exp $

こうなっているので出来るようなのですが。それとも>>380のように
$FreeBSD$のノーカルIDじゃないと出来ないのでしょうか?

394 :名無しさん@お腹いっぱい。 :02/06/27 00:04
続けてスマソ

Emacs 21.3.50のpcl-cvsで疑問が。
使い初めたばかりなのでこれが正常なのか分からないのだが
s-uで一覧を表示しAでChangeLogを編集する。
Cでcommitしようとすると、*cvs-commit*にはChangeLogに追加した
内容が表示される時とされない時がある。
う〜む。

また。AでChangeLogを編集しようとした時に、.ssh/configだったら

2002-06-26 koijun <koijun@syusyo-kanntei.go.jp>

* config (Module):

と表示される時と

2002-06-26 koijun <koijun@syusyo-kanntei.go.jp>

* .ssh/config (Module):

と表示される時がある。

395 :名無しさん@お腹いっぱい。 :02/06/27 00:21
>>393
$FreeBSD$ は $CVSHeader$ と同じになるように /home/ncvs/CVSROOT/options
で設定されてる。で、これは何かというと、$Header$ から $CVSROOT までを
削除したもの。詳しくは /usr/src/contrib/cvs/FREEBSD-upgrade 見てね。

>>394
それぞれ *cvs* バッファの Working dir: のとこはどうなってる?

396 :初期不良 :02/06/27 00:27
>>390
ssh での認証にするか、それも嫌なら
stunnel ででもクライアント認証するよろし。
うちは趣味で vtun+stunnel で VPN 経由。

397 :名無しさん@お腹いっぱい。 :02/06/27 00:36
>>395
> 削除したもの。詳しくは /usr/src/contrib/cvs/FREEBSD-upgrade 見てね。

という事は$Id$を使う限りは無理って事?

> >>394
> それぞれ *cvs* バッファの Working dir: のとこはどうなってる?

なるほど。.ssh/configと表示される時はWorking dir: が.sshになってました。

あとは>>394

>Cでcommitしようとすると、*cvs-commit*にはChangeLogに追加した
>内容が表示される時とされない時がある。

だけだ。


398 :名無しさん@お腹いっぱい。 :02/06/27 00:49
>>397
> という事は$Id$を使う限りは無理って事?
そゆこと。

>Cでcommitしようとすると、*cvs-commit*にはChangeLogに追加した
>内容が表示される時とされない時がある。
これってCVSで使われる日付(UTC)とChangLogで使われる日付(local time)が違
うのが原因だったと思う。俺はChangeLogとcommit logの連係はあきらめてる。

399 :名無しさん@お腹いっぱい。 :02/06/27 00:51
>>398
> これってCVSで使われる日付(UTC)とChangLogで使われる日付(local time)が違
> うのが原因だったと思う。俺はChangeLogとcommit logの連係はあきらめてる。

あ〜なるほど。イギリスに住むしかねーな。

400 :名無しさん@お腹いっぱい。 :02/06/27 00:58
>>39{8..9}

CVSの日付をJSTにしている人を見かけた気がするんだけど気のせいかな?


401 :名無しさん@カラアゲうまうま :02/06/27 02:01
>>400
gmtime()をlocaltime()に変えるとか?

402 :名無しさん@お腹いっぱい。 :02/06/28 00:05
>>399
pcl-cvs なら Emacs だから, やる気ならなんとかなるな.

403 :地獄狂 YahooBB219017000159.bbtec.net ◆7WP8X9hw :02/06/28 01:17
>>392
Thanks.

404 :名無しさん@お腹いっぱい。 :02/07/03 00:47
CVS使ってみようかなぁと思ってるんだが、
たとえば最初にシフトJISで書いていたものをcommitして
その後EUCに変更してcommitすると、どうなるの?


405 :名無しさん@お腹いっぱい。 :02/07/03 00:51
>>404
別にどうもならないんじゃない?
変換された文字が変更点とみなされるだけで。


406 :名無しさん@お腹いっぱい。 :02/07/03 00:58
>>404
実際に、やってみろよ。

407 :名無しさん@お腹いっぱい。 :02/07/06 15:53
./a/b/c/d
って4階層ぐらいを一気に追加したい場合ってどうすれば良いんですか?
今は律儀に一個ずつaddしてるんですが・・・

408 :名無しさん@Emacs :02/07/06 17:19
普通はcvs import
tagが1.1.1.1になるのが嫌で空importでcvs addしてるんだったら
find a -type d | xargs cvs add で良いんじゃないでしょうか


409 :名無しさん@お腹いっぱい。 :02/07/08 18:40
windows側のwinCvsとunix側のcvsとでやり取りができません。
環境設定はwindows,unix共にunix側の/homeに設定してます。
ログインしようとすると
cvs [login aborted]: recv() from server 192.------: Connection reset by peer
というメッセージが返ってきます。
どうすればいいのでしょう?

410 :名無しさん@お腹いっぱい。 :02/07/08 20:42
windows側でのCVSROOTはどーなってるよ?

411 :名無しさん@お腹いっぱい。 :02/07/11 07:59
私の肛門もCVSで管理されそうです。

412 :初期不良 :02/07/18 17:59
やっぱりなんだかんだ言って英語でログ書くようにした方がいいのかねぇ
仲間内に一人 MacOSX を使っている人がいるんで
どうしたもんかなと...
MacOSX は基本的に SJIS らしいけど、一般的に
EUC で収まっている CVS サーバの文字コードを
なんとかするには nkf でも通すようにシェルスクリプトでも
組めばなんとかなる?

413 :名無しさん@お腹いっぱい。 :02/07/18 18:32
upgrade版でないのかよ!

414 :413 :02/07/18 18:33
すまん、誤爆だ。

415 :名無しさん@カラアゲうまうま :02/07/18 18:34
cvswrapperを鰤。

416 :初期不良 :02/07/18 20:03
>>415
cvswrappers って機能削除されたとか書いてあったけど
使っている人いるんでつかい?

417 :名無しさん@お腹いっぱい。 :02/07/21 02:38
jakartaプロジェクトとかで公開されてるCVSのpserverに
Win98からWinCVSでログインできないのは仕様なんでしょうか?
NT系からだと普通にログイン出来るんですが。。

418 :名無しさん@カラアゲうまうま :02/07/21 19:05
>>416
だっけ? 1.11.2でもcvs initするとcvswrapperって作るけど。

419 :名無しさん@お腹いっぱい。 :02/07/21 19:30
>>418
マニュアルにも削除されたとか削除されるから使うなとは書いてない。


420 :初期不良 :02/07/21 20:14
>>418
http://www.linkclub.or.jp/~tumibito/soft-an/cvs/download.html
ここに書いてあった。
そうか、もう今は大丈夫なんだ。

421 :名無しさん@お腹いっぱい。 :02/07/21 20:31
>>初期不良
>>243-245


422 :名無しさん@お腹いっぱい。 :02/07/22 02:11
>>412
俺は OS X + cvs 使ってるけど、エディタが Carbon Emacs だから
何も考えずに euc-jp-unix で統一しちゃってる。
書いてるコードが Web アプリだから EUC-JP のほうが何かと便利ってこと
もあるんだけど。



423 :初期不良 :02/07/22 03:31
>>422
log 表示はどうしてる?クライアントソフト自体は普通の CVS?
MacCVSX?

424 :名無しさん@お腹いっぱい。 :02/07/22 05:43
~/work/hogeで作業していてS-uでPCL-CVSでupdateして
A でChangeLogを書こうとすると、~/work/hoge/ChangeLog
ではなく~/ChangeLogを編集しようとしてしまいます。
M-x cdで ~/work/hogeしても変わりません。

~/ChangeLogが無ければ、~/work/hoge/ChangeLogを編集されました。
前はこんな挙動ではなかったと思うのですが…。
cvs版のEmacs21.3.50を使っているのでバグなんでしょうかね?

425 :名無しさん@Emacs :02/07/22 07:09
>>424
pcl-cvsなんか動作が微妙に変化してる。。CVS先端。。。

バグなんかな。。。。

426 :名無しさん@お腹いっぱい。 :02/07/22 09:57
>>424
M-x cd ~/work/hoge して、そこで cvs-examine してから A してみたらどうよ?


427 :名無しさん@お腹いっぱい。 :02/07/23 00:55
>>389
cvs-confを使えば、パーミッション保存してくれるYO!
ただし、パーミッションの変化には追従できないので、注意

428 :名無しさん@お腹いっぱい。 :02/07/25 06:40
subversionってCVS使いにとってどうなんですかね?
~/の中のドットファイルを管理するのはsubversion
の方が便利かな?

429 :名無しさん@お腹いっぱい。 :02/07/25 19:07
subversionの解説キボンヌ

430 :名無しさん@お腹いっぱい。 :02/07/26 22:55
VC++などVisualStudioのプロジェクトをCVSで管理している人いますか?

431 :名無しさん@お腹いっぱい。 :02/07/27 08:40
>>430
VC++ project を WinCVS+pserver で使ってます。
.dsw, .dsp を登録。

432 :名無しさん@お腹いっぱい。 :02/07/27 10:25
>>430
VC++用のMakefile, *.rcをCVSで管理してる


433 :名無しさん@お腹いっぱい。 :02/07/30 00:35
>>430
俺は cvsnt 使ってるけど、もし開発環境と統合したいなら Jalindi Igloo 使うと
良いよ。

http://www.jalindi.com/igloo/

434 :名無しさん@お腹いっぱい。 :02/08/02 22:52
CVSで$HOMEのdot.fileを管理しているのですが~/.gnupg以下をadd
しても大丈夫でかな?

435 :名無しさん@Emacs :02/08/18 22:41
うにゃ。

お ち る。

436 :名無しさん@お腹いっぱい。 :02/08/19 21:39
なんで落ちるの? binary だから?

437 :名無しさん@Emacs :02/08/21 07:01
>>436
関係ないのでは?

CVSの話はあまり広がらないのかな。。

438 :名無しさん@お腹いっぱい。 :02/08/21 12:44
くだらない質問〜スレも書いてしまったんですが、
ここがあったので、改めて書きます。

WinCVSをダウンロードしたのですが、
1 これはクライアントのみで、CVSサーバーは別に必要ですか?
2 サルでもわかるチュートリアルページご存知でしたら教えてください

439 :名無しさん@お腹いっぱい。 :02/08/21 16:52
サル語で書かれたチュートリアルページは残念ながら見かけたことないでし…

440 :初期不良 :02/08/22 00:21
>>438
CVS はサーバとクライアントソフトが同一のような
だから、WinCVS だけでローカルにリポジトリ作れるよ
と言うかデフォルトでそう言う状態になってると思う。

441 :名無しさん@お腹いっぱい。 :02/08/22 00:51
create →new repository
ですね。
チュートリアルのページはみんなサーバがすでに存在している
前提でかいてあったので、クライアント専用なのかと思ってました


442 :名無しさん@お腹いっぱい。 :02/08/23 20:53
WinCVSですが、リモートから接続できる
CSVサーバーとして立てることできますか?
rshなどのプロトコルが必要みたいですが、
リポジトリのプリファレンスにでどう設定するのか
不明です

443 :初期不良 :02/08/24 02:04
>>442
inetd と同じようなスーパーサーバが必要なんでは?
cvs 自身で listen できたっけ?

444 :名無しさん@お腹いっぱい。 :02/08/24 02:44
>>443
cvsnt(Win32にportしたやつ)なら自前でサービスプロセスになれたんじゃ
なかったかな。あるいはCygwin入れてinetdから起動するとか。

少なくともWinCVS付属のcvs.exeだけじゃできない。

445 :名無しさん@お腹いっぱい。 :02/08/24 05:30
システム構成がよくわかんないんだけど・・・、Windowsだけなら、
CVSROOTを共有フォルダとして提供するPCを一台用意して、
あとはクライアントにWinCVSを入れちゃうだけで良いんじゃないの?

・・・変かな?

446 :名無しさん@お腹いっぱい。 :02/08/24 10:54
>>445
サーバの共有フォルダをクライアントでローカルフォルダとして
見てしまうって感じですね。
開発ツール(eclips)からCSVサーバーに接続したいのですが、
ローカルでもrcpプロトコルで接続しないとつながらないのかなと
思って
WinCVSだけだと、サーバ的な使い方はちょっとつらそうですね

447 :名無しさん@お腹いっぱい。 :02/08/24 13:01
>>446
ム板の eclipse スレで出てたネタで R1 のお話だけど、役に立つかも。
https://www.ibm.com/jp/domino01/software/websphere.nsf/cd5268f84bee6c1e492567a8000bc230/1782525cbab00df549256ba6003fbeec/$FILE/CVS.pdf

448 :名無しさん@お腹いっぱい。 :02/08/28 08:59
CVSのリポジトリのモジュールの一覧とタグ名って
どうやって見ればいいのですか?


449 :名無しさん@お腹いっぱい。 :02/08/28 11:00
>>448
どちらもこれだ!という方法は無いみたい。

モジュールに関しては、リポジトリの管理者がちゃんとCVSROOT/modules
をメンテナンスしてるなら、それをcheckoutして中見る。もしそのリポジトリが
cvswebで閲覧できるなら、そこで確認するのが一番手っ取り早い。

タグ一覧もcvswebなら簡単に見れるけど、そうでなければ適当なファイルの
HEADをcheckoutしてlog見るとか。

450 :名無しさん@お腹いっぱい。 :02/08/28 12:23
cygwinを使ってローカルPCにリポジトリで作業しています。
commitしたあとで、タグをつけようとするとthere is no version here; do 'cvs checkout' firstといわれてしまいます。
何か原因らしきこと思い当たるようでしたら教えていただけますか?
この問題が出た場合、
現在のバージョンはとっておきたいので、もう一度インポートをかけている状況です。

451 :名無しさん@お腹いっぱい。 :02/08/28 13:01
>>450
ここにはバージョン管理されてるファイルはねーよ。まずcheckoutしろや。
とか言ってるんだけど…
commitした後releaseとかrm -rfしてワークファイル消してない?

452 :名無しさん@お腹いっぱい。 :02/08/28 13:27
原因はわかりませぬが、commitした後ならrtagを使えばとりあえずは
用が足りるのではないかと。。

453 :名無しさん@お腹いっぱい。 :02/08/28 13:35
いまCygwinで試してみたら、ちゃんとcvs tagできたよ。
working directoryの外からtagを打とうとしてるってことは無いよね。


454 :名無しさん@お腹いっぱい。 :02/08/28 19:12
>449
CVSROOT/modules
に、自分で手書きでメンテするんですか?

455 :449ではないが :02/08/28 20:11
>>454
そうでしょ。wrapper使って自動化できるかもしれんが、
そんな頻繁に登録するもんじゃないし。
ちなみに、moduleはcheckout -c で見れるぞ。

456 :名無しさん@お腹いっぱい。 :02/08/28 20:43
>>454
CVS でメンテします

457 :ふわふわ名無しさん :02/08/30 09:55
複数の環境(例えばデスクトップとノート)の dotfiles を一カ所の
CVS で管理したいと思っています。ファイルによって共通にしたい
ものと別々にしたいものが出てくるのですが、うまいこと取り扱う
方法ないでしょうか?

別々にしたいものにホスト名で branch tag を打ち、それぞれの環
境では tag を指定して co すればいいかと思ったのですが、
tag を指定した co ではその tag のついていないファイルが生成
されないので敗北しました。

良いお知恵があればお聞かせ下さい。


458 :名無しさん@お腹いっぱい。 :02/08/30 10:09
>>457
ホームディレクトリ自体をワーキングディレクトリにしようとしてるの?
そうじゃないなら、make installでファイルをコピーするようにしといて
Makefileのinstallターゲットでなんとかする方が楽だと思うけど。


459 :名無しさん@お腹いっぱい。 :02/08/30 12:03
俺も>>458方式だな。
Makefileじゃなくてシェルスクリプトだけど。

460 :名無しさん@お腹いっぱい。 :02/08/30 13:47
>>457
.xsession や .emacs なんかは `hostname` の結果を見て処理を切り分けられる
けど、一般には難しいやね。

461 :名無しさん@お腹いっぱい。 :02/08/30 15:24
itojun さんは一元管理。

462 :457 :02/08/30 15:34
>>458-460
アドバイスありがとうです。
確かにその方がまっとうですね。
何故か全然思い至りませんでした。

そのようにする場合、コピーじゃなくてsymlink でもいいような気
がするのですが、どっちがいい、というのはおありでしょうか。

コピーの場合、~/.foo を編集して試してから working directory
のものに反映させて commit するのを忘れたり面倒になってしまっ
たりするのでは、とか(ちょこっと考えただけだと)思ってしまいます。


463 :名無しさん@お腹いっぱい。 :02/08/30 17:42
>>462
> そのようにする場合、コピーじゃなくてsymlink でもいいような気
> がするのですが、どっちがいい、というのはおありでしょうか。
たとえば .procmailrc なんかは書き換え->テストの間にも非同期に読み込ま
れちゃうよね。もちろんリンクで問題無いものも多いんだけど、これはリンク
でもOK、これはNG、てのを考えるのが面倒なので、リンクじゃなくてコピーに
してる。

> コピーの場合、~/.foo を編集して試してから working directory
> のものに反映させて commit するのを忘れたり面倒になってしまっ
> たりするのでは、とか(ちょこっと考えただけだと)思ってしまいます。
たぶん慣れの問題。しばらく試してみれば?
やっぱり面倒なようなら戻すのは大した手間じゃないし。


464 :名無しさん@お腹いっぱい。 :02/08/31 07:03
1つのファイルを cvs で管理してきて 1.17 まで来ました。
(ブランチなどの難しい事はしてません。)
今までの履歴を継続したまま、このファイルの名前を変え
られるのでしょうか?

465 :名無しさん@お腹いっぱい。 :02/08/31 08:33
>>464
http://www-vox.dj.kit.ac.jp/nishi/cvs/cvs-manual/cvs-jp_67.html#SEC70
の「Rename by copying: 別の小技を使った方法」とか。

466 :名無しさん@お腹いっぱい。 :02/08/31 17:17
pcl-cvs の cvs-status や cvs-examine のようなことを
コマンドラインから出来る方法ってありますか?
1行1ファイルで、
file: status
(status は、up-to-date, modified, unknown, missing, added,
removed など)
のように出力してくれる方法があれば良いのですが。


467 :名無しさん@お腹いっぱい。 :02/08/31 17:53
pcl-cvs で s-u で C して C-c C-c しようとすると
1つのファイルしか commit されなかったり、
cat't find *cvs*
となったりする。

468 :初期不良 :02/09/02 03:22
>>464
subversion だと名前の変更も履歴にとってくれるらしいよ

469 :名無しさん@お腹いっぱい。 :02/09/03 05:22
Emacs21.3.50 の PCL-CVS なんですが
Update Directory して C で メッセージ書いて
C-c で commit なのですが その動作が 2回目からは

cvs-mode!: can't find the *cvs* buffer

ってなって commit 出来ません。
Emacs を立ち上げ直して 1回目は出来るが
2回目は駄目。

何かやり方間違っているのかな〜。

470 :名無しさん@お腹いっぱい。 :02/09/03 23:14
すいません、以下思いつくところありましたら、
教えていただけますか?
cygwinのCVSを使っています。
cvs -d :pserver:taro@TP560X:/usr/local/cvsroot login
で自分のPCで動かしてるpserverにログオンしようとすると
cvs login: authorization failed: server
といわれてしまいます。
認証はOSの認証を使っていて、自分のPC(CYGWIN?)にteletで
ログオンできるので、パスワードとかは大丈夫だと思います
あとps -efしたときにpserverがプロセスに乗ってないんですが、
これはOKなんでしょうか?

471 :  :02/09/04 00:43
すっげー基本的なことかもしれんが、
日々の業務でCVS使う場合ってずっとreleaseしないで、update-commitを繰り返すの?
それとも一旦commitしたらreleaseして再度checkoutしてる?
ずっとreleaseしなかったらファイルの更新忘れなんかでトラブりそうな気がするんだけど。
そういった作法的なことがあんまり本には載ってないんで。

472 :名無しさん@お腹いっぱい。 :02/09/04 00:49
>>471
> 日々の業務でCVS使う場合ってずっとreleaseしないで、update-commitを繰り返すの?
普通はそうでない?

> ずっとreleaseしなかったらファイルの更新忘れなんかでトラブりそうな気がするんだけど。
commit のときに警告が出るよ。

> そういった作法的なことがあんまり本には載ってないんで。
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06473-5

473 :名無しさん@Emacs :02/09/04 01:20
>>470
>あとps -efしたときにpserverがプロセスに乗ってないんですが、

inetd経由とか


474 :名無しさん@お腹いっぱい。 :02/09/04 08:04
>473
inetdのプロセスが2つあがっているので、これのひとつが
pserverとか???
あとcvs pserverってやらないと、cvs loginはできてもcvs coは
できないっぽいですね。


475 :名無しさん@お腹いっぱい。 :02/09/04 08:45
> inetdのプロセスが2つあがっているので、これのひとつが
> pserverとか???

いや、inetdからpserver (というかcvs)があがったら、cvs server ... って
見えるよ。forkするその一瞬はともかく (w

> あとcvs pserverってやらないと、cvs loginはできてもcvs coは
> できないっぽいですね。

意味がいまいち不明。
cvs -d :pserver:あんた@サーバ:もげ login
cvs -d :pserver:あんた@サーバ:もげ co
したら、あとは -d CVSROOT 指定しなくてもいける。ってこと言ってる
んじゃないんだろうな、きっと…

ひょっとして最初に -d なしで cvs login してる? ってそれって違うとこに
loginしてることになるよ。

476 :471  :02/09/04 22:47
>472
そっちの本のほうが詳しそうだな・・・。
俺が買った「バージョン管理システム(CVS)の導入と応用」
の方はそのへんいまいち。

477 :名無しさん@お腹いっぱい。 :02/09/05 09:45
http://www-vox.dj.kit.ac.jp/nishi/cvs/cvs-manual/cvs-jp_toc.html
http://kahori.com/j-cvsbook/j-cvsbook.html

この辺で十分って気もするが。

478 :名無しさん@お腹いっぱい。 :02/09/05 10:09
>>470
>cvs login: authorization failed: server

本当にこれしか出ないのか?
今Cygwin上で試してみたがちゃんと動くし、inetd.confの記述をミスってた
時はその上に「オプションの指定方法が不正だゴルァ」とちゃんと詳細出て
たが。

>inetdのプロセスが2つあがっているので

Cygwinのinetdはそれで正常。ちなみに両方inetdのプロセスであってcvs
のプロセスではないし、cvsにしろin.telnetdにしろinetdから起動されるもの
だから未接続状態ではpsの一覧に出なくて当然。

479 :名無しさん@お腹いっぱい。 :02/09/06 01:16
>>470
漏れもその状況でハマったことがある。
おまけに変なことに、localhostだと可能でリモートからだと駄目だったり。
(cvspserverポートにtelnetできるので、tcpwrapperとかではないです)
結局、解決できず、extでsshつかってます(w

480 :名無しさん@お腹いっぱい。 :02/09/06 01:36
くだ質ですが、是が非でもお聞きしたい。

VSSを使うユーザーがどうしてもCVSを使ってくれないの・・・
僕がLinuxで開発して、チームリーダーはWindowsで開発中なんですが。
統合したいから「CVSにしてくれ」とお願いしても却下されます。
「ごった煮WinCVSも使っていいから」とお願いしても意味不明なMicrosoftの論議を叩き付けられ困っています。
ど〜にか説得してCVSを使わせる方法を教えてください。


481 :チームリーダー :02/09/06 01:47
一人で CVS、CVS といって協調性のない部下がいるんですが
ど〜にか説得して VSS を使わせる方法を教えてください。

482 :名無しさん@お腹いっぱい。 :02/09/06 01:51
>>481
VSSを使いこなせるなら、VSSを使ってください。
覚えながら人に押しつけるぐらいなら・・・やめれっ

483 :名無しさん@お腹いっぱい。 :02/09/06 02:38
だってVSSの方が楽だもん。
CVSってサーバ上にあるモジュール一覧を
見ることすらできないじゃん。

モジュールを取得する前にモジュール名が
分からないシステムなんて、冗談みたい。


484 :名無しさん@お腹いっぱい。 :02/09/06 02:51
>>483
そんなチームリーダーのために、cvswebを設置して差し上げたこともお忘れになったか?


485 :名無しさん@お腹いっぱい。 :02/09/06 04:10
>>480
igloo と CVSWeb のコンボでせめて下さい。

486 :名無しさん@お腹いっぱい。 :02/09/06 05:32
>475
>478
>479

inetdをサービスに乗せて
telnet
でログオンを確認し
cvs -d :pserver:あんた@サーバ:もげ login
ってやるとログオンはできるけど、
cvs -d :pserver:あんた@サーバ:もげ co で
checkoutができなかったのです。

でcygwinでcvs pserverってコマンドを実行し、
シェルをもうひとつあげてcvs -d :pserver:あんた@サーバ:もげ login
でcheckoutできるようになったのです。
pserver Password server mode
ってあったので、このモードを起動しないと、pserverが機能しないのかなって
かってに推測しました


487 :名無しさん@お腹いっぱい。 :02/09/06 06:43
>483
CVSは、RCSのヘボさをごまかす為の
お茶濁しシステムだからしょうがない。


488 :名無しさん@お腹いっぱい。 :02/09/06 07:48
>>483
たしかに、
何それ?
と思う瞬間ではあるわな

489 :名無しさん@お腹いっぱい。 :02/09/06 08:02
モジュールなんか指定しないでcvs co .しる。


490 :名無しさん@お腹いっぱい。 :02/09/06 09:53
>480
それ(理論的に)説得するとかどうとかじゃなくて、
政治層とかマネジメント層の問題じゃないか。板違い。



うそ

491 :名無しさん@お腹いっぱい。 :02/09/06 11:37
>>490
 政治層についていうなら、まったくありません。チームリーダー曰く、VSSが好きだから、Microsoftが偉大だから、だそうです。
 顧客の断りもなくVS.NETで開発をし始め、メンバーにも.NETを押しつけておきながら、顧客からVS6を使ってくださいといわれるようなチームリーダーですから政治的な事なんてみじんも感じられません。
 マネジメント層についていうなら、メンバーたちはVSSの偉大な機能のおかげで作業の進行が著しく遮断され、「むかつく〜」を連呼しております。


492 :名無しさん@Emacs :02/09/06 11:40
>>491
いっそ、全員でCVS使ってやったらどうよ。そのチームリーダ放置して。

493 :名無しさん@お腹いっぱい。 :02/09/06 11:59
>>492
なんていうか、チームリーダーだけが勧めて(進滅て?)VSSを使ってるから問題なんです。
それに引きずられ、Windows開発のメンバーたちはVSSから最新版をとって、CVSにチェックインしているのはチームリーダー以外のメンバーたちです。

まぁよくよく考えてみたら、半年以上前からさんざんっぱらCVSでやってくれと言っているのに全く聞く耳を持たないチームリーダーには、何を言っても無駄なのでしょうなぁ。

放置というか下っ端メンバーがフォローするしかないのでしょう。こんなチームリーダーとは二度と組みたくないと誓い合うメンバーであった・・

494 :名無しさん@お腹いっぱい。 :02/09/06 12:02
>>493
さらに上を説得しろ。
つーか、板違い。

495 :名無しさん@お腹いっぱい。 :02/09/06 12:39
>>494
え・・こ、こういう話題はどの板でやればよかったのだろう?(^^;


496 :名無しさん@お腹いっぱい。 :02/09/06 12:56
>>495
この板でもかまわぬが、くだ質スレでやれ。迷惑千万。

497 :名無しさん@お腹いっぱい。 :02/09/06 13:24
ぐちはマ板のぐちスレでやってくれ。

498 :名無しさん@お腹いっぱい。 :02/09/06 14:30
やっぱマ板じゃないの? 「上司がCVSを使ってくれません」とか。

499 :名無しさん@XEmacs :02/09/06 18:16
>491
逆に VSS の何処がそんなにダメなんだろう。
ちと興味あり。


500 :名無しさん@お腹いっぱい :02/09/06 19:08
>>491
VSSはろくに使ったこともないんで、俺も知りたい。
GUIなしでも全ての機能が使用できて、その上サーバ
になってリモートから操作したいけど、それは無理?

501 :名無しさん@Emacs :02/09/06 23:23
>>491
VSSがダメとかじゃなくて、上司(っつーかチームリーダ)に協調性が無いのが問題なんではないのかと。
客にVS.NET使うの説明してないところからしてもドキュソケテーイだし。

CVSって大概ソースコードの管理に使うか、/etc以下の管理に使ってるのが多いみたいだけど、
「俺はこんな使い方してるぞ、ゴルァ!!」
って人いない?

502 :名無しさん@お腹いっぱい。 :02/09/06 23:54
bookmarkの管理に使ってる。

503 :computer-controlled vehicle system :02/09/07 00:20
コーラの運送に使ってまふ

504 :名無しさん@お腹いっぱい。 :02/09/07 01:16
>>480=>>501

505 :名無しさん@お腹いっぱい。 :02/09/07 03:32
バイナリデータの管理をしてる。
1個当たり数百KB〜数MB程度のファイルが合計1GB程度あるんだけど
まとめてアップデートすると、サーバ側のプロセスのサイズが
200MBくらいになることがあるんだよね。
複数のユーザが同時にやっちゃうと、もう目も当てられない。
なんで?


506 :名無しさん@お腹いっぱい。 :02/09/07 06:26
>>505
全部オンメモリで処理しようとしているからだったりして……

それ以前にCVSだとバイナリ(-kb)ファイルは差分でなく毎回全部repositoryに
格納するので効率悪くない?


507 :名無しさん@お腹いっぱい。 :02/09/07 09:16
つか、元々テキストの事しか考えてないRCS/CVSでバイナリ(それも大量の)を
管理するってのに無理があるわな。

508 :501 :02/09/07 12:28
>>502
管理する程Bookmarkあるのか…そういえば、俺も最近増えてきたな。今度やってみよう。

>>503
……(゚Д゚)ハァ?

>>504
違いますが何か?

>>505-507
Subversionもやっぱりバイナリの管理は丸々コピーなのかな?


509 :505 :02/09/07 16:17
>>506
効率わるいのはわかってるけど、とりあえずそれは諦めてる。
プロセスのサイズだけが今の問題点。

バイナリ管理でほかにいい方法があったら教えて欲しい。
バカでも GUI でなんとかいじれるやつ希望。

いや GUI をバカにしてるわけじゃなくて、
コンピュータにそれほど詳しくない人たちに使わせないといけないの。

510 :名無しさん@XEmacs :02/09/07 21:28
>500
CUI では一応操作できます。
全ての機能が使えるかどうかは、わからないですが。

リモートはどうなんだろう。。。
# LAN 経由ではもちろん使ってたけど、外とかに置けるもんなのかしら?


511 :500 :02/09/07 23:55
>>510
>全ての機能が使えるかどうかは、わからないですが。
GUI依存の機能(ツリー表示とか。きっとあるでしょ?)がCUIだと使えないのは、
まあしゃーないけどね。バージョン管理が一通り、滞りなくできるなら文句はない
かな。

512 :名無しさん@お腹いっぱい。 :02/09/08 17:17
>>509
CVS にラッパ噛ませて xdelta と連携、とかできんかね。

513 :名無しさん@お腹いっぱい。 :02/09/09 00:19
CVS勉強してるんだけど、importで新しいファイルが出来ると、
HEADにそのまま入って、新revisionとしてcommitするまで、
ベンダブランチがHEADになっているよね。
これって使いにくくない?それとも、何か理由があってこうなっているの?

514 :名無しさん@お腹いっぱい。 :02/09/09 00:34
>>513
FAQ

515 :名無しさん@お腹いっぱい。 :02/09/09 01:20
>>499
VSSについて

・誰か一人がファイルをチェックアウトしていると、そのファイルはチェックアウトしている人以外は、基本的に編集出来ない。
 編集する方法はあるが、かなり面倒で(読みとり専用になってたり)、チェックアウトした人がチェックインせずにご帰宅されると、他の人が迷惑被る。

・Visual C++ が故意の事故で「落ちる」とファイルサーバー(VSSのファイルが置いてあるところ)とローカル側の同期が取れずに編集した内容が消されたり、チェックアウトしているのにチェックイン使用とするとチェックアウトしていませんとか言われて迷惑被る。
 はっきり言ってコレが一番最悪だ。
「落ちる」だけならまだしも、全体的にチェックインできないため一端対比・・・最新を取得・・・他人のチェックインしたファイルを逐一チェック・・・これは上書きしてOK・・・これは他人がチェックインしたからマージして・・という手順があったりする。

・「ファイルを共有」という機能があるが、結局チェックアウト、チェックイン自体も共有されてはっきり言って意味がない。
 チェックアウトされていても操作する方法が在ると「リームリーダー」は言うが、やり方を知らないと言い張っているので、VSS厨房な僕にはお手上げである。
 開発環境が重ならない(?)ために、共有をしているのか、開発環境が人それぞれ違うからというが、なぜわざわざその人ごとに共有エリアを用意せないかんのか・・・余計な思想にとらわれ考える気が起きない。

・CVSにある日付を指定したチェックアウトが出来ない。
 全く出来ない訳じゃない、ファイルを指定すれば出来るようだが、自分の欲しい日付に近いファイルを目視で探さないとだめ。(ファイル数が100を超えるともう目も当てられません。)

管理人(歴1年)の経験談より。

516 :名無しさん@お腹いっぱい。 :02/09/09 01:21
>>515
おまけ)

・パスワードを間違えると「パスワードが間違っています。」と言われる、ユーザー名を間違えると、「ユーザー名が間違っています。」と言われる。
 セキュリティーホールか・・・

CVSのおまけ)

・メッセージが英語…(いや自分は気にしないんだけど)
 英語嫌いな人がエラーを出すとすぐにわからないと言って管理者に聞いてくる。(僕だって英語は苦手だ)
 しかし、それぐらいの英語を読んでくれと思うこと多々あり・・・(小一時間)

バージョン

517 :名無しさん@Emacs :02/09/09 01:32
>>515
俺、VSSって名前しか知らなかったんだけど、
このまま知らない方が幸せ?
(あまり、お近付きになりたくなさそうな…)

>Visual C++ が故意の事故で「落ちる」

「故意」ってのがワラタ。


518 :名無しさん@お腹いっぱい。 :02/09/09 01:48
>>515を見る限り、泥沼になれること請け合いだな。

519 :名無しさん@お腹いっぱい。 :02/09/09 02:10
>>510
http://sourceforge.net/
ここに置いてあるソースらは、外向けにCVSが設置されている。

たとえば

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xbox-linux/

cvsで取得したり、開発に参加したいなら

http://sourceforge.net/cvs/?group_id=54192



520 :名無しさん@お腹いっぱい。 :02/09/09 02:16
>>519
し、失礼、VSSの話題でしたね・・

521 :名無しさん@XEmacs :02/09/09 06:46
>515
499 っす。

参考になったです。ありがとうございました。
しかし同期が取れなくなるって。。。(´・ω・`)ショボーン


522 :名無しさん@お腹いっぱい。 :02/09/09 08:17
>編集する方法はあるが、かなり面倒で(読みとり専用になってたり)、チェックアウトした人がチェックインせずにご帰宅されると、他の人が迷惑被る。

プロジェクトの規模が大きくてルールを徹底させるのが難しいと実使用では
これが一番大きな問題かな。
でも、予算があればVSSのほうをおすすめしたい。編集中は他人にいじられない
という面がとても強力だから。予算の関係でVSS諦めてCVSというプロジェクトも
多いんじゃない?

523 :モナBERT :02/09/09 11:23
522> 編集中は他人にいじられないという面がとても強力だから。
普通は強力とは表現しないんちゃうか?

VSS, RCS などのlocking model:
編集するのは一人。
編集中は他人がいじれないので他人の作業を気にしなくていい。
lockしたまま放置されたり死なれたりしたら、かなーり困る。

CVS などのcopy and merge model:
誰でも共有場所から取り出し(copy)て同時に編集できる。
複数人の編集を保存(コミット)しようとしたときの競合回避をしなければならない。
誰かが取り出したまま放置しても問題なし。

のように、一長一短あるわけやん。
それぞれの考え方(policy)でどちらのモデルを採用するのか決まるんであって、どっちが強いとかじゃないやんか。
それに、ある面を強く持てば持つほど、その面の欠点がより強く現れるともいえるしのお。

524 :ドローン@ボーグ :02/09/09 11:51
おまえたちが非常に敵対心が強いスタッフ内でソースを構築しているのであれ
ばロック機構は必要だろう。 だがそれは何の問題解決にもならないし、プロジェ
クト/組織として既に死んでいるも同じだ。非-効率的だ。
複数スタッフによるプログラム構築において、ソースの共有/分担は、バージョ
ン管理機構の云々以前に「仕事として」明確にすべきであり、それがあればロッ
クなどというものが邪魔にしかならないことは明白だ。
我々はRCS, VSS, CVS, Subversionを同化してきた上で発言している。
非-効率的な運営を行なっている組織が問題なのであれば、強行手段に訴えるし
かないではないか。「おまえたちを同化する。抵抗は無意味だ」と。


525 :煽りじゃなくて質問 :02/09/09 11:53
>>523
> それぞれの考え方(policy)でどちらのモデルを採用するのか決まるんであって、どっちが強いとかじゃないやんか。
locking model が有効に働くのってどんな場面なんですか?

526 :名無しさん@お腹いっぱい。 :02/09/09 12:41
>>514
importでHEADが変わるのは分かるんだけど、そうなっている
理由の説明が全然見付からないんで・・・
探し方が悪い?

527 :500 :02/09/09 14:36
>>525
恐ろしいことに実話なんだけど、copy and merge modelが理解できない、
(本人いわく理解する自身がない)人物がソース管理方式を任されていた。
問答無用でlocking modelが採用された。さらに恐ろしいことに、lock単位
がファイルではなく、Visual Studioで言うところのプロジェクト単位だった。


528 :名無しさん@お腹いっぱい。 :02/09/09 15:02
>>527
copy and merge model
お、初めて聞く単語だ。

ソースを要求するとそのコピーが渡される。
保存すると元のファイルに変更点を反映させる。
ってかんじっすか?

529 :名無しさん@お腹いっぱい。 :02/09/09 15:35
>>527
ロックがプロジェクト単位ってことは、あれですか?
プログラマは一人って事ですか?

530 :名無しさん@お腹いっぱい。 :02/09/09 15:50
>>529
いや, 多人数で使うには向いてないと思われ. 俺も手元のVSSで色々やったけど使い物にならん.

531 :名無しさん@お腹いっぱい。 :02/09/09 16:01
>528
隊長!(死語か...)
検索してみたけど、copy and merge modelというより、
copy-modify-merge schemeというのがよく使われる用語らしいです。
報告いじょっ。

532 :500 :02/09/09 16:38
>>529
ここでのプロジェクトっつーのは、モジュールごとに用意される
「プロジェクトフォルダ」のことね。念のため。

533 :506 :02/09/09 17:19
>>508
| Subversionもやっぱりバイナリの管理は丸々コピーなのかな?

ううん。Vdeltaをぐぐーる。


534 :名無しさん@お腹いっぱい。 :02/09/09 17:33
CVSでも一応ロックかけられなかったっけ?
一度も使った事はないけど。

535 :名無しさん@お腹いっぱい。 :02/09/09 18:14
>>534
cvs admin
とだけ打つとヘルプが出て、-lでロックとか-uでアンロックとか言う項目がありますね。
これやると、他人がチェックイン出来なくなるようです。(たぶん)

536 :名無しさん@お腹いっぱい。 :02/09/09 18:30
>>534
できるはずですが、確かに使ったことないです。


537 :名無しさん@お腹いっぱい。 :02/09/09 18:41
>>523
あと、実際問題として CVS でも VSS でも「誰が、いつ、どのファイルを編集して
良いのか」はソフトに任せる問題じゃないよな。開発者間で人間プロトコルを使っ
てネゴするのが第一で、その上でデグレードなどの事故を防止するためにソフト
の機能を使う。

538 :名無しさん@お腹いっぱい。 :02/09/09 19:23
>>534
wincvsではdefaultロックだった気が・・。
うぜ、と思いました。

539 :名無しさん@お腹いっぱい。 :02/09/09 20:20
というか、locking modelのバージョン管理システム使った事ないんだけどどういう利点あるの?
VSS派の香具師いたら説明してくれ。ロックなんぞしたら多人数開発してる意味がないんじゃないのか?

540 :名無しさん@お腹いっぱい。 :02/09/09 20:49
Winの開発でも当然CVS使ってますが、唯一困ったのがresource.hのマージ。
こいつはウィンドウID等のユニークIDを#defineしまくるヘッダだけど、
複数人が同時に同じID設定してもコンフリクトせずにマージできちゃう。
後で気づくと同一IDがゴロゴロと…

こんなふうに、「ユニークなIDを振る」にはロックが必要かも。
もっとも、resource.hの場合はロックしたらvisual studioがどんな風に怒るか…


541 :539 :02/09/09 20:56
>>540
なるほど、了解しますた。

# でも逆に言えば、そういう用途にしか使わないんならcopy-modify-merge schemeの方がイイよね。
# CVSだって明示的に指定すればロックはできるんだし。

542 :名無しさん@お腹いっぱい。 :02/09/09 20:56
subversionって、インスコ面倒くさそうだな。


543 :名無しさん@お腹いっぱい。 :02/09/09 20:57
>>539
VSS派ではないが、別にロックされていても問題ない。
確かこんな感じ:
A. ファイルをGet; 読み取り専用属性をつけないようにする。
B. ローカルで編集
C. Checkout; ローカルでの修正を保持してロック(チェックボックスがある)。
C'. 一応ビルドが通るか念のためチェック
D. 使いにくい差分表示ウィンドウでざっとチェック
E. Checkin

だから結局、VSSで二番目ぐらいに痛いのはロックうんぬんでなくて、
ローカルでの変更点と、サーバ上で他の人が既にCheckinした変更点をうまく
まとめてくれる機能があるかどうか、なんだと思う。あと差分表示ウィンドウも
クソ。

一番痛いのはWindows共有のデータベースがけっこうよく壊れること、
特にネットワーク上の障害でやられやすいこと。これにつきる。CVSだったら
テキストベースだからなんとかできる可能性があるけど、VSSのデータベースは
バイナリなので、修復ツールでだめなら本当にだめだから。


544 :名無しさん@お腹いっぱい。 :02/09/10 01:17
>>515
> ・誰か一人がファイルをチェックアウトしていると、そのファイルはチェック
> アウトしている人以外は、基本的に編集出来ない。

VSSアドミニストレータのオプションで、
同時チェックアウトができるように設定できます。

また、VSS の admin であれば、他人がチェックアウトした
ファイルのチェックアウトの取り消しができます (これは、
最終手段ですが)。

> ・「ファイルを共有」という機能があるが、結局チェックアウト、チェックイ
> ン自体も共有されてはっきり言って意味がない。

「リームリーダー」が何を意図しているのか不明ですが、
共有機能の使い方を誤っているのでしょう。
共有+分岐か、共有+ピン設定を使うべきなのかもしれません。

545 :名無しさん@お腹いっぱい。 :02/09/10 01:18
>>525
locking model でないと、常に競合が発生する可能性があり、
マージの際に人的ミスが発生する可能性があるので、
locking model の方が、比較的安定した開発が行えるのだと
思います。ただし、実際の開発では、多人数で locking model
の開発を行うと、効率が落ちてしまうし、開発者にスキルがあれば、
競合で問題が発生することもあまりないので、locking model
のありがたみはあまりない、ということだと思います。

546 :名無しさん@お腹いっぱい。 :02/09/10 01:19
>>543
同時チェックアウトができるような設定にすると、
マージが必要な場合に、GUI のマージツールが使えます。

547 :名無しさん@お腹いっぱい。 :02/09/10 01:19
要するにVSSも使い方次第ってコトね。

548 :名無しさん@お腹いっぱい。 :02/09/10 01:20
>>545
少人数のスキルのない人の開発で有用、てことか。

549 :名無しさん@お腹いっぱい。 :02/09/10 01:26
初歩的な質問で大変恐縮ですが、

sourceforgeで開発者に登録してて
pserverでチェックアウト、認証方法:passwdの状態で
commitすると
cvs [server aborted]: "commit" requires write access to the repository
とエラーが出ます。
ssh認証にしないとcommit出来ないのでしょうか?
公開鍵というのが設定されていないような気がする、というか正直分からないんですが・・・。

550 :名無しさん@お腹いっぱい。 :02/09/10 01:28
>>549
正体バレバレだが。

> ssh認証にしないとcommit出来ないのでしょうか?
yes.

551 :名無しさん@お腹いっぱい。 :02/09/10 01:36
>>550
ありがとうございます。
という事はsshについて勉強しないとダメですね・・・。

552 :名無しさん@Emacs :02/09/10 02:13
>>551
勉強するも何も、SSH入れて
環境変数 CVS_RSH を 'ssh'に、
サーバの指定を :pserver: ではなく :ext: に
で良いんじゃない?


553 :名無しさん@お腹いっぱい。 :02/09/10 03:45
>>550
正体がわからない…
nxt の開発に参加した人?

554 :名無しさん@お腹いっぱい。 :02/09/10 04:00
気にするな。
Linux 板で有名なコテハン厨房だよ。

555 :名無しさん@お腹いっぱい。 :02/09/10 06:13
>>544
なるほど、結局のところ、チームリーダーも僕と同じVSS厨房なんやね・・・

> VSSアドミニストレータのオプションで、
> 同時チェックアウトができるように設定できます。

 ちなみにマージはどうなるのでしょう??


556 :名無しさん@お腹いっぱい。 :02/09/10 16:30
>>540
そーゆーのはユニークなIDを割り振ってresource.hを生成する
というようなプログラムなりスクリプトなりを作るもんじゃないのかな。


557 :名無しさん@お腹いっぱい。 :02/09/10 19:27
>>556
と言われましても、VC++のリソースエディタが勝手にresource.hに定義を
追加して行ってしまうわけで。
cvswrapperみたいな感じでcommit時に番号振り直すスクリプトでも流す
しかないんじゃないかねぇ。

558 :540 :02/09/11 00:04
>>556
557さんの言う通りなのですよ…

仕事はちゃんと分担してるので、複数人がかぶったIDつけても
同時に関連イベントが起きることはまずなくて、被害も出にくいんですが、
やはり気持ち悪い…
cvswrapperは大げさすぎる気がするんですが、他の人どうしてます?

559 :名無しさん@お腹いっぱい。 :02/09/11 00:58
>>555
最新ファイルの取得時、もしくは、チェックイン時に、
マージの必要がある場合には、まず自動的なマージが試みられ、
コンフリクトがある場合には、GUI のマージツールが起動されます。

# GUI マージツールを常に使う/使わない等の設定もできます。

ただし、自動的なマージに癖があるようですので、
過度に信用しない方がいいかもしれません。

560 :名無しさん@お腹いっぱい。 :02/09/11 02:31
CVS と Visual SourceSafe の同期を取るうまい方法はないですかね?

561 :505 :02/09/11 03:38
>>512
xdelta について、ちょびっと検索してみた。
う〜ん、ラッパ噛ませるというよりは、 CVS 自体に
この機能を組み込まないと、コントロールしきれん気がする。

ともあれ、教えてくれてありがとう。
いつかうまく使えるかもしれんので、頭の中で肥やしにしておく。


562 :名無しさん@お腹いっぱい。 :02/09/13 11:13
どなたか>>526を教えて頂けませんか?

563 :名無しさん@Emacs :02/09/14 01:17
>>562
意味がよくわからなかった。というか何が疑問なのかよくわらない。

564 :名無しさん@お腹いっぱい。 :02/09/14 01:52
要するに、CVS管理外のソースをCVSで管理し始める時、普通にimportで
どーんとやるとベンダ枝にimportされるので1.1.1.1になってしまうが、その
まま修正&commitしないとずっと1.1.1.1のままというのは気持ち悪くないか?
という話なんだろう。

で、そうなってる理由は
http://www-vox.dj.kit.ac.jp/nishi/cvs/cvs-manual/cvs-jp_63.html#SEC66
で、そうしたくない場合は(ちょっと面倒だが)
http://www-vox.dj.kit.ac.jp/nishi/cvs/cvs-manual/cvs-jp_35.html#SEC38
こうすると。

565 :名無しさん@お腹いっぱい。 :02/09/15 14:50
それだけでなく、importを繰り返すと、HEADが1.1.1.2になったり、
ベンダで新しく出来たファイルがHEADに入ってしまうのが気持ち悪い、
という意味です。
最初にimportした後、cvs commit -f -Rすれば、最初からあったファイルは
以後importしてもHEADは変わりませんが、ベンダで新しく作られたファイルは、
結局HEADに入ってしまうので、結局importのたびにHEADが変わってしまいます。
こういう仕様になっている理由、回避策を教えて頂けませんか?

566 :名無しさん@お腹いっぱい。 :02/09/15 15:52
importを繰り返す?
仕様以前に、使い方が異常なんじゃないの?

567 :名無しさん@お腹いっぱい。 :02/09/15 16:57
>>566
あるパッケージの一部として別パッケージを使ってるような時は別パッケージが
バージョンアップするたびにcvs importしない?

>>565
HEADが変わるっつーか、importで新規作成されたファイルのデフォルトブランチ
がベンダブランチになるのがイヤなんでしょ。
cvs importした後でcvs admin -bするんじゃダメなの?

cvs importがデフォルトブランチを変更しない場合、新規ファイルのデフォル
トブランチのみをベンダブランチにするのはかなーり面倒なんで、この動作は
特に問題ないと思うけど。

まあ、cvs importにデフォルトブランチを変更しないというオプションが有っ
てもいいとは思うけどね。


568 :566 :02/09/15 20:08
>>567
別パッケージをパクってくる場合か。ふむふむ、それはアリだね。
> HEADが変わるっつーか、importで新規作成されたファイルのデフォルトブランチ
> がベンダブランチになるのがイヤなんでしょ。
この説明でようやくわかったよ。何に難癖つけてるのかわからなかったんで。

569 :名無しさん@お腹いっぱい。 :02/09/17 17:06
>>565
CVS の思想として

 ベンダブランチが標準
 自分でメンテするのは、ベンダブランチから分岐したブランチ

という考え方になってるからじゃないの?

逆転させて、

 自分でメンテするのを標準ブランチ

とすると、ベンダブランチの扱いや、分岐したブランチが複数ある場合に
HEAD をどこにつけるかを決めるのが難しいよね。

570 :549 :02/09/17 23:50
>>552
遅レスですがありがとうございました。

結局以下の事をやってみましたが上手く逝きませんでした。
WinCVSを使ってSSH接続でsourceforgeの某プロジェクトへcheckout/commitしようとしています。

まずAutoexec.batに
SET TERATERM_EXTENSIONS=1
SET CVSROOT='username'@cvs.sourceforge.jp:/cvsroot/'projectname'
SET USERNAME='username'
SET CVS_RSH=ssh と書き加え(''内は自分のusername&登録しているprojectname

コマンド入力は苦手なのでteratermpro&TTSSHを使ってSSH接続しようと思い、
puttygenで公開鍵/秘密鍵を作成 → アカウント管理で公開鍵を登録
→ TTSSHを立ち上げ、必要な項目を埋めて実行
'username'@sf-usr-shell:~$ となった所でttermを起動したまま

WinCVSを起動し、管理−設定→全般−CVSROOT:''
認証方法:SSH経由で接続 RSA鍵の位置:パス\identity

ポート指定タブ 使用するrshを指定するにチェック:'パス\ttssh.exe'

と設定してcheckoutを行うと、「tera term:エラー 'ホスト名が無効です'」
となってしまいます。
(TTSSHを起動する度にホスト名その他がリセットされているので
それが原因だと思うけど、起動時に前回の設定を反映させる方法が分からない・・)

良ければどなたかアドバイスをお願い致します。

571 :549 :02/09/18 00:19
というか今sshスレ読んでたんですけど
公開鍵ってプロジェクト管理者が登録するもので
他の参加者がアカウント管理で鍵の編集しても意味ないんですか・・・?

572 :名無しさん@お腹いっぱい。 :02/09/18 00:38
何のprojectだか知らんが、そんな状態でcommitしても他のメンバーの迷惑に
なるだけじゃねーか?


573 :名無しさん@お腹いっぱい。 :02/09/18 00:40
>>571
参加者それぞれが自分の鍵を自分のアカウントに登録するもの。

>>572
まだ開発者一人だけだからいいんでない?

574 :549 :02/09/18 01:51
>>572
はい。それは正直心配ですね。

>>573
ありがとうございます。ちなみに1人じゃありません。

575 :549 :02/09/18 02:14
×WinCVSを起動し、管理−設定→全般−CVSROOT:''
〇WinCVSを起動し、管理−設定→全般−CVSROOT:'username'@cvs.sourceforge.jp:/cvsroot/'projectname'
でした。

576 :初期不良 :02/09/18 15:52
他のモジュールで外部のモジュールを使いたい場合、
modules ファイルに &module を書けば良さそうですが、
http://www.sodan.org/~penny/vc/cvs-ja_18.html#SEC158
modules ファイルをチェックアウトして

module1 module1 &submodule

と書いてチェックインしてみたら module1/submodule 以下にしか
展開できないみたいです。まあ、これでも問題はないと思いますが
もし所定の場所に submodule を展開させたい場合は
どうすればいいんでしょうか?

逆に FreeBSD のように ls src/bin/ls などとやるしかない?
ソースの大本の場所が別のところになってしまいますが...

577 :549 :02/09/21 18:04
すみません。自己解決しました。
>>570のあと、PuTTY等いろいろ試して、
http://download.sourceforge.net/sfsetup/sfsetup-v1.2.zip
で上手く逝きました。
長文・連続レス等、スレ汚し失礼しました。

578 :初期不良 :02/09/23 16:26
subversion の話ってここでいいですか?
Linux 板の方は閑古鳥ですし...

Subversion使ってる人いますか?
http://pc.2ch.net/test/read.cgi/linux/1002355536/

FreeBSD の ports で入れてみますた。
subversion って apache2 と合わせないと使えないのかと思ったら
svn import file:///absolute/path/to/myrepos someproject myproj
とか言う書き方でローカルリポジトリにアクセスするのね。
普通に path 書いたら跳ねられてできないのかとあわてふためいたYO
さていろいろ試してみまつ

579 :名無しさん@お腹いっぱい。 :02/09/23 20:23
>>578
> Linux 板の方は閑古鳥ですし...
話題振って盛り上げればいいんでないの?

580 :初期不良 :02/09/23 21:05
>>579
どちらかというと Linux 板にあるのも不自然と思ってたり...

581 :初期不良 :02/09/23 21:58
http://subversion.tigris.org/files/documents/15/576/svn-handbook.html
ここを読みながら move を中心にいじくってみますた。
move って基本的に cp+rm? 一応 cp は add するのと違って
すべての履歴が残るようなのでそう言う形のリネームは
できることになるけどリネーム前の履歴が見えるのはいいのか悪いのか...
基本的にはいい場合が多いんだろうけどファイルの依存関係が
入れ替わったりしてると大変そう。それをふまえた上での履歴参照
って事で扱えばいいのかな?

あと、tag が無くて cp でやれと言うような話になってるっぽい。
リポジトリを同じサーバ内で cp すると、複製されるんじゃなくて
tag が打たれるような意味合いになるのかな?
DB 内の話だからよく分からない...

582 :名無しさん@お腹いっぱい。 :02/09/24 08:34
>>579
| > Linux 板の方は閑古鳥ですし...
| 話題振って盛り上げればいいんでないの?

犬に知能を求めるのがそもそも間違いです


583 :名無しさん@お腹いっぱい。 :02/09/24 09:08
4割がディストリビューションのインストールだけ
3割がサーバ系プログラム動かすだけ
2割が ./configure ; make だけ
0.5割がソースをいじろうとするがCVSつかわない
0.5割がCVSユーザ

0.5割もいるかなあ(藁

584 :名無しさん@お腹いっぱい。 :02/09/24 19:20
>>583
分母はなんだよ。

585 :名無しさん@お腹いっぱい。 :02/09/24 21:36
>>584
失礼。FreeBSDユーザです。

586 :名無しさん@お腹いっぱい。 :02/09/24 23:40
(´-`).。oO( FreeBSDの「ディストリビューション」って何だろう。。

587 :名無しさん@お腹いっぱい。 :02/09/25 00:36
(´-`).。oO(>>586 数値の部分が、該当Linuxユーザの
何に対する割合かという問いに対する答えが「FreeBSDユーザ」
なんだろうよ)


588 :名無しさん@お腹いっぱい。 :02/09/25 05:31
ん?犬ユーザ全体との割合じゃないのか?

589 :名無しさん@お腹いっぱい。 :02/09/25 05:57
そもそも >>583 のソースはどこ?

590 :名無しさん@お腹いっぱい。 :02/09/25 12:14
根拠のない>>583に振り回されてるオマエらはアフォ。

591 :名無しさん@お腹いっぱい。 :02/09/25 20:27
>>590
まあまあそう言うな。>>583の書き込みだって、主観のみに基づいた
半分ヨタ話だってことは、当の>>583自身が分かってて書いてる(最後の
一行から)。
>>584以降は、それに付き合ってるって感覚だろう。本気で振り
回されてる奴はいないよ。

592 :名無しさん@お腹いっぱい。 :02/09/25 23:15
>>591
遠回しに「面白くない」と言われてるんだろう。

593 :名無しさん@お腹いっぱい。 :02/09/28 18:03
(゜Д゜)ハア? ttp://isweb39.infoseek.co.jp/novel/stwalker/haa.htm


594 :名無しさん@お腹いっぱい。 :02/09/29 19:57
LINUX板ではわかる人がいらっしゃらなかったのでお願いいたします。
環境変数の一般的なことで質問させてください。お願いします。
CVSROOTという環境変数を
CVSROOT=/usr/local/cvs
に設定したとします。
echo $CVSROOT

/usr/local/cvs
と出てくるのでここまではOK。

そして、
cvsのインポートコマンド
cvs import -m ("コメント文字列") (プロジェクト名) (ベンダータグ) (リリースタグ)
(cvs import -m のあとの4引数は適当な文字列でかまいません。)
と入力しました。すると、エラーメッセージ

/usr/local/cvs/CVSROOT: No such file or directory

となってしまいます。
$CVSROOTが指している/usr/local/cvs/という文字列の右側に
CVSROOTという文字列そのものがなぜかくっついて認識されているのです。
これはCVSそのものの問題じゃなくて、何か環境変数のことで勘違いしているような気がするのですが
どなたかわかる方いらっしゃいませんでしょうか。

RedhatLinux 8.2
TurboLinux 7

どちらも同じ結果が出ました。

595 :名無しさん@お腹いっぱい。 :02/09/29 19:57
>>594
マルチは死ね!

596 :名無しさん@お腹いっぱい。 :02/09/29 19:57
>>594
マルチは死ね。

597 :名無しさん@お腹いっぱい。 :02/09/29 20:11
>>594 は氏にました。レス不要です。

598 :名無しさん@お腹いっぱい。 :02/09/29 21:04
解決したんでいいです。レスしないで結構。

599 :名無しさん@お腹いっぱい。 :02/09/29 22:10
マルチする奴のメンタリティがよくわかる一幕ですた。

600 :名無しさん@お腹いっぱい。 :02/09/29 22:34
>>594
> LINUX板ではわかる人がいらっしゃらなかったのでお願いいたします。
答える人がいなかっただけだろう。
なぜ答える人がいなかったのか考えてみよう。

601 :名無しさん@お腹いっぱい。 :02/09/29 23:16
>>595-596 息ぴったりだね!


602 :名無しさん@お腹いっぱい。 :02/09/29 23:16
>>595-596 息ぴったりだね。


603 :名無しさん@お腹いっぱい。 :02/09/30 00:29
>>601-602 息ぴったりだね!

604 :FreeBSD :02/09/30 14:44
おれは Peggy っていうエディタ使ってるよ。
CVSもVSSも(RCSも)対応してていい感じ。

605 :名無しさん@お腹いっぱい。 :02/10/01 09:20
パーミッションが 600 のファイルというのを CVS に登録するのは間違っているのでしょうか?
cvs commit したと同時に 644 になってしまいますし、$cvsroot の中でもパーミッションが
644 になってしまうために user 以外に見られてしまいます。
秘密なファイルは cvs で管理しちゃ駄目ってことでしょうか?

606 :名無しさん@お腹いっぱい。 :02/10/01 10:35
共用のCVSROOTにcommitするのが間違いです。自分用に700のCVSROOTを作ったらよろし。

607 :605 :02/10/01 10:52
>>606
では、commit する毎にファイルが 644 になってしまうのは
手動で直せばいいのでしょうか?

608 :名無しさん@お腹いっぱい。 :02/10/01 11:16
>>607
$CVSROOTを700にしておけば、RCSファイルのpermissionはどうでもいいですよね。
あとはcheckoutした後に然るべき場所に然るべきpermissionで置いてやるような
Makefileを書いておいてmake install。

もしかして本番の場所に直接checkoutしてますか?

609 :605 :02/10/01 11:20
>>608
> $CVSROOTを700にしておけば、RCSファイルのpermissionはどうでもいいですよね。

はい。

> あとはcheckoutした後に然るべき場所に然るべきpermissionで置いてやるような
> Makefileを書いておいてmake install。

ソースコードではなく、.fetchmailrc なんです。自分の dot.file を管理するのに
CVS に登録しているのです。修正した後など cvs commit しています。
このファイルは 600 じゃないと fetchmail が動かなくて、cvs commit した後に
ファイルが 644 になってしまい、知らずに fetchmail が終了してしまうという
事が起きてしまいます。

> もしかして本番の場所に直接checkoutしてますか?

cheackout はしていません。


610 :名無しさん@お腹いっぱい。 :02/10/01 11:30
>>609
~/.fetchmailrcを直接repositoryに入れるんじゃなくて、~/dotfiles/とかで
編集してmake installで$HOMEにcopyするようにすりゃいいんじゃないの?


611 :605 :02/10/01 11:33
>>610
> ~/.fetchmailrcを直接repositoryに入れるんじゃなくて、~/dotfiles/とかで
> 編集してmake installで$HOMEにcopyするようにすりゃいいんじゃないの?

面倒ですけど、そうするのがいいかもしれませんね。
ありがとうございました。


612 :名無しさん@お腹いっぱい。 :02/10/01 22:20
>>611
いまだにバグってるかも知れませんが、各ファイルのmodeを
保存する設定というのがあったはずです。


613 :名無しさん@お腹いっぱい。 :02/10/03 01:01
あげん


614 :名無しさん@お腹いっぱい。 :02/10/03 18:01
>>613
いや、あげとるあげとる

615 :名無しさん@お腹いっぱい。 :02/10/03 19:05
>>614
「ん」は意思を表わす助動詞「む」の撥音便かと。

616 :名無しさん@お腹いっぱい。 :02/10/03 22:42
いろんなところで期待している声をよく聞くが、需要が高い割にSubversionの開発が
いつまでたっても進まないのはなぜ?

617 :名無しさん@お腹いっぱい。 :02/10/03 23:47
>>616
どのあたりが進んでいないと思っていますか?


618 :名無しさん@お腹いっぱい。 :02/10/04 00:23
>>616
ソースを維持管理するツールが不安定じゃ困るし、現状CVSでもなんとか
なってるから、まぁゆっくりいいものを作ってもらえばいいんでない?

619 :名無しさん@お腹いっぱい。 :02/10/04 00:41
確かに、枯れ優先になるのも頷けるよな。

620 :初期不良 :02/10/04 05:46
Subversion を CVS 的に使う分には十分な状態だと思うけど、
タグ関係がちょっと違うのでとっかかりにくいかも。
IDE 環境とかだと CVS 対応ってのは結構あるし
その辺も CVS の方が便利と言えば便利?

621 :名無しさん@お腹いっぱい。 :02/10/13 01:20
新しくファイルを作ったり、削除したりするようなパッチを、
CVSの作業ディレクトリに当てた時に、自動的にcvs add/cvs remove
してくれるようなツール無い?

622 :名無しさん@お腹いっぱい。 :02/10/13 01:34
>>621
勝手にやられんのってこわくない?

623 :名無しさん@お腹いっぱい。 :02/10/13 06:19
>>621
引数無しでcvs addやcvs removeじゃダメなのか?

624 :某板123 ◆mXrBwDDzyw :02/10/14 01:14
>>621
私は既存のソースパッケージからフルオートでリポジトリを構築する
ツールを開発しているのですが、汎用的に使えるよう細分化した中の
ck_update というのがまさにそれです。

 cvs -n up -I (任意) を用い、CVSが知らないファイル(とディレクトリ)を
cvs add し、CVSが知っているが存在しないファイルを cvs rm します。
再帰的に動作します。興味があればどうぞ( ´∀`)

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cvsknit/cvsknit/bin/ck_update

----
$ ck_update -h
ck_update    -- Casts 'cvs add/rm' recursively
Usage: ck_update [-I ignore] <directory> ...
   -I  ignore except in './.cvsignore' (see cvs info)

 ※パッチを当てた直後でしたら、"-I ! -I '*.orig' -I '*.rej'" などを与えて下さい
 ※cvsで言う -n オプションも使えます
----

>>621さんの書かれる通りの危険を孕んでいるため、
・動作するディレクトリを明示しないと動きません
・デフォルトでは、CVS/Rootが :local: でない場合は動きません
 (ck_verifyと言う、CVS環境を検証するスクリプトを呼んでいます)


625 :123 ◆mXrBwDDzyw :02/10/14 01:21
>>621 というのは >>622 の間違いです。

 ck_update をリモートCVSに対して使いたい場合は、 at your own risk で
44行目あたりの
 ck_verify 'local'

 ck_verify 'cvs'
として下さい。

スクリプトへのツッコミ歓迎です。
お手柔らかにお願いします( ; ´∀`)

626 :初期不良 :02/10/14 14:43
複雑なことをしないなら WinCVS とか使うより
サーバ上で動かしつつ samba で作業したりしてもいいかもね。
「新規テキストファイル.txt」とか登録されまくるかもしれないけどw

627 :名無しさん@お腹いっぱい。 :02/10/14 22:15
>>626
????バージョン管理は????

628 :名無しさん@お腹いっぱい。 :02/10/15 01:39
>>627
おそらく、cvsサーバ上で作業を行う、の意味であろう。
WinCVSが動くクライアント上で作業するのではなく、
サーバ上にある(sambaで共有されている)ディレクトリや
ファイルに対して作業する、と。こういう意味でok? > 626

629 :名無しさん@お腹いっぱい。 :02/10/15 21:33
共通ライブラリの管理用にグループ内でCVS使って、後からタグ付けて
リリースするようにしてたんだけど、AP側がろくな設計してないもんだから
仕変の嵐。

ここ2年間の間にリリース回数延べ224回、ヘタすると1日2回とかタグが付
いたり、商用でVer1.2.3が動いてる段階でVer2.0, Ver2.1, Ver2.2がほとんど
同時並行開発だったり(なんだよそれー)、しかも一部のソースだけ開発
環境用と総合テスト&リリース環境用で物件が違うと来たもんだ。
おかげでタグだらけ/枝だらけでCVSの処理速度が加速度的に遅く…

総合テストリリース時だけタグ付けるようにすればかなりマシになるけど、
そっちの管理は別のグループがやっててCVS使ってない、つーか使えと
マネージャーまで説得したのになんだかんだ屁理屈こねて結局手作業…
ヽ(`Д´)ノウワァァン!! シンデマエボケー

いくら良いツールを使ったとしても、体制と人間がアホだとどうにもならん
というお話ですた…。・゚・(ノД`)・゚・。

630 :612 :02/10/15 21:57
>>624
それなら最悪importでいいんじゃないのか?
洩れが欲しいのは、
cvs patch -p1 hogehoge.diff
みたいな機能。*.oが残ったりしていても平気で使えないと悲しい。
もっと言えば、できればrejはconflictにしてくれれば嬉しい。

631 :名無しさん@お腹いっぱい。 :02/10/15 21:58
あ、621ね。

632 :123 ◆mXrBwDDzyw :02/10/15 23:54
>>630
まあいろいろありまして・・・( ; ´∀`)

う〜ん、cvs ci 側を同時にラップするか、本当に
何らかの形でコンフリクト状態を作らないと >>621
さんが期待していそうな使用感にならない予感です。

でも便利そうですね。

633 :名無しさん@お腹いっぱい。 :02/10/16 15:35
>>629
repo を mfs に乗せちまえって話があったよ。

>> 体制と人間がアホだとどうにもならん
まったくだ

634 :初期不良 :02/10/16 20:37
>>628
そうそう
けど >>627 の言うとおり commit とかはサーバ上でやらないといけないね...

635 :名無しさん@お腹いっぱい。 :02/10/16 21:35
>>634
>commit とかはサーバ上でやらないと
よくわからなくなってきたな。
管理対象のファイルやディレクトリがサーバ上にあったとしても、
sambaによってクライアント側から見えているのならば、それは
クライアントが持っているように扱えるよね。だからクライアント側で
動くcvsから、サーバに向けてcommitできると思うのだが。
そもそもこの理解の仕方がオカシイのかな。

636 :名無しさん@お腹いっぱい。 :02/10/16 21:46
そもそも commit するためにサーバーにログインするぐらいならはじめっから
ログインして emacs で編集しちゃうような気が

637 :名無しさん@お腹いっぱい。 :02/10/17 20:49
>>635
それ、大丈夫なんだっけ? 前に試したときには、改行コードの問題かなにかで
ハマったような記憶があるんだが。(気のせいかも)

638 :名無しさん@お腹いっぱい。 :02/10/17 23:14
>>634 そんなあなたにVSS


639 :名無しさん@お腹いっぱい。 :02/10/17 23:34
CVS というよりは、RCS の質問なんだが、わかる人教えて下さいな。

$Log$ ってあるじゃないですか。
以下のように吐いてもらえるとうれしいのですが、
設定をするだけで吐いてもらえることは可能ですか?

<h2>ChangeLog</h2>
<ul>
$Log: index.html,v $
<li>Revision 1.10 2002-10-10 10:10:10 hoge
<ul>
<li>fuga
<li>hoge
</ul>
<li>Revision 1.9 2002-09-09 09:09:09 hoge
<ul>
<li>uhihi
</ul>
</ul>


640 :名無しさん@お腹いっぱい。 :02/10/18 06:44
>>639 そういう時は普通、pre の中に入れるだろ

641 :名無しさん@お腹いっぱい。 :02/10/18 14:10
>>639
CVSでは$Log$の使用自体あんまりお勧めしてなかったと思うが。

それはともかく、$Log$のコメントリーダーはワークファイルの拡張子
別にハードコーディングされちゃってるので、自分でパッチ書かない
限り無理だと思う。

642 :名無しさん@お腹いっぱい。 :02/10/23 00:32
CVSとANTの連携とよくいますが、どのような使い方をしているのでしょうか?
今は、antは使用しないで、.javaファイルと.classファイルを両方
commitしています。



643 :名無しさん@お腹いっぱい。 :02/10/23 01:02
class は commit しないのでは?
だってソースから作れるから。

ant の CVS タスクで cvs update し、
javac でコンパイル、
junit でテスト
jar でパッケージング
って感じでは?


644 :名無しさん@お腹いっぱい。 :02/10/23 04:02
作業ディレクトリで編集した内容を捨てたい時って普通どうしたら良いんですか?
rm でファイルけして cvs update したらうまくいったんですがこれが正しいやり
方ですか?

645 :名無しさん@お腹いっぱい。 :02/10/23 04:05
>>644
cvs update -C file
もちろん、rm して cvs update でも問題なっしんぐ。


646 :名無しさん@お腹いっぱい。 :02/10/23 04:05
>>644
おれもそんな感じ。

647 :初期不良 :02/10/23 04:42
WinCVS だと unedit っての使ってるな。
ローカルの作業内容取り消しには。

648 :名無しさん@お腹いっぱい。 :02/10/23 06:32
>>647
それは cvs update -C をするものなの? cvs uneditは
cvs editの反対で「俺はこのファイルを編集しているぜ」フラグを
消すものなので紛らわしいね。


649 :名無しさん@お腹いっぱい。 :02/10/23 09:42
>>645
rmするよりは、mvしたほうがいいよ〜
cvs update -C file やると、file.#リビジョンってファイル名に自動的にmvされるっぽいけど。

650 :644 :02/10/23 20:10
わーいありがと

651 :名無しさん@お腹いっぱい。 :02/10/24 14:51
しつもんです

viなどでファイルをすでに編集しはじめているときに

【修正するけど、前のファイルも残したい】

って時は、ファイルに連番(バージョン)をつけたくなります。

この時、CVSやRVSを使いこなしている人なら、こんなときどのような
行動を取りますか?

652 :名無しさん@お腹いっぱい。 :02/10/24 15:33
>>651
タグを打つ。

653 :名無しさん@お腹いっぱい。 :02/10/27 09:13
>>652

すみません、もう少し詳しく教えていただけませんか?

654 :名無しさん@お腹いっぱい。 :02/10/27 09:27
cvs tagは現在commitされている物に対して付けられるから、編集開始
してる状態でもその場でタグを打てば1つ前が分かる、という事でわ?

ただ、このやり方は「とっておきたい」というタイミングでどんどんcommit
するのが前提だけど。

655 :名無しさん@お腹いっぱい。 :02/10/27 23:35
sambaなんて使わずに、共有ディスクにいれちゃだめかい?

656 :名無しさん@お腹いっぱい。 :02/10/28 16:01
>621,632
あるディレクトリにcheckoutして、そこに変更加えたツリーを
$ rsync -n -r -l -t --delete --cvs-exclude source/ dist
で上書き。
で、>624のck_updateを使うというのはどうだろう。
削除されたのはR、変更されたのはM、新しいファイルはA、コンフリクトはC、
とできると思う。

これをバッチで走らせて、CVSの使い方を知らない複数人が作業しているWebペー
ジの管理ができるのではないかと妄想中。




657 :名無しさん@お腹いっぱい。 :02/10/28 16:02
あ、-n オプションいらね。

658 :名無しさん@お腹いっぱい。 :02/10/28 21:52
cvsntを使っています。
configにSystemAuth=yesと設定して
passwdファイルに
takahashi=!takahashi
のようにユーザーを設定してもログインしようとするとエラーとなってしま
います。
:pserver:ドメイン名\USERNAME@IP_ADDRESS:
のような設定でドメインにあるユーザーならばログインできるのですが、
passwdを参照してログインする設定で動作させている人はいますか?


659 :heno ◆mXrBwDDzyw :02/10/28 23:08
>>656
あるcheckoutを中心にして、他メンバーのcheckoutを適宜rsync
で叩き込んでcommitする案 (conflictマシーン) に見えましたが、
CVSを使ったテキストファイルベースのWiki、といった風情のシス
テムはいかがでしょう( ´∀`)

1. 各メンバーごとのアカウントで checkout したツリーを用意する
2. 1を Samba や netatalk で個別に見せて作業してもらう
3. telnet/ssh 経由で、番号選択で ck_update + cvs up + cvs ci や
 cvs up や checkout し放題^H^H直しといった操作を任意で実行
 できる様にする
4. 早朝に1回程度、自動でsyncさせてConflict等のログやファイル
 の移動を記録する
5. webmasterはログをチェックし、Conflictの調停に走る

あ、話、合ってますか?( ; ´∀`)


660 :名無しさん@お腹いっぱい。 :02/10/31 22:02
あちこちに CVS っていうかっこ悪いディレクトリばら撒くなよヽ(`Д´)ノ

661 :名無しさん@お腹いっぱい。 :02/11/01 17:39
あちこちに/* 前バージョン */ってかっこ悪いコメントアウトばら撒くなよ

662 :名無しさん@お腹いっぱい。 :02/11/01 18:01
せめて .CVS/ にして

663 :名無しさん@お腹いっぱい。 :02/11/01 20:04
cvs.h の CVS を .CVS に書き換えてビルドしたら、そうでない人たちと
の作業に何か困るだろうか? 特に何も困らない気がする。
問題は pcl-cvs とかの周辺ツールの方かなあ。


664 :名無しさん@お腹いっぱい。 :02/11/02 15:40
>>663
そうか、そういう手があったか…。
pcl-cvsとかは、何かsetqすればOKな気がする(僕はvc.elで満足してるので詳細はわからないけど)。

ところで、emacsのファイル補完対象から「CVS」を除く設定ってできるかなあ。
bashとかは変数設定すればできるから問題ないんだけど、eamcsでそれっぽいのが見付からなくて…

665 :663 :02/11/02 19:13
pcl-cvs は、pcvs.el を眺めてみたところ、"CVS" とハードコード
されて分散していた。残念ながら setq 一発とはいかなさそう。
でもこれらを置き換えれば何とかなりそうな感じだ。

vc は vc-directory-exclusion-list に足すだけで良さそうですね。

関係ないけど、cvs-status が時々 cvs の出力のパースに失敗して
おかしくなるんだよなあ(特にサブディレクトリがあるとき)。
なんとかならんかな。


666 :名無しさん@お腹いっぱい。 :02/11/02 20:28
達人プログラマいわく、何でもCVSにつっこめということですが、
すべてを突っ込もうとすると、ファイル名というかディレクトリの分け方にものすごく迷いません?

一度入れてしまうと名前を変えるのはそれなりに面倒ですし、
衝突がないようにもしないといけないし…

その辺りは実践されてる方はどうでしょうか?

667 :名無しさん@お腹いっぱい。 :02/11/02 21:36
>>666
どうしても名前を変えたくなって、かつ、名前を変えたという履歴がいらないんなら、
repository直接いじってるよ。漏れは。
どうせ履歴残るっていっても扱いにくいし。

でも、そうするとしても、名前に迷うのはその通りだと思います。。
というか、コーディングって(ファイル名の命名も含めて)、
名前を付ける作業がかなりの割合を占めてるように思う今日このごろ。
いい加減な名前つけると、後々メンテできなくなるしね。

668 :名無しさん@お腹いっぱい。 :02/11/03 08:33
ここらへん、シングルで使う分にはVSSはいいんだよな。
作業ディレクトリに変なディレクトリ作らないし。

Windowsでしか使えない上に、MS製ということで信頼性に不安が...

669 :名無しさん@お腹いっぱい。 :02/11/03 10:45
けど、ファイルは作りませんでしたっけ? 許容範囲とは思いますけど。

670 :名無しさん@お腹いっぱい。 :02/11/03 16:54
VSSのプロジェクトファイルみたいのは作るね。

671 :名無しさん@お腹いっぱい。 :02/11/03 23:08
CVSで文字コードSJISで日本語ディレクトリ名(モジュール名?)を管理したいんだけど。
表示、申込、ソースなどするとノーマルなCVSでは管理できないようで・・・.cvswrapperでEUCに変換するつってもこれは、ファイルの中身だけですよね・・・?
方法はあるのでしょうか?

とりあえずソース弄れ!は、最終手段として考えております…。

672 :名無しさん@お腹いっぱい。 :02/11/04 00:17
>>668
> Windowsでしか使えない上に
英語版ですが、SourceOffSite という製品が UNIX 系クライアント
に対応しています。
http://www.sourcegear.com/sos/
# ついでに、通信の暗号化、圧縮にも対応しているところがいい!
# でも、日本語版は、Windows のクライアントしかないようです。

673 :名無しさん@お腹いっぱい。 :02/11/04 00:27
>>671
ソースいじれ。

ちなみに環境変数USERが日本語名だったりしても色々楽しい事に
なる模様。

674 :名無しさん@お腹いっぱい。 :02/11/04 00:34
ということは、Windows で例えば cygwin の CVS を使うのは、
結構ワナが多かったりするということなんでしょうか

675 :名無しさん@お腹いっぱい。 :02/11/04 00:42
>>674
日本語使わなければ特に問題ない。

676 :名無しさん@お腹いっぱい。 :02/11/04 01:30
>>671
漏れは普通に日本語ファイル名をCVSでコミットしてるけど、使ってるCVSは、Windows版の本家のやつ(CUIのやつ)だなあ。
あ、サーバ側はUNIXね。
UNIX側では、repositoryに、SJISのファイル名でファイルが作られてます。
別に、cvsでファイル名指定する時に苦労するくらいで、特に困ったことないよ。

cygwinでも大丈夫な気がするんだけど、だめだったりするの?

677 :初期不良 :02/11/04 04:36
win クライアントからだとごった煮で日本語関係不便無いけど
http://www.gembook.jp/html/moin/moin.cgi/CvsInfo

678 :名無しさん@お腹いっぱい。 :02/11/04 06:22
例によって「表」とかでおかしくなったりしないんかな。

679 :初期不良 :02/11/04 13:41
>>678
EUC で送ってるみたいだから大丈夫みたい

680 :676 :02/11/04 14:45
ごった煮はGUI好きの人は良いと思うけど、漏れはvc.el使ってるので、CUIじゃないと駄目なのだ。
>>678
ファイル名をサーバに送る時に\が解釈されるとは思えないので、「表」も大丈夫だと思ってるけど。
あ、もちろん、コマンドラインの引数に渡す時は適切にクウォートする必要があるけど、
それはshellの役目でCVSの役目じゃないしね。
でも、確かめてないので、今度「表」ってファイル名でやってみよ。

681 :名無しさん@お腹いっぱい。 :02/11/04 18:11
仮想ルート権限在りのレンタルサーバー借りてるので
CVS Server使えるのか調べたいのですが、Serverを構築する条件は何でしょうか?

ちなみにinetd.confの編集は却下らしい

682 :名無しさん@お腹いっぱい。 :02/11/04 18:57
管理者に聞く

683 :名無しさん@お腹いっぱい。 :02/11/04 20:48
>>680
ごった煮だとwincvsもcvs.exeも同じ設定になりますので、
EUCへの変換なども行ってくれます。だからemacsのvc.elでも
使うcvsがごった煮であれば問題無しかと思います。

私の環境がまさにそれ(xyzzy + cvs.l)で、
リポジトリにはEUCで保存されています。

唯一問題なのが、C-x v l の際にcvs.exeの出力(SJIS)と、
cvs logの結果(EUC)が混ざってしまうことでしょうか。


684 :名無しさん@お腹いっぱい。 :02/11/04 20:50
>>683
書いた後に気付いたのですが、ファイル名の話でしたっけ(汗;)。
ファイル名に日本語を使ったことはありません。ごめんなさい。


685 :680 :02/11/04 21:05
>>683
あ、ごった煮って、cvs.exeのパッチも含まれてるんだ。
漏れは必要と思ったことがなかったから、ちゃんと調べてなかった。スマソ。

>>681
inetd.confの変更がゆるされなくても、
rshかsshでそのサーバにログインできれば使えるよ。
read onlyなアカウントを作りたいとかだと無理だけど。

686 :名無しさん@お腹いっぱい。 :02/11/04 22:54
CVSのUNICODE化計画みたいなのは無いの?


687 :671 :02/11/05 01:50

ファイルの中身を変換だったら、
Clien Side : Shift JIS , Server Side : EUC にしたければ
サーバ側のCVSROOT/cvswrapperに
*.txt -f 'nkf -s' -t 'nkf -e' とかやれば問題ないはずです。(-f -t 逆かもしれん・・)
んで、ファイルの中身にかんしては、あまりパッチは必要ないと思うのだが?
# ログはまんまだけどね・・・
# サーバ側を全部Shift JISで保存されるようにしておけば、cvswebからは全部ShiftJISでお幸せにということもあるのですけどね。

私が悩んでいるのは
たとえば
cvs co ソース
       ~~~~~~ Shift-JIS
とかやるともうダメ〜な状況をど〜にかしたいわけなのですが・・
>>673
ん〜 やむを得ませんか・・・(^^;

688 :名無しさん@お腹いっぱい。 :02/11/05 02:09
>>687
>>676は読んだかい?

689 :名無しさん@お腹いっぱい。 :02/11/05 02:18
>>688
 読みましたが?

>>680
> でも、確かめてないので、今度「表」ってファイル名でやってみよ。
 この結果待ち・・・っていうか、

 ごった煮で cvs import ソース(Shift JISコードね)ってなことやりゃ結果はすぐ見えますが。。。

 ソCVSとかいうものができたり・・・

 cvs co ソース もできません。(見つけてくれない。)

690 :   :02/11/05 02:29
画像が貼れるチャット&掲示板
http://www.i-chubu.ne.jp/~tomomi-h/marion/navi/navi.cgi?links=20311

691 :名無しさん@お腹いっぱい。 :02/11/05 05:47
>>689
ファイル名そのもののエンコードを変更する拡張というのは
今の所見たこと無いです。単に私が見たこと無いだけか、
世間的に需要が無いのかわかりませんが。
多分cvsコマンド自身をいじった方が後々の為に良いと思います。
ところで、

> ソCVSとかいうものができたり・・・
> cvs co ソース もできません。(見つけてくれない。)

これって、WinCVSだと問題ないってことはありませんか?
もしくはお使いのコマンドシェルの問題とか。


692 :680 :02/11/06 23:52
>>689
やってみたら、できませんでした。がっくし。

> ls
CVS/ build.xml com/ hoge/ ソース.java
> cvs add *.java
cvs [server aborted]: could not chdir to ・ No such file or directory
> ls
CVS/ build.xml com/ hoge/ ほげほげ.java
> cvs add *.java
cvs server: scheduling file `ほげほげ.java' for addition
cvs server: use 'cvs commit' to add this file permanently

これはtcshで、cygwinのCVSでやったものだけど、
DOS窓でやろうが、Windowsネイティブのバイナリでやろうが、
結果は違ったものの、扱えないことにはかわらなかった。
上の'ほげほげ.java'みたいに'\'が無ければうまくいくのにねえ。

693 :名無しさん@お腹いっぱい。 :02/11/07 00:30
cvs の欠点を踏まえた上での新しいバージョン管理ツールの作成ってないんですかね
どこかで聞いたことがあるような気もするんですが…

694 :名無しさん@お腹いっぱい。 :02/11/07 00:55
>>693
subversionのこと?
http://pc.2ch.net/test/read.cgi/linux/1002355536/

695 :名無しさん@お腹いっぱい。 :02/11/07 03:39
http://diary.imou.to/~AoiMoe/2002.11/early.html#2002.11.06_s05
http://chizuru.bunkasha.co.jp/~yui/nov02.html#1106_9

クソみたいな議論をされているようですが。:)

696 :名無しさん@お腹いっぱい。 :02/11/07 08:22
だってクソじゃーん。

697 :名無しさん@お腹いっぱい。 :02/11/08 00:37
>>695
思わず読んで激しく疲れた(w
偏見って怖いね。

698 :名無しさん@お腹いっぱい。 :02/11/08 00:40
>>697
葵の人も電波届いたな人も、あの文章に対してまともに返答してるのが
さすがというか何というか。俺だったら、サクッと /dev/null に送ってしま
うところだ。

しかし MS-DOS か。渋すぎ。

699 :名無しさん@お腹いっぱい。 :02/11/08 00:42
結局のところ、Windows 上では日本語ファイル名は使わない方がいいという結論なのでしょうか

700 :680 :02/11/08 00:59
>>699
そうなっちゃうねえ。
まあ、SJISエンコーディングで'\'が入らない文字だけ使うことにすれば、使えないことはないのだけど…。
(というか、実際に使ってるし、ここで指摘されるまで'\'入りの文字がおかしくなるなんて知らなかった)
あるいは、WindowsのCVSに手を入れて、EUCにしてから送れば問題ないはずなのだが…。

701 :名無しさん@お腹いっぱい。 :02/11/08 22:12
普通に import すると、カレントディレクトリのファイルを全部登録してしまいますが、
特定のファイルだけ import したいときは、まず空のディレクトリを import してから
add するものなのでしょうか。

702 :名無しさん@お腹いっぱい。 :02/11/08 23:52
>>701
特定の拡張子だけ除外とかではなくて?
特定の拡張子除外とかなら、.cvsignoreでOKなんだけど。。

703 :名無しさん@お腹いっぱい。 :02/11/09 01:04
例えばホームの dot file を管理したいとしますよね。
ここでホームを import してしまうと、ホームが丸ごと CVS に入ってしまうので、
一つのディレクトリに CVS に入れたいものと入れたくないものがあるときはどうしようかと思ったんです。

この場合は、 ~/etc とかに移してそれを import するべきなのかもしれませんが。

704 :貼ってみたかっただけ :02/11/09 01:14
   ____               l
         \              ―┼―ヽ  \
         |   ―――――    /   |   ゝ
      _/              /    |
                        /    _」
               l               /    || ヽ  ―┼―      l
    ヽ ┌―┐  ―┼―   ┌―――┐ / ̄ ̄ ̄7| | ―― ―┴―     _|__/
   _  .| ┌┤ ――┼――   |     |      |    ― 「 ̄ ̄ ̄ ̄|  / | / ̄\
    | | ̄ ̄ ̄|   /     |    |     /    ―   | |   /   |/    |
    人| □ 」 /   \  |     |     /    ┌‐┐  | |   |  /|      /
   ノ ヽ―――  ̄ ̄ ̄ ̄ヽ ├―――┤   /     ├‐┤ ノ  |_」 ヽ/ ヽ   _/


705 :名無しさん@お腹いっぱい。 :02/11/09 01:14
unix的ではないが、FDでマークしてドバーッとcvs add、これ楽。

706 :名無しさん@お腹いっぱい。 :02/11/09 02:04
>>703
1. サブディレクトリを掘って、CVSで管理したいファイルをそこに移動
2. そのサブディレクトリをまるごとcvs import
3. サブディレクトリの中でMakefileを書いて、commit後にmake install

つーか過去ログ読め

707 :名無しさん@お腹いっぱい。 :02/11/10 00:35
モジュール名の文字コードをUTF-8に変換して保存してくれるようなCVSに対するパッチは無いか?

EUCに変換するとかあるが、結局問題があるから、いっそのことUTF-8のほうがありがたい・・

ファイルの中身を変換するのは、cvswrapperにnkfでやるから。モジュール名の対応なんとかしたい。

708 :680 :02/11/10 02:06
>>707
純粋に疑問なんだけど、なんでEUCだと問題があるの?


709 :名無しさん@お腹いっぱい。 :02/11/10 02:54
>>708
だから、cvs import "ソース"(SJISコード) とかやるとリポジトリの"ソース"部分はSJISで その下のファイル名はEUCに変換されてたりする。
cvsのソースを見たが一筋縄ではいかない雰囲気。そんなのに手を出すぐらいなら全部UTF-8に変換してくれる、ちゃんとしたやつがほしいんです。
EUCでいいじゃんとか そういう文字を使わなきゃ良いじゃんですますとVSS(の方がまだまし?)に負けてる気がして悲しいのです。

710 :名無しさん@お腹いっぱい。 :02/11/10 03:04
sjis + cvs なんて使うなって思うんだけど。おとなしく vss 使ったらいいんでは?
使いなれたツールに愛着があるのは俺にも分かるけど、適材適所で選ばなきゃ。

>全部UTF-8に変換してくれる、ちゃんとしたやつがほしいんです。
UTFに変えればなんでも大丈夫ってわけじゃない。


711 :名無しさん@お腹いっぱい。 :02/11/10 03:28
>709
>708は
> EUCに変換するとかあるが、結局問題があるから
という部分のことを言っているんだと思うが、EUCに何か問題でも?
UnicodeあるいはUCSにも問題があることは理解している?

712 :名無しさん@お腹いっぱい。 :02/11/10 05:26
>>709
> だから、cvs import "ソース"(SJISコード) とかやるとリポジトリの"ソース"部分はSJISで その下のファイル名はEUCに変換されてたりする。

これってマジですか? ファイル名がEUCに変換されてる?
で、ファイルを取り出すときに逆変換(EUC -> SJIS)されてるの?
どの実装の話でしょうか。きになるきになる。

713 :名無しさん@お腹いっぱい。 :02/11/10 11:35
>>710-712
 質問に質問で返すようなアホするまえにソース読んでみろや?

> これってマジですか? ファイル名がEUCに変換されてる?
 WinCVSごった煮版

> で、ファイルを取り出すときに逆変換(EUC -> SJIS)されてるの?
 この場合入れられても、取り出せません。

714 :名無しさん@お腹いっぱい。 :02/11/10 12:52
>>710
> sjis + cvs なんて使うなって思うんだけど
思うのは勝手だが、強制するなよ…。Win32 がこれだけ広まってる以上、
SJIS とも付き合っていかにゃならん人間も多い。

(もちろん 710 が SJIS なんか忘れて幸せな世界に住むのは自由だ。
それはそれで一つの見識)

715 :名無しさん@お腹いっぱい。 :02/11/10 14:07
初めて知ったんだけど、「VSSはライセンス料が必要」なんだね…
会社のライセンスで使わされてたから気がつかなかったけど…
しかし、サーバはファイル共有なデータベース管理(外に向けて開けない)だし、VSS用の設定情報がプロジェクトの内部に入ってたりするのは美味しくナイです。

cvsは、Win32版も出てるし、ライセンスはGPLだし、*一応*マルチプラットフォームな部分やセキュリティもある程度しっかりできる。
と、いろいろ考えるとやっぱりcvsのほうが将来性があると思うですよ・・・

んで・・・
SJISの問題なんだけど、WinCVSなどのWin32版のCVSではディレクトリ区切りが一部バックスラッシュ"\"で判断しているところがあり、それが問題ってことに気がつきました。
要は、バックスラッシュをやめてスラッシュで見るようにすれば可能かもしれませんね。大人しくソース弄ってみます…

最終的には、EUC系,SJIS系,JIS系,Unicode系いずれのクライアントでもレポジトリの文字コードをあまり気にせずに扱えるのが望ましいのでしょうけど…
難しそう…


716 :名無しさん@お腹いっぱい。 :02/11/10 14:35
>>715
cvsにも将来性はない。
将来性があるのはrcs

717 :名無しさん@お腹いっぱい。 :02/11/10 14:46
>>716
1995/06/17から更新の無いツールのどこに将来性が…

718 :名無しさん@お腹いっぱい。 :02/11/10 15:54
>>716
是が非でもお聞きしたい!
rcsのどのようなところに将来性があるのでしょうか?

rcsを使ったことのない自分にはとても興味津々です。

719 :名無しさん@お腹いっぱい。 :02/11/10 16:44
>>716
せめて subversion とか言っておこうよ。今のところ、将来性 *しか* ないけど。

720 :名無しさん@お腹いっぱい。 :02/11/10 19:59
>>719
理想は高いが現実は厳しいってことか?

721 :708 :02/11/10 20:06
俺が疑問に思ったことは、まさに 711 さんが言ってくれたことなんだけど…。
まあいいや。

>>719
そこそこ使えますよ。subversion。
ただ、日本語でログ書けないのが痛い…。
今はUTF-7とかにして無理矢理つっこんじゃおうとか思ってみたり(w

722 :名無しさん@お腹いっぱい。 :02/11/10 22:51
>>720
まだα版だし、今日明日の仕事には使えない。無い袖は振れぬというか。

723 :710 :02/11/10 23:52
>>713
俺は質問で返してないし(笑)。「?」が付いてりゃ質問ってわけでもないだろう。

>> これってマジですか? ファイル名がEUCに変換されてる?
> WinCVSごった煮版
CVS が悪いんじゃなくて、 WinCVS の実装がヘタレなだけじゃん。阿呆くさ。

>>714
別に強制したつもりはないけど?あくまで見解を述べただけで。「おとなしく vss 使ったらいいんでは?」で
俺にできる精いっぱいの提案をしたつもりなんだけどな。今度から誤解されないような日本語で書くようにするよ。


724 :名無しさん@お腹いっぱい。 :02/11/11 00:15
>>723
> CVS が悪いんじゃなくて、 WinCVS の実装がヘタレなだけじゃん。阿呆くさ。
 本当になんもみてないんだな?WinCVSの実装じゃなくて、knjwrpだよ。阿呆くさ。





 ping 阿呆 してみたが見事に帰ってきたよ。

725 :名無しさん@お腹いっぱい。 :02/11/11 10:48
\(・∀・)/ デンパー

726 :名無しさん@お腹いっぱい。 :02/11/12 00:57
>>724
knjwrpって何ですか。古代えじぷと王の名前でしょうか。


727 :名無しさん@お腹いっぱい。 :02/11/12 01:48
>>726
ネタにマジレスっぽいけど
http://www.linkclub.or.jp/~tumibito/soft-an/cvs/download.html
ね。ごった煮版もこのknjwrpなパッチ使ってるという事で。

728 :名無しさん@お腹いっぱい。 :02/11/15 14:12
質問です。

cvs を使おうとすると、

poll: protocol failure in circuit setup
cvs [checkout aborted]: end of file from server (consult above message if any)

みたいなエラーが出てCVSが使えません。

1行目はrshのエラーだと思われますが、rsh でそのCVSサーバにログインすることは問題なくできます。
.rhostsもかいてます。

何か良くある原因などはございませんでしょうか?

729 :名無しさん@お腹いっぱい。 :02/11/15 16:08
>>728
http://mail.gnu.org/pipermail/info-cvs/2001-May/015663.html
cvs の問題じゃない。

730 :heno ◆mXrBwDDzyw :02/11/21 02:04

 FreeBSD-CVSweb(2.0.6) は、基本的にread permissionだけで
 annotateさせる事が可能みたいです(動きました)




731 :名無しさん@お腹いっぱい。 :02/11/22 09:30
cvs import の release って何入れてる?
なんか、CVS使い始めたときに見た例にあったfirstをいつも入れてる。

732 :名無しさん@お腹いっぱい。 :02/11/22 16:51
% cvs import emacs FSF EMACS_21_2
とかそんな感じ。
firstってCVSで管理してなかったtreeをリポジトリに突っ込むって感じでしょ。


733 :名無しさん@お腹いっぱい。 :02/11/23 15:52
コミットメールを送れるようにしたら、commitする時に
次のような警告が毎回出ます。どうやったらなおるでしょうか?
ネットで調べたところ PERL_BADLANG=0 に設定しろと書いてあった
のですが、どこで設定すればいいのでしょうか?
CVSのサービスを動かしているユーザの.bash_profileに書いてみた
のですが、全然だめです。どうか、教えてください。

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US",
LC_MESSAGES = "en_US",
LC_TIME = "en_US",
LC_NUMERIC = "en_US",
LC_MONETARY = "en_US",
LC_COLLATE = "en_US",
LANG = "en_US"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").


734 :名無しさん@お腹いっぱい。 :02/11/23 16:02
Please check that your locale settings "en_US" are supported and installed on your system.
嫁、そしてスレ違い

735 :733 :02/11/23 16:32
>>734
CVSの話なのでスレ違いじゃないと思うのですが。。。


736 :名無しさん@お腹いっぱい。 :02/11/23 17:56
CVSの話じゃないんだよ。
スレ違いっつーことはそういうことだというくらい
理解しる。


737 :名無しさん@お腹いっぱい。 :02/11/23 22:49
>736
いや、意外と CVS の話題かも知れんぞ。ログインして cvs commit する分には
個人の .bash_profile に書いとけば良いわけだが、リモートから inetd 経由で
使ってますとかだと話が変わってくる。

CVS 的に解決するなら、CVSROOT/notify にメールを送るように書いてあると思う
けど、その先頭に env LANG=C とか付けたら? もちろん CVS 的に解決せずに
/etc/login.conf みたいな OS 側の設定ファイルで対処する方法もある。

なんにしても、質問するなら「動作環境と設定ファイルの中身ぐらい晒せ」とは
思うけど。

738 :名無しさん@お腹いっぱい。 :02/11/23 23:38
>>737
| いや、意外と CVS の話題かも知れんぞ。

それがUNIXなシステムを設定する際の一般的な問題ではなく、
あえてCVSの話題だと主張するなら、その根拠を上げてからにせえよ。


739 :名無しさん@お腹いっぱい。 :02/11/24 00:15
perl の話でしょ。

740 :名無しさん@お腹いっぱい。 :02/11/24 00:18
グラフィックデータなどバイナリーデータに向いたバージョン管理システムありませんか?


741 :名無しさん@お腹いっぱい。 :02/11/24 00:20
>>740
それは CVS の話なのか?

742 :名無しさん@お腹いっぱい。 :02/11/24 00:40
>>740
オモロイかもね

743 :名無しさん@お腹いっぱい。 :02/11/24 00:41
>739
何を必死になってるんだ…

744 :名無しさん@お腹いっぱい。 :02/11/24 00:43
グラフィックデータ程度ならCVSに突っ込めばいいんじゃないかと。
ディスクは余分に喰うけど気にすんな。

745 :名無しさん@お腹いっぱい。 :02/11/24 00:52
そうだけど、使いやすくて閲覧しやすいグラフィック用のフロントエンドがあれば結構使えるかも

746 :名無しさん@お腹いっぱい。 :02/11/24 01:15
>>745
差分とかもビジュアルに表示してくれると結構楽しいかもね


747 :名無しさん@お腹いっぱい。 :02/11/24 04:53
WinCVSやcvsweb、viewcvsなどではダメですか?

748 :初期不良 :02/11/24 05:23
バイナリ差分だったら subversion じゃ?

749 :名無しさん@お腹いっぱい。 :02/11/24 14:25
>>746
差分をビジュアルに表示したいとなると、究極的にはファイルタイプごとに
違った差分ビューアが必要だな。


750 :名無しさん@お腹いっぱい。 :02/11/24 14:28
>>748
この間、FreeBSD portsからインストールしたsubversionでCybozuのDBの
バックアップを差分管理しようとしてみたけど、「差分」とは言えない
ぐらいsubversionのDBが大きくなった。


751 :名無しさん@お腹いっぱい。 :02/11/24 15:36
>749
バージョン管理ツール側では、そのためのインターフェースを提供してくれれば
良いような気はする。

差分のビジュアル表示はともかく、画像データだとサムネイル一覧表示とかは
欲しくない?

cvs display -rRELEASE_1_0_0 -rRELEASE_1_1_0 foo.jpg

これで RELEASE_1_0_0 から RELEASE_1_1_0 までの foo.jpg をずらっと表示
できる、とかさ。

752 :名無しさん@お腹いっぱい。 :02/11/24 18:15
>>751
cvsが画像を画面に表示するの?
それともHTMLみたいなものを吐き出すとか?


753 :名無しさん@お腹いっぱい。 :02/11/24 18:37
cvswebとかviewcvsみたいなものの仕事のような

754 :名無しさん@お腹いっぱい。 :02/11/24 19:24
ImageMagickに渡せば良いような気が。

755 :名無しさん@お腹いっぱい。 :02/11/24 19:49
>752
パイプで繋ぐなり CVSROOT/XXX で使うプログラム設定するなり。CVS
自身にビルトインするのは、ファイルタイプの増加に耐えられないから
止めた方が良いと思う。

756 :名無しさん@お腹いっぱい。 :02/11/25 01:49
>>755
subversionだと、diffプログラムをplug-inできるから、そういうことも可能そうだね。
ドキュメントで読んだだけなので、実装されてるかどうか分からんが。

757 :名無しさん@お腹いっぱい。 :02/11/25 04:10
cvs serverが稼働するポートは2401って情報を
入手したいんですが、あってますか?

758 :名無しさん@お腹いっぱい。 :02/11/25 04:17
>>757
別に/etc/servicesでcvspserverを2401以外にすれば変更はできると
思うが。まぁ普通2401だってのはその通り。

759 :名無しさん@お腹いっぱい。 :02/11/25 15:30
>>758
レスありがとう。
FreeBSDのipfwで2401番への接続は許可してないはずなのに
なぜか'cvsup.jp.FreeBSD.org'に接続できちゃうんだけど。
ポートスキャンする以外にcvs serverが稼働してるポート
番号知るにはどうしたらいいの?

760 :名無しさん@お腹いっぱい。 :02/11/25 15:40
>>759
接続できちゃうのが困るなら tcpdump でもして調べとけや。
cvsup なら 5999/tcp 使うだろ.


761 :名無しさん@お腹いっぱい。 :02/11/25 15:55
>>760
5999だったのか。
anony ftp用に4000-65535に穴開けてたのが原因だった
みたいです。tcpdumpについてちっと勉強してきます。

762 :名無しさん@お腹いっぱい。 :02/11/25 16:36
>>761
むしろ cvsup と cvs の違いについて勉強してください。

763 :名無しさん@お腹いっぱい。 :02/11/25 18:17
つながってるんだったら何もtcpdumpまでせんでも、sockstatとか
netstat -aで確認できるんでないかい?

764 :名無しさん@お腹いっぱい。 :02/11/25 21:46
portrangeで50000-60000ぐらいを限定に開けとけ。

765 :名無しさん@お腹いっぱい。 :02/11/26 02:16
>>762-764
親切にありがとう。
全てのアドバイスを忠実に実行しようと思います。(・∀・)イイ!!

766 :名無しさん@お腹いっぱい。 :02/11/27 00:50
>>743
「すれ違い」以外に訴えることが無いのか、言えないのか どっちかだとおもった。

ageてみた。

767 :名無しさん@お腹いっぱい。 :02/11/27 00:54
cvs update をしたときに、手元のファイルを勝手にマージしないようにはできないのでしょうか?
そういうときは cvs status ですか?

768 :名無しさん@お腹いっぱい。 :02/11/27 00:56
>>767
cvs update -C

てかcvs -H update

769 :名無しさん@お腹いっぱい。 :02/11/27 01:04
>>768
それだと手元の修正が飛んでしまうが、>>767はそうしたかったのか。


770 :名無しさん@Emacs :02/11/27 16:39
status 見たら更新無くて
(その間に更新されて)
安心して update ・・・ぎゃーマージされた。

771 :名無しさん@お腹いっぱい。 :02/11/27 16:42
>>768
ワロタ

772 :767 :02/11/27 18:21
やりたいことを考え直してみたんですが、
・手元のファイルを勝手に書き換えられたくない
・リポジトリとの状態の違いを見たい
…ってことはやっぱりstatusですね

でも長くて読みづらいんだよなぁ

773 :名無しさん@お腹いっぱい。 :02/11/27 19:42
cvs -n update


774 :名無しさん@お腹いっぱい。 :02/11/27 19:45
>>772
cvs status | grep ^File
でいいんじゃないの?

775 :名無しさん@お腹いっぱい。 :02/11/29 00:28
>>772
漏れは
cvs status | grep Status | grep -v Up-to-date
を使ってるな。

776 :名無しさん@お腹いっぱい。 :02/12/02 18:44
改行コードをCRLFからLFに変えようと思いました。
普通に変えてcommitするとdiffが大変になるので、
commitする前にリポジトリをLFに変えようと思うんですが、こういうことをしてもいいんでしょうか。

777 :名無しさん@お腹いっぱい。 :02/12/02 21:32
直接アクセスできるんなら可能ではある。
排他処理を万全にすることと、coしてあるファイルは一度消さないとupdateさ
れないことに注意。


778 :名無しさん@お腹いっぱい。 :02/12/12 10:43
CVSでチェックアウトしたファイルを
コミットするまで他の人がチェックアウト
できないようにする方法ありますか?

調べたんですがなさげな気が・・・・

779 :名無しさん@お腹いっぱい。 :02/12/12 10:55
>>778
無理。
* CVSを使わない
* CVSのやり方に慣れる
のどちらかを選びましょう。

780 :名無しさん@お腹いっぱい。 :02/12/12 13:44
>>778
CVSの想定する使い方に思いっきり外れる。

やってやれないことはないが。
cvs adm -l

781 :名無しさん@お腹いっぱい。 :02/12/12 14:16
cvs admin -l は commit の防止でしょ。

782 :名無しさん@お腹いっぱい。 :02/12/13 03:49
では最悪の方法を。

自分がcheckoutしたらリポジトリそのものをリネーム、commit直前に
元に戻す。毎回手打ちするのが面倒ならssh辺りでリモートシェルと
して実行。

783 :名無しさん@お腹いっぱい。 :02/12/13 08:05
リポジトリを直接いじったら昔のやつが取り出せなくなってしまった

784 :名無しさん@Emacs :02/12/13 11:22

Java のソースを CVS で管理させています。

commit したあとに自動的に build してやって作成した jar を特定のディレ
クトリに収納しようと思っています。

はじめは $CVSROOT/CVSROOT/loginfo の中で cvs checkout してやって、そこ
から build してやろうと思いましたが、 lock されているので cvs checkout
が lock 待ちになってしまい、build できません。

$CVSROOT/modules の中で -i を使って commit したら実行するプログラムを
指定しようとしたのですが、これが module のトップからの commit しか受け
付けてくれないので、使えません。

commit 後、何かのプログラムを動かすようなしかけはないでしょうか。



785 :名無しさん@お腹いっぱい。 :02/12/13 11:45
>>784
( sleep 5; hoge ) &


786 :名無しさん@Emacs :02/12/13 13:40

>> 785

ありがとうございます。

その方法も検討していたのですが、これだと連続してコミットが行われた場合
sleep 5 してる間に対象のコミットではなく次以降のコミットに対して build
してしまうことになりませんかね。

コミットの前処理が $CVSROOT/CVSROOT/commitinfo で出来るそうですが、 コ
ミットの後処理ができるものはないでしょうか。 loginfo だと後処理という
より、終了前処理ですよね。commit 完了後に動かしたいわけです。


787 :名無しさん@お腹いっぱい。 :02/12/13 14:33
>>786
ciしてbuildするラッパーでも使えば。

788 :名無しさん@お腹いっぱい。 :02/12/13 15:17
>>786
そこまで厳密さを要求するとなると、commit直後に手元でbuildするしかない。


789 :名無しさん@Emacs :02/12/13 15:49

>> 787

ありがとうございます。このラッパーはどのように設定するものでしょうか。


>> 788

やはり自動では無理でしょうかね。。。。


790 :名無しさん@お腹いっぱい。 :02/12/13 16:05
>>789
Infoの「What is CVS?」「What is CVS not?」セクションも読んでみ。

791 :名無しさん@Emacs :02/12/13 16:40

>> 790

ありがとうございます。え〜どれどれ、、、、

> CVS is not a build system.

ズガ━━━( ̄□ ̄;)━━━ン!


792 :名無しさん@お腹いっぱい。 :02/12/13 16:44
http://digikei.kir.jp/

793 :名無しさん@お腹いっぱい。 :02/12/14 20:26
FreeBSDかOpenBSDのcvsなら cvs -R co でチェックアウトすればロックを作らないので
sleepしなくてもいいはず。
GNUのcvsに
ttp://cvsweb.FreeBSD.org/ports/devel/cvs+ipv6/files/patch-freebsdlocal
のパッチをあてれば FreeBSD cvs にできると思うよ。
試したこと無いので出来なかったらスマソ。

あ、でも loginfo から呼んでコミット後のリビジョンを取出せるの
かは知らない。

794 :787 :02/12/14 23:16
>>789
設定っつーか

#!/bin/sh
cvs ci "$@"
exec make

ぐらいの意味だけど。

795 :名無しさん@お腹いっぱい。 :02/12/18 21:25
Solaris 7 + cvs1.11にwincvsから繋ぐと
cvs login: authorization failed: server yahoo.co.jp rejected access to /home/hoge/cvs for user hoge
等と出ます。ちゃんと/etc/passwd は$CVSROOT に置いたのにな。

サーバー側の設定に詳しいWebSiteも漁ってみたが、、、
たしけて

796 :名無しさん@お腹いっぱい。 :02/12/18 21:31
>>195
ちゃんとドキュメント嫁
$CVSROOT ではなくて $CVSROOT/CVSROOT
CVSROOT/passwd は /etc/passwd と同じフォーマットではない

797 :名無しさん@お腹いっぱい。 :02/12/18 23:06
>>795
そもそも/etc/passwdと同じで良いんだったら、CVSROOT/passwdはデフォルトのままでOKだよ。

798 :名無しさん@お腹いっぱい。 :02/12/19 01:41
>>778
ん〜 これは、どのようなユースケースでしょうか・・・思いつきません。

さらに、それが出来たとして「すでにチェックアウトしてた人」はどのように対処すべきなんでしょう?(勝手に消すか?うわぁ・・)

単純に認証を止めるとかいう手があります。(そのユーザに対して設定してあるpasswdを無効にする)
どっちにしろ「すでにチェックアウトしてた人」はど〜しよ〜もないですがね。

799 :名無しさん@お腹いっぱい。 :02/12/19 01:52
>>789
loginfoではロックファイルの作成/削除だけにしておき、
別プロセスでロックファイルを待ち合わせるループを組んで、
その中でcvs up -dAP && make というのはどうでしょう?
ロックファイルでなくFIFOとかでもいいけど。


800 :名無しさん@お腹いっぱい。 :02/12/20 11:29
$cvs -d :pserver:hoge@localhost:/tmp/test/cvsroot login
$cvs -d :pserver:hoge@localhost:/tmp/test/cvsroot co temp
cvs server: Updating temp
U temp/a.txt
U temp/b.txt
U temp/c.txt

$cvs -d :pserver:ahe@localhost:/tmp/test/cvsroot login
$cvs -d :pserver:ahe@localhost:/tmp/test/cvsroot co temp
cvs [server aborted]: "checkout" requires write access to the repository

CVSROOT/readersの内容
ahe

hogeとaheは同一グループ
両方ログインできるが。。。
aheはcheckoutすらできず。
。。。checkoutすらできんもんでしょうか?
両方ともローカルで操作してます。

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時にチェックアウトしてコンパイルとか馬鹿なことしないだろ、普通。
これってダメなの?
コンパイルする度に挙動が変わるようなバグが潜んでいる可能性があるから?
個人的にはそういうバグは潰すべきだと思うが。
それとももっと深遠な理由があるのかなぁ。大規模開発は想像ができん。。

901 :名無しさん@お腹いっぱい。 :03/03/08 02:29
>>900
UTでつかったバイナリを使えば
中身が同じってことが保障できる。
IT時にコンパイルしたら
CVSのSTATUSで
UTに使用したバイナリとITで使用したバイナリが
同じソースからコンパイルされたことを
いちいち証明した上でテスト結果をまとめないといけないじゃん。
面倒だよ。


それに、カットオーバーの異なる2つのプロジェクトが
同時に同じソースいじることが時々あるけど、
そのときはどうするつもり?
ソース修正(1)→UT(1)→IT(1)
→ソース修正(2)→UT(2)→ST(1)→本番反映(1)
→IT(2)→ST(2)→本番反映(2)
みたいな流れになったときとか。


902 :名無しさん@お腹いっぱい。 :03/03/08 03:41
>>901
勢いよく説明 (反論?) しているけど、
UT、IT、CVS、STATUS 全て全角で書いちゃう
センスはいかがなものかと...


903 :名無しさん@お腹いっぱい。 :03/03/08 04:30
>>902
901の書き込みは全角使っていること以外は
あってるということですか?

904 :名無しさん@お腹いっぱい。 :03/03/08 04:45
>>902
つまんないつっこみなんかいいから901の内容についての意見を聞かせてよ。
くだらない煽りいれるぐらいなら書き込まないでくれる?
「...」を半角でかかれると見えにくいんですが...(笑

個人的にはシステムテスト前に次の単体テスト終わってるってのが
気になるんですが、それってよくあることなの?

あまり無いと思いますが、
システムテストで問題発覚!とかだとどうなるんでしょう?

CVSの話からずれてるかもしれないけど、気になったものでsage...

905 :902 :03/03/08 05:39
>> 904
> 「...」を半角でかかれると見えにくいんですが...(笑

いや、別にそこは無理して見なくてもいいよ。

というつまらあい煽りはもうやめます。ごめんなさいね。


906 :名無しさん@お腹いっぱい。 :03/03/08 06:30
>>901
> CVSのSTATUSで
> UTに使用したバイナリとITで使用したバイナリが
> 同じソースからコンパイルされたことを
> いちいち証明した上でテスト結果をまとめないといけないじゃん。
> 面倒だよ。

じゃあ逆に、保存しているバイナリがUT完了時のものだとどうやって
証明する?

> それに、カットオーバーの異なる2つのプロジェクトが
> 同時に同じソースいじることが時々あるけど、
> そのときはどうするつもり?

それってCVSのメリットが最大限活かされる局面なんでは?


907 :名無しさん@お腹いっぱい。 :03/03/08 06:47
ていうか、>>894 って要はアリバイ作りの発想なわけで、
開発全体の成功には後ろ向きだよね。


908 :名無しさん@お腹いっぱい。 :03/03/08 07:58
3点リーダーは2マスだ!

909 :名無しさん@お腹いっぱい。 :03/03/08 10:47
就職活動でNTTComのES書いたけど全部全角で書かないといかんかった。
全角って大事だな

910 :名無しさん@お腹いっぱい。 :03/03/08 11:03
しかし、勝手な略号使うのは勘弁して欲しいものです

911 :名無しさん@お腹いっぱい。 :03/03/08 13:10
略号は特定のコンテクストと共通知識を共に背景として備える場合のみ、
意図通りに理解されることを期待できるものだからね。

>>909 のESはエントリーシートのつもりなんだろうけど
就職活動と関係ないところで使っても正しく理解される保証がない。
ESをエントリーシートと解するという知識は、
いまだ就職と関係ない学生はもちろん、そんなもの書かずに就職する人間にも
期待できないから。
少し前まで秋葉原マップを見てた俺は、最初 engineering sample かと思ったよ。

ちなみに就職活動方面でESをエントリーシートと解することを一般に期待できるかどうかは知らないが。

こういう人間が就職すると、社内だけしか通用しない独自略語や用語を
外でもたれ流しちゃう香具師になるんだろうなあ。


912 :名無しさん@お腹いっぱい。 :03/03/08 13:12
>>907


・単体テスト終了
・結合テスト開始
・協力会社のヤシが単体テスト時にケース漏れで気づかなかったバグを発見
・コソーリ修正してコンパイル
・修正したものでシステムテスト開始
 (協力会社のヤシしかそのことを知ってる人間はいなかった)
・システムテスト終了
・本番反映直前に発覚

って、ことがあって相当問題になったんですが、
ダメダメなヤシしか雇えないようなうちの会社では
アリバイつくりでも何でもいいので
問題の出にくいやりかたを考えないといけません。

皆さんは、開発〜テスト工程でCVSをどのように運用してるのですか?
規約とか、標準化とかあったら知りたいです。

913 :名無しさん@お腹いっぱい。 :03/03/08 13:19
>>912
ハァ?
ここのみんなは性善説の上に成り立ってる運用方法しか使ってないじゃねえの?
スレ読んでればなんとなくわかるじゃん。

そんなヤシ雇う方がバカ

ぐらいのレスしかつかねえ〜つ〜の。


914 :名無しさん@お腹いっぱい。 :03/03/08 13:20
自作自演ハケーン


915 :名無しさん@お腹いっぱい。 :03/03/08 13:41
やめとけ。CVSに限らず使う奴がダメダメならなんでもダメ


916 :912=913 :03/03/08 13:43
>>914
バレタ?

917 :名無しさん@お腹いっぱい。 :03/03/08 14:46
CVSッて何よ?

918 :名無しさん@お腹いっぱい。 :03/03/08 14:58
>>917
computer-controlled vehicle system
(コンピューター制御自動運転輸送システム)。

unixの技術がコンビニを支えていまつ。

919 :名無しさん@お腹いっぱい。 :03/03/08 15:50
>>917
新たな煽りか?

920 :名無しさん@お腹いっぱい。 :03/03/08 16:38
>917
CSV の typo です

921 :名無しさん@お腹いっぱい。 :03/03/08 23:38
で、>>912 に対する回答はないのかい?
なんだみんな厨か


922 :名無しさん@お腹いっぱい。 :03/03/09 00:04
>>921
だから、913の書き込みに行き着くんじゃないの?

923 :名無しさん@お腹いっぱい。 :03/03/09 01:16
>>912

> ・コソーリ修正してコンパイル
> ・修正したものでシステムテスト開始

これができてしまったということは、テスト対象のバイナリを、
担当者が勝手に置き換えるとことができたということで、多分、
ここがまずいのでしょう。

単体テストが終了したら、ソースにタグをつけて、バイナリ一式を
スナップショットとしてセンタに登録し、勝手に書き換えることが
できないようにし、以降のテストは、それらのバイナリをテスト対象
にすればいいと思います。

# 好みによっては、「テスト対象のバイナリは、CVS でタグがついて
# いるソースから、再生成したものを利用する」という方針でもよい
# と思います。

一般に、テスト工程で成果物の管理をきちんとするには、まずは、
CVS のタグを用いるなどして、テスト対象のソースの版、テスト
プログラム自身の版を明確にし、それをきちんと記録に残すこと
だと思います。

924 :名無しさん@お腹いっぱい。 :03/03/09 01:44
>>923
結局はバイナリを管理するということですか。

>>894の話に近い考え方ということになるんですか?
ソースとバイナリを別に管理する必要があるということ?

コンパイルもコンパイルサーバで行う会社もあるみたいですが。。。
ソースを登録してその登録したソースをコンパイルして
作成されるバイナリをそのまま登録してしまうという。。。
(VisualStudioでしたが)

925 :名無しさん@お腹いっぱい。 :03/03/09 03:49
いまだにバイナリを登録するなんて開発スタイルをとっているところ
があるのか。それは、はっきり言ってお勧めできない。
基幹系みたいな重要システムの場合、リリース管理専任チームがいて、
リポジトリにコミットされているリリース・ブランチの内容を、
リリース管理チームの責任下で定期的にフルビルドする。これが常識。

当然、バイナリを保存しておくようなリリース管理はしない。
そういうやり方じゃなくて、正しく動作するバイナリが、リリース
管理チームの定義した環境下で、いつでもソースから正しくビルド
できることを保証することが最も重要。
そうでないと、障害対応の段階になって、同じバイナリを作成して
再現することさえできないなどという、最低の状況が生まれる。


926 :名無しさん@お腹いっぱい。 :03/03/09 04:30
>>925
「リリース管理専任チーム」がいるのが常識?
そんな奴雇ってる金なんてないんだが。
2000〜3000万のプロジェクトで
そんな奴ら雇ってたら赤字なんだけど。
その程度の規模の仕事は非常識か?

927 :名無しさん@お腹いっぱい。 :03/03/09 04:32
軍事や生命にかかわる分野の開発ではバイナリに対してテストし管理
するのが普通だし、金融基幹系などでもやってるところはやっている。
ソースありきの管理は「コンパイラにバグは無い」「OS にバグはない」
という前提があって始めて成り立つが、本当にクリティカルな分野は
そういうわけにも行かない。

928 :926 :03/03/09 04:33
>>925
スマソ。
基幹系って書いてたね。

俺は、基幹系なんかやってないんだよ。
中小企業から開発頼まれてるだけ。
バイナリ登録がお勧めできないのなら
どういう運用がお勧めか聞きたいんだけど。

929 :名無しさん@お腹いっぱい。 :03/03/09 04:56
>>927

925は、「リリース管理チームが、任意の時点のバイナリを常に再現
できる (リリース管理チームのバイナリ作成環境がきちんと文書化
されており、ソースコードのみならず、コンパイラやOS、パッチの
レベルも含めて完全に再現できる) 」ということであって、927で
行なっているレベルの保証よりも、より強力なレベルの保証である
ことに気づいて欲しい。当然のことだが、正式なテストは、常に
リリース管理チームが作成したバイナリに対して行なわれる。

繰り返しになるが、927のような開発形態は、テスト済みの筈の
モジュールにバグが発見されたり、仕様に変更が生じたり、あるいは
システム全体に関わる定数の変更の結果、モジュールの再コン
パイルが必要になった場合に、破綻する。
つまり、クリティカルな開発において、より信頼性が高いのは
925の方なんだ。

930 :名無しさん@お腹いっぱい。 :03/03/09 05:05
cvs は、バイナリのバージョン管理には、あまり向いてないから、
cvs を使うのはソースに関してだけにして、バイナリに関しては
別途登録管理すればいいんじゃない?

あと、他の人も書いてるけど、登録されたバイナリの判別を日付
でやるのは意味ない。日付なんて、ちょっとした操作で簡単に
偽造できるんだから。
もし厳密に管理するなら、登録したバイナリのチェックサムを
記録しておいて、それを比較するのが良いと思う。と言っても、
昔ながらのチェックサムやCRCは、やはり偽造が可能なので、
md5 とか sha1 とかいとかいった、偽造が困難な値 (いわゆる
secure hash 値) を登録管理するのが良いと思う。UNIX 系 OS
だと、そのものずばり md5, sha1 とか、digest とか、そういう
値を登録するコマンドは標準でついていることが多いけど、
Windows でもフリーでいくらでも転がっていると思う。
チェックサムの記録の管理には、cvsを使ってもいいかもしれない。


931 :名無しさん@お腹いっぱい。 :03/03/09 05:09
>>929
いやいや、誰もソースや環境の管理しねーとは言ってなくてさ。
まぁいいや、適当にオナニーしててよ。

932 :名無しさん@お腹いっぱい。 :03/03/09 05:11
>>931 (;´Д`)ハァハァ
…しますた。

933 :名無しさん@お腹いっぱい。 :03/03/09 05:19
ファイルシステムをテープに固めて管理するのが一番信頼性が高いという
結論がでますた。

934 :名無しさん@お腹いっぱい。 :03/03/09 05:20
>>931
素朴な疑問なんだが、だったらなんでバイナリ登録する必要があるの?
いつでも厳密にソースから同じバイナリが再作成できるんだったら、
登録管理する意味ないじゃん。

素人考えだと、手動でバイナリを登録管理するよりも、毎回フルビルド
した方が安全な気がする。モジュール間にあんまり気づかないような
依存性があった場合、手動のバイナリ登録だと、依存性に気づかずに
バイナリの登録更新を忘れてしまうんじゃないかな。実際、昔の
RPMで、何度かこれで痛い目にあってるんだよねぇ。

935 :名無しさん@お腹いっぱい。 :03/03/09 05:32
> いつでも厳密にソースから同じバイナリが再作成できるんだったら、

できる保障がないからだよ。何かの要因で完全なバイナリが再現できな
くなったら、汗屋呼んでバイナリの再検証、そしてテストやり直し。バグ
フィクスならいざ知らず、再コンパイルしたら違うバイナリになった程度で
そんなリスク負えるのかって (エンドユーザアプリの話じゃないぞ)。

936 :名無しさん@お腹いっぱい。 :03/03/09 05:39
まぁ話の前提の分野が違うので無視してくれ。俺も C/C++ や Java で
やる開発に来てからそんなシビアなバイナリ検証なんてしてないし、
最近はずっと CVS でソースレベル管理だし。

937 :名無しさん@お腹いっぱい。 :03/03/09 06:00
>>929
だから、金掛けずにできないもんですかねえ。
リリース管理チームとかに掛けるコストが無いんですが。

金かけないとCVS使ってもまともな品質管理は出来ないの?

938 :名無しさん@お腹いっぱい。 :03/03/09 06:13
だからテープ最強だっての。

939 :名無しさん@お腹いっぱい。 :03/03/09 06:21
>>938 それだったら、CD-RとかZipの方が安上がりだったり...


940 :名無しさん@お腹いっぱい。 :03/03/09 06:21
>>935

定期的にフルビルドしてるなら、前回分のフルビルドだけは残しておいて、
あとはバイナリを比較するだけで、厳密に同じバイナリを生成できること
を、完全自動で保証できるんじゃない? 簡単そうな気がするけど…


941 :名無しさん@お腹いっぱい。 :03/03/09 06:27
まともな品質管理できるかどうかは使う人にかかってると思うが。
そういう意味で CVS はただの手段だよ。工程管理/品質管理について
いろいろ調べてみるといい。特に流通・製造・建築分野のはソフト
ウェアより歴史が長いだけあっていろいろ得るものがある。逆に
ソフトウェア側の管理本とか最新ネタ/情報キーワードちりばめた
だけで統計的な論議を無視してたりする。

942 :名無しさん@お腹いっぱい。 :03/03/09 06:43
ま、でもそういうプロジェクト管理技術をソフトウェアに持ってくる
のは殆んど無理ぽだったりするけどね。たとえば土木建築系で聞くよ
うな、設計と施工を別の業者にやらせるなんて、現状のソフトウェア
開発では墓穴掘ってるとしか思えない。
設計業者がオオボラ吹いて大風呂敷広げて、おまけに穴だらけで実装
不可能な設計内容を残してトンズラして、実装担当が泣きながらデス
マーチでなんとかするって、良くある話だしナ。

ちゃんとした設計ができて当たり前の土木建築の世界と、設計自体が
困難で、実装段階での見直しが不可欠なソフトウェアの世界は、全然
違うよ。


943 :名無しさん@お腹いっぱい。 :03/03/09 06:46
>>940
実際にトラブルがあったら、そのバージョン (もっと言えばその社に
納品したバージョン) レベルでバイナリを検証しなければいけない
んだよ (もちろんソースも検証するけど)。

なんか話の流れ見てると

  CVS はバイナリが苦手だから乗せるべきではない。



  バイナリレベルのバージョン管理は不要。

ってことに飛躍してるようだが大丈夫か?

944 :名無しさん@お腹いっぱい。 :03/03/09 06:49
>>942
それは公的機関がソフトウェア設計を管理していないからでは。いや、
みずぽじゃないけどいい加減マジで何とかならんかな。

945 :名無しさん@お腹いっぱい。 :03/03/09 06:52
良く分からないんだけど、925が言っているのは開発段階での
バイナリの管理であって、納品物ないし本番用のバイナリに
ついては、当然バイナリの保存管理はしてるんじゃないの?
っていうか、基幹系の開発で、そういうレベルの管理をして
ないなんて、それこそ信じられないけど。


946 :名無しさん@お腹いっぱい。 :03/03/09 07:00
>>944
大規模ソフトウェアの設計っての難しさって、公的機関が
成果管理すれば解決するような簡単な問題じゃないと思い
まつ。たとえばISO9001をソフトウェア開発に導入して、
文書上でISO9001とのツジツマを合わせる作業のために
余計デスマーチがひどくなってるなんてのを見聞きする
につれ、公的機関が出てきたら、むしろ悪化すること
間違いなしっていう悪寒。


947 :名無しさん@お腹いっぱい。 :03/03/09 07:01
そういわれりゃそうだな、失礼

948 :名無しさん@お腹いっぱい。 :03/03/09 07:03
>>946
うん、だからそうできるまで業界と技術が枯れて来ると良いなぁと
いう希望。その頃には飽きて別分野行ってると思うが。

949 :名無しさん@お腹いっぱい。 :03/03/09 07:34
なんか話が大規模開発の話ばかりですが
皆さんは大規模開発してる人ばかりなんですか?

950 :名無しさん@お腹いっぱい。 :03/03/09 07:42
こんな時刻に起きているのは、大規模開発のデスマーチで
徹夜中の連中ばかりのためだと思われ。


951 :名無しさん@お腹いっぱい。 :03/03/09 12:22
ここまでの議論見てると、もうまるっきり破綻したチームを無理やり縛るために
CVS使ってみようみたいな感じだな。

まずは信頼関係を築く方法を学ぶのがいいと思うよ。

952 :名無しさん@お腹いっぱい。 :03/03/09 13:10
>>951
その場限りの外人部隊ばかりなんで信頼関係を築いてるうちにカットオーバーです。

953 :名無しさん@お腹いっぱい。 :03/03/09 13:11
そういう時はルールの徹底と守らなかった場合のペナルティの明確化でがんばる

954 :名無しさん@お腹いっぱい。 :03/03/09 13:16
そのルールの議論をしてるのでは?

955 :名無しさん@お腹いっぱい。 :03/03/09 13:20
>>954
スレ違い基地外

956 :名無しさん@お腹いっぱい。 :03/03/09 15:57
CVS is not a substitute for management.
CVS is not a substitute for developer communication.

957 :名無しさん@お腹いっぱい。 :03/03/09 16:23
>>955
CVSを使っての管理ルールのことじゃないの?

958 :名無しさん@お腹いっぱい。 :03/03/09 16:27
次スレは?

959 :名無しさん@お腹いっぱい。 :03/03/09 20:35
CVSではコンパイル環境の依存管理は無理だからなぁ。
厳密に同じバイナリを生成できるためにはどうしたらいいのだろう?

960 :名無しさん@お腹いっぱい。 :03/03/09 20:45
>959
原因が分かっているんだから対策も自明だろ

961 :名無しさん@お腹いっぱい。 :03/03/09 20:55
>>960
原因が分からないんだが。

962 :名無しさん@Emacs :03/03/09 20:57
>>960
自明とか言いつつ、お前が一番わかってないんだろ?

963 :名無しさん@お腹いっぱい。 :03/03/09 21:22
>>960
バイナリも管理しろってことですか?

964 :名無しさん@お腹いっぱい。 :03/03/09 23:05
厳密に同じバイナリができることを保証しないといけないような条件でなければ
タグうってテストするってことでいいですか?
厳密に同じバイナリを生成する方法はコンパイラの開発元にきいてくれ

965 :900 :03/03/10 01:10
なんだかすごく盛り上がっちゃったのね。

>>912
こっそり修正っていってもCVSに登録されてたんでしょ?
されてないなら、タグ打ってcvs exportしたやつをコンパイルしないのが問題。

ここまで読んできてけど、結局バイナリを管理する理由って、
「コンパイラに再現性100%でないバグがあるかも知れないから」
ってことなのね。
まあ、その可能性を考えるなら納得です。ミッションクリティカルな世界はあるだろうし。

966 :348 :03/03/10 01:18
バイナリはソース更新を管理じゃなく、IT用にビルドしたものを管理するってことでいいですか?
それぐらいだったら、CVSに放り込んじゃってもいいの?

967 :名無しさん@お腹いっぱい。 :03/03/10 02:49
バージョン管理するつもりなら、バイナリだろうと放り込んじゃえよ。差分だ
のブランチのマージだの、テキストでしか使えない機能はあるにせよ、少なく
とも体系立てて管理することはできる。

単に、CVSが一番多く使われてるだろうオープンソースの場合には、バイナリ
の再現性どころか共通のバイナリってもの自体がそもそもないから、扱わない
ことがほとんどってだけじゃないか?


968 :名無しさん@お腹いっぱい。 :03/03/10 03:14
どうしてもバイナリも管理したいっていうなら止めないけど、
バイナリファイルについては cvs add するときに -kb オプ
ションをつけないと大はまりする ($Id$ とかがバイナリ中に
存在すると展開されてしまう) ので気をつけて。


969 :名無しさん@お腹いっぱい。 :03/03/10 03:39
バイナリを管理する理由はコンパイラのバグじゃなくて主にバイナリ生成環境に思わぬ
環境依存があった場合のための措置だとおもう。
ex) 全然関係ないはずのソフトのバグフィクスのせいでコンパイラ等の動作が変わった。


970 :名無しさん@お腹いっぱい。 :03/03/10 07:39
皆さんの運用方法教えてください。
コーディングからテスト、本番反映までの。

つーか、次スレは?

971 :名無しさん@お腹いっぱい。 :03/03/10 08:18
>>969
そういえばWinXP環境でビルドすると、同じVC++6.0SP5を使っても
Win2000までと生成されるバイナリが違うなんて話はあったな。
(msvcrt.dllのバージョンが違うとlink.exeの動作が変わるそうな)

972 :名無しさん@お腹いっぱい。 :03/03/10 11:11
>>970
次スレはCVSにこだわらないのにしたいです。
CVS以外にもいくつかある(bitkeeperとかperforceとかsubversionとか)し、
あと管理ツールそのものだけでなく運用方針もけっこう話題が出てるんで
そういうのがスレ違いにならないようなタイトルにしたいですね。

973 :972 :03/03/10 11:12
って、誰かもう作ってるし

974 :名無しさん@お腹いっぱい。 :03/03/10 21:08
立てたら誘導貼れよ……。

CVS(2)
http://pc.2ch.net/test/read.cgi/unix/1047262230/

975 :名無しさん@お腹いっぱい。 :03/03/10 21:35
>>972
あ、私もそういうのがいいです。


976 :名無しさん@お腹いっぱい。 :03/03/10 21:37
>>972
そういうのもアリだとは思うけど、
それだったらunix板よりはム板が適してると思われ

977 :棄教者 ◆egKIKYO7cg :03/04/06 21:51
クライアント cygwin, サーバ Debian GNU/Linux (sid) で CVS を使ってます。
ディレクトリ全体のサイズが 130 Mbytes ほどのファイルを
クライアントから pserver (sshでトンネル), ext を使ってサーバに import しようとしましたが、
途中で No space for left on device というエラーメッセージを出して止まってしまいます。
もちろんサーバ側には 70GByteほどの残り容量があるので、
設定か何かの誤りだと思いますがご助言をお願いします。

設定ですが、サーバはインスコしたままです。
クライアントからサーバに繋げるときは
$ cvs -d :ext:kikyosha@server.ne.jp:/home/kikyosha/CVSROOT
で繋げています。

もう一つ、サーバ側に SCP で全部のファイルを置いて
サーバでサーバ自身に接続して CVS import させるとちゃんとできます。

978 :名無しさん@お腹いっぱい。 :03/04/06 22:03
>>977
-T とか TMPDIR とか /tmp

979 :棄教者 ◆egKIKYO7cg :03/04/06 23:26
>>978
素早いレス、カムサハムニダ。
/tmp は全然容量が足りませんでした。
もうちょっと容量のあるファイルシステムにシンボリックリンクを張って
もう一回実行したらうまく動いています。マンセー。


980 :山崎渉 :03/04/17 12:26
(^^)

981 :山崎渉 :03/04/20 06:04
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

982 :堕天使 :03/04/20 15:22
http://life.fam.cx/


983 :仕事人 :2006/08/04(金) 17:49 ID:1iSVMaaQ
誰か教えてください!!
サーバ:win2000server クライアント:win200pro
CSV+eclipsを使用しています。
コミットしようとすると次のエラーが出ます。

”cvs 追加”コマンドの実行中にサーバがエラーを報告しました。
cvs server:scheduling file 'ファイルのパス' for addtion
cvs server:cannot rewrite CVS/Entries,Backup;No space left on device
cvs server:cannot rewrite CVS/Entries,Backup;No space left on device
cvs [server aborted];cannot open CVS/ファイル名,t;No space left on device

ちなみに、ファイルの拡張子はjavaです。

解決策を教えてください。
お願いします!!

984 :仕事人 :2006/08/04(金) 17:51 ID:1iSVMaaQ
983に一部間違いがありました。。。
CSV+eclipsじゃなくて、
CVS+eclipsですね・・・。
どうでもいいことでしょうけど・・・。
よろしくお願いします。

985 :名無しさん@お腹いっぱい。 :2006/09/11(月) 17:46 ID:p3lll1po


986 :浪江亮太 :2006/09/11(月) 17:48 ID:???
ぼっくんこ

987 :名無しさん@お腹いっぱい。 :2006/09/11(月) 17:49 ID:???
次スレ用意!!

988 :ロリータ好きな浪江亮太(風呂に入っていない) :2006/09/11(月) 17:52 ID:???
きゃわゆい

989 :wonbin :2006/09/11(月) 17:54 ID:???
kamusahamunida

990 :肩凝るよ〜イタイイタイ病の脆い骨 :2006/09/11(月) 17:56 ID:???
おざるまるさくさじさつ

991 :名無しさん@お腹いっぱい。 :2006/09/11(月) 17:59 ID:???
酢酸臭い女〜からくりかえうた脇異臭・御陀仏娘

992 :ぼっくんこ :2006/09/11(月) 18:01 ID:???
ぼっくんこ

993 :浪江亮太 :2006/09/11(月) 18:06 ID:???
ダウトーー!!
トランプがしたいーーー!!!
ふざけんな!!!
ふだけんな!!!
ふっざっけっんなーーー・・・
ふだけんら!!!
ターシー♪
ムハハハハハハハ!!!

994 :文化断末魔 :2006/09/11(月) 18:09 ID:???
>>993
キモヲタ死ね!

995 :浪江亮太 :2006/09/11(月) 18:13 ID:???
>>994
おやおや??
どうやら、このクールでナイスガイなボクに嫉妬しているね?

996 :名無しさん@お腹いっぱい。 :2006/09/11(月) 18:17 ID:???
>>995
いいから消えろ、浮浪者!!

997 :羽多屋備市 :2006/09/11(月) 18:20 ID:???
ようこそ!!

998 :ぼっくんこ :2006/09/11(月) 18:21 ID:???
ぼっくんこ

999 :オーマイガー!!竹野 :2006/09/11(月) 18:23 ID:???
インマイダー!!

1000 :停止しますた。。。 :2006/09/11(月) 18:24 ID:???
【ロールパンナを押し倒して犯したい=精液をぶちまけて噛ましたい、孕ましたい】

                 Y⌒'''⌒'ー、人 人
               \ γ;;;;;ノ..;;;)   ヽ    て
                ,,,γ;;;;,,… ::::::::::*:: ヽ
                (;;;人_(\!((^i_::*::: }
                | /*-'' ̄  ̄''- i リ
                | ソr《・》,,、ir《・》、| |    ウ゛オ゛ーー!!ロールパンナー!!!
                リ i ;;;;   |  ::::  | |
                } <ヘ  ノ :::  /;; >i
                 | |:::l *`;ー;;`ヽ:l:::| |
                ノ ヽ:::;;;;; ll==ュヽ/ リノ
        __,,,,_.r.彡ノ ソ;:: |'Y',|:::/| |   
      /         {彡|;;;;;\ / | (` ,     
     /   __,,,,_-       /ハ(iヽ
    ./   / ,/  :{彡     /。 。彡
   / ./ ./          人 ヮ; 人.
 ////⊃; `/         ;*/  jr,''⌒ヽ      ア゛ァ゛ァ゛ー゛ー゛ー゛ー゛ー゛ー゛ー゛!!!!!!
////;` ./          / /7┐   `ヽ       →(ロールパンナの悲鳴と喘ぎ声)
.Yt‐リ. ./          ,,イ=---‐''"ヽ、j   .i
    /  '      '"    =''"´  }.ヽ、  ヽ
    /             /     / ヽ、  ゝ
  /            /     /t   ヽ'ヲ'''t
  (           /    / .リ    )  ii
  jヽ入       ‐/`ー:、 ./     ,  i}:  i
  {  `''tー-‐'''''''./ . /.`ヽ、  ●   ノ ヾ  `i,:
  ` 'ー- ゞ   /   (     ーー‐''" .  ! . ヽ
          {     `''t            `ー''"
          `ー´ `''ー- ゞ

真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ

1001 :1001 :Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


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

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