X



CVS 1.3
0001名無しさん@お腹いっぱい。
垢版 |
NGNG
RCS board: http://pc5.2ch.net/unix/
Working thread: CVSスレ
head: 1.3
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 3; selected revisions: 3
description: CVSを使ってファイル管理している人の質問と情報交換スレ。
0214209
垢版 |
2006/01/05(木) 21:47:18
>>212
cvs2clは、いちどどこかにcheck outしないとだめなようですが(違う?)、
そうではなく、現在のCVSROOTの中から生成する方法はないものか、と思ったのです。

>>210
ありがとうございます。
0216214
垢版 |
2006/01/07(土) 23:42:20
>>215
ありがとう。

Automatically generate ChangeLog on CVS commit using cvs2cl
この一文が素敵です。これから試してみます。
gnu.orgつながらない...
0217名無しさん@お腹いっぱい。
垢版 |
2006/01/13(金) 18:05:49
CVSROOT/modulesに
public_html -i /home/user/CVS/CVSROOT/update.sh public_html
と書いてcvs co public_htmlを実行すると、
XXX: invalid option -- i
cvs server: modules file has invalid option for key public_html value -i /home/user/CVS/CVSROOT/update.sh public_html
cvs [checkout aborted]: cannot expand modules
と言われます。-iがinvalid optionだと言われても困るわけですが、
これはバグだったりするんでしょうか。
どうすればmodulesにエントリのあるmoduleをcoできますか。
0220名無しさん@お腹いっぱい。
垢版 |
2006/01/18(水) 22:02:53
先生質問です

OS:Solaris8/SPARC
CVS:1.11.19(cvs-1.11.19-sol8-sparc-local.gz パッケージを使用)

# cvs import -m "import TEST" TEST TEST start
とやると
cvs [import aborted]: Only numeric branch specifications with two dots are
supported by import, not `1.1.1'. For example: `1.1.1'.
とimportが失敗してしまいます。

・リポジトリ内にmkdirで直接ディレクトリ(TEST)を作成
・作業場所でTESTをチェックアウト
・TEST配下にモジュールを放り込みcvs addで追加

とやれば登録はできましたがimportだけは必ず失敗します

エラーの内容も意味がわかりません
「not `1.1.1'. For example: `1.1.1'.」(1.1.1はダメ、例:1.1.1)

どうにかならないでしょうか
0221名無しさん@お腹いっぱい。
垢版 |
2006/01/18(水) 23:05:11
>>220
vendortag と releasetag に同じ TEST を使うから悪い。
0226220
垢版 |
2006/01/19(木) 22:26:19
>>221,>>222

返答ありがとうございます

# cvs import -m "import TEST" TEST TEST start
リポジトリのディレクトリ名:TEST
vendortag:TEST
releasetag:start
ですよね?

sunfreeware.comに1.11.20があったので
こちらで試してみようと思います
0228名無しさん@お腹いっぱい。
垢版 |
2006/01/20(金) 12:42:33
UP4800でうごきまつか(・ω・)?
0230名無しさん@お腹いっぱい。
垢版 |
2006/04/29(土) 12:54:24
cvs(というかRCSファイルというか)で、たとえばブランチ1.1.1の
commitをそのままデフォルトブランチ(1)にもってくる(コピーでもOK)
ツールはないでしょうか。
0231名無しさん@お腹いっぱい。
垢版 |
2006/04/29(土) 23:55:11
>>230
そういうツールは聞いたことはないけど
cvs export -r vendor -d module.vendor module
cvs checkout -d module.trunk
module.trunkの下のファイルを消す
(cd module.vendor && tar cf - .) | (cd module.trunk && tar xf -)
かなぁ。
ファイルの数が少ないのなら cvs update -p -r vendor file でもいいと思うけど。
0232230
垢版 |
2006/04/30(日) 09:52:45
>>231 説明が悪かったようです。
たとえばブランチ1.1.1に次のようにいくつかcommitがあるとき、
1.1.1.4 データを追加
1.1.1.3 スタイルを整理
1.1.1.2 処理を追加
1.1.1.1 スクリプトの原形
これらの履歴をデフォルトブランチ(1)に持ってきたいのです
(できれば日付とかcommitlogはそのままで; 1以外のブランチはなくてもOK)
1.4 データを追加
1.3 スタイルを整理
1.2 処理を追加
1.1 スクリプトの原形
もとのブランチ1.1.1はcvs importコマンドで何度かつっこんであるだけで
forced commitでデフォルトブランチへ持ってきていないのですが、いざ使う
となった時に「ブランチは面倒」ということになって、さてどうしようかと...
0233名無しさん@お腹いっぱい。
垢版 |
2006/04/30(日) 12:43:47
>>232
そういう意味でしたか。
RCSファイルレベルで考えるとメイントランクとブランチでは差分をとる方向が違うので実現はなかなか難しそうです。
ちょっと違いますが
cvs admin -b 1.1.1 でメイントランクを変えてしまうのはどうでしょうか。
0234232
垢版 |
2006/04/30(日) 13:50:49
>>233
それもやってみたことがあるんですが、残念ながらメイントランクは
commitするとリセットされちゃう(というか1.1.1が特別だからなのか
意識せずにcommitすると1.2とかになっちゃって、メイントランクも
そっちへ移ってしまう)んですよ。いっそのこと手で一個ずつ書き替え
てやろうとも思ったんですが、-kbで放り込んでるやつ(*.gifとか)は
手が出ないかも...
0235名無しさん@お腹いっぱい。
垢版 |
2006/05/09(火) 15:29:55
FreeBSDは5.4を、CVSは1.11.17を使っています。
用件を先に言いますと、CVSで「上書きエクスポート」ってできるでしょうか

どういうことかというと・・・

たとえば/usr/local/www/subdomain/wwwにエクスポートするとします。

で、
www# cvs export -d /usr/local/www/subdomain/www -D tomorrow example.com
のようにやればできることはわかります。

ですが、
/usr/local/www/subdomain/www
にすでにファイルがある場合、上記のコマンドを実行すると、

cvs export: Updating /usr/local/www/subdomain/cvs
U /usr/local/www/subdomain/www/.project
? /usr/local/www/subdomain/www/.settings
? /usr/local/www/subdomain/www/htdocs
? /usr/local/www/subdomain/www/inc
と表示されてしまい、エクスポートできません。

なので、いちいち
www# rm -rf /usr/local/www/subdomain/www
と全削除してから、
www# cvs export -d /usr/local/www/subdomain/www -D tomorrow example.com
してるのですが、
普通こういうものなのでしょうか?

コミットされてエクスポートされてないファイルのみをエクスポートすることって
できないでしょうか?
よろしくお願いします。
0237235
垢版 |
2006/05/10(水) 16:41:06
>>236
あう・・・そのとおりですね。すいません
0242名無しさん@お腹いっぱい。
垢版 |
2006/06/13(火) 18:27:48
RCSは少ないファイルには有効みたいですね。
複数ファイルではCVSとSubversionはどっち使えば幸せなのかな?
0244名無しさん@お腹いっぱい。
垢版 |
2006/06/14(水) 02:59:29
rcs ぜんぜん使いにくくないよ。
ときどき ci -l するだけで履歴とバックアップが記録できるんだから
楽なもんだ。
emacs からなら cvs と同じように扱えるし。
0248名無しさん@お腹いっぱい。
垢版 |
2006/08/02(水) 11:50:43
subversionの方が評価高そうですけど、
0249名無しさん@お腹いっぱい。
垢版 |
2006/08/02(水) 13:54:06
でもsvnにはリスペクトの精神が感じられないからな・・・
声高に CVS is UNKO! とか唱えてるのを見てると
あまりいい印象を受けないよな。
プロモーション手法としては感心できん
0250名無しさん@お腹いっぱい。
垢版 |
2006/08/02(水) 20:46:52
svnもCVSもワークディレクトリをメタディレクトリで汚すので、
(webのデザインツール+FTPツール)だけを使う人達と仕事をする時には
使いづらいな。
0258名無しさん@お腹いっぱい。
垢版 |
2006/08/10(木) 20:23:21
>>250
svk でおk
0265名無しさん@お腹いっぱい。
垢版 |
2006/10/13(金) 17:37:28
あるホストで新たにディレクトリを掘って,
ファイルを cvs add で追加して cvs commit したあと,
別のホストで cvs update しても,
そのディレクトリが落ちてこないのですが,
どうすればいのでしょうか?
0270名無しさん@お腹いっぱい。
垢版 |
2006/10/25(水) 05:20:44
CVSで、ディレクトリを削除するにはどうするの?
cvs remove directory-name としても、削除されないんだけど。
手動で削除すると、今度はcvs infoのときに「directory-nameがない」というエラーになるし。
0272名無しさん@お腹いっぱい。
垢版 |
2006/10/25(水) 11:44:42
>>270
cvsは一度作ったディレクトリは削除不可。
>>271の言うようにcvs update -Pすると空のディレクトリはupdate時に
消すようになるので、これを徹底させ、いらないディレクトリは空にしておく。
0274名無しさん@お腹いっぱい。
垢版 |
2006/10/26(木) 20:26:45
ウェブアプリを開発するときはソースをどう管理するのがいいんでしょうか?
開発効率を考えると、
作業コピー=開発環境・テスト環境
として、普段はいきなり動作しているサーバのファイルを書き換えてしまう
というのがよさそうですが、リリースするときは CVS ディレクトリを削除
しなければならないですよね。
開発者ごとにローカルにチェックアウトする方法だと、いちいち
コミットしなければ確認できないですし。
0276名無しさん@お腹いっぱい。
垢版 |
2006/10/27(金) 12:30:30
つうか、CVSが残るのって開発・テスト環境だけだろ? 何か問題あるのか?
サービスマシンにコピーするにはrsync -Cとかcvs exportでいいだろ
0278名無しさん@お腹いっぱい。
垢版 |
2006/10/28(土) 16:46:34
>>277
自分は別のホスト(単にVMwareで最小限の環境を組んだだけ)で
checkoutして、自動テストを走らせてチェックするスクリプトを起動している。
手動で継続的結合をやってるわけだ。
……できればレポジトリにコミットされてから数分後に自動で
テストが走るようにしたいが、時間が無くて手を付けてないけど。
0279名無しさん@お腹いっぱい。
垢版 |
2006/12/13(水) 17:31:45
初心者の質問かもしれませんが・・・

CVSではCVSのツリー全体にロックをかけることはできるのでしょうか?
(ClearCaseではVOBにロックをかけて登録を出来なくすることが出来た)

どういうことがしたいかというと、ビルド最中にはCVSにあるソース全体に
ロックをかけて登録不可にして、ビルド成功後にソースを開放、っていう
風にしたいのです。また、ロックをかけておけばエラー発生時に誰が
エラーなのか探しやすいと思って・・・

スレ違いなら誘導お願いします。
0280名無しさん@お腹いっぱい。
垢版 |
2006/12/13(水) 21:15:00
誰かがコミット中の時にロックを掛けてしまうと、いまいちの様な気がする。
1. aliceがA.c, B.c, C.cをコミット中に、
2. bobが、A.cがコミットされた直後にロックを掛ける。
3. aliceはB.cとC.cをコミットできない……この3つのファイルをコミットしないと
コンパイルエラーになるのに。
0281名無しさん@お腹いっぱい。
垢版 |
2006/12/13(水) 21:46:26
単にビルド開始時刻かビルドのためにチェックアウトした時刻を
記録しとけば済む話。

> ロックをかけておけばエラー発生時に誰がエラーなのか探しやすい
全然関係ないだろう。
0283名無しさん@お腹いっぱい。
垢版 |
2006/12/15(金) 00:51:18
おいらはコミットしちゃダメよーって連絡するだけだなー
ビルド成功したらコミットOKと再度連絡。

あとはコミットした通知をリアルタイムにメールで受け取るようにしとくだけ。
禁止中にコミットしたやつはタコ殴り(^^v
0284名無しさん@お腹いっぱい。
垢版 |
2006/12/24(日) 14:36:08
そういう時はタグを使えばよいでしょう。時刻というのもありだけど、
CVSではブランチを使う時に「あるブランチ上の時刻」というのを
指定できないので、たとえばlogやdiffを取る時などに不便。
0285名無しさん@お腹いっぱい。
垢版 |
2007/01/12(金) 14:02:29
ここ過疎ってるけど、mercurial関連の話題も振ってOK?
スレ別に作ったほうがいい? 犬・マ・ム板を見たけどそれらしい
スレはなさそうだった。

トップ
ttp://www.selenic.com/mercurial/
日本語チュートリアル
ttp://www.selenic.com/mercurial/wiki/index.cgi/JapaneseTutorial
0286名無しさん@お腹いっぱい。
垢版 |
2007/01/15(月) 14:32:53
SCM全般のスレが本当はあったほうがいいよね。まあCVSネタは
ほぼないし、とりあえず書いてみてもいいんじゃないかと。
0287名無しさん@お腹いっぱい。
垢版 |
2007/01/20(土) 19:42:06
CVSで複数のステージを管理するにはどのようにやったらよいのでしょうか。
ステージ1 開発者がある程度自由にコミットできる場所
ステージ2 システムテスト用
ステージ3 本番用
として、それぞれフェーズをわけた管理をしたい。
モジュールの流れは基本的に開発マシン⇒ステージ1⇒ステージ2⇒ステージ3
の一方通行でよい


SCCSで管理するような親子関係を持てたらよいのかなあと思いました。
ブランチで管理したり、リポジトリを複数持ったりしたのですが、ツールがないためかなりの部分が手作業。
うまく管理できるようなソフトってないのでしょうか。
0288名無しさん@お腹いっぱい。
垢版 |
2007/01/20(土) 19:44:04
>>287
CVS、SVNを利用している人は、コーディング完了=即リリースなので
ステージをわけるとか、そういう概念が無いので、仕様。
0290名無しさん@お腹いっぱい。
垢版 |
2007/01/20(土) 20:03:13
>>287
ステージごとに違う部隊が担当するんだから
repoごと丸投げすればok.
commit -fでrevision numberを1.xx→2.0にあげとくと
気分的にタグの代わりになる。
0292名無しさん@お腹いっぱい。
垢版 |
2007/01/21(日) 16:19:20
287です
>>290
もう少し詳しく教えてください。
よろしくお願いします。

>>291
ありがとうございます
早速読んでみます。


大規模で開発する場合、どうしても依存関係などがあり、
ひとつのステージのみで開発するのが難しいです。
もちろん、各開発者が素晴らしい技術者の場合なんとかなるかもしれません。
(googleなどもフラットだと聞くので)


根本部分の改修など行った場合、本番に出さず暖めたい場合もあります。
その場合など、ステージがないとうまくいかないような気がします。

未熟な開発者が勝手にソースをコミットしてしまった場合も破綻してしまいます。

みなさんはどのように管理しているのでしょうか。
0294名無しさん@お腹いっぱい。
垢版 |
2007/01/21(日) 17:53:22
>>292
|未熟な開発者が勝手にソースをコミットしてしまった場合も破綻してしまいます。

じゃあそいつにコミットビットを与えなければよいのでは
0296名無しさん@お腹いっぱい。
垢版 |
2007/01/22(月) 23:25:04
ノートPC上のCVS(開発中)、研究室のCVS(テスト)、sourceforge(リリース)というように複数のサーバを使い分けてる。rsync --exclude CVS でcopyしてからcommitすればOk。もちろん、tag も使うけどね。
0297名無しさん@お腹いっぱい。
垢版 |
2007/01/23(火) 01:29:21
>>296
それってリポジトリは各環境ごとに持ってるってこと?
それともワークディレクトリだけをrsyncで同期かけてるってこと?
0299名無しさん@お腹いっぱい。
垢版 |
2007/01/23(火) 23:12:34
287です

>>293
そうです。

>>294
運用で逃げるしかないってことですか・・・・・

>>296
それってよいですね。
ただ、
> 根本部分の改修など行った場合、本番に出さず暖めたい場合もあります。
がうまくできないような・・・・
そもそもコミットしなければよいのですが
0302名無しさん@お腹いっぱい。
垢版 |
2007/01/24(水) 16:30:27
>>301
つhg
0303名無しさん@お腹いっぱい。
垢版 |
2007/01/25(木) 20:33:03
287です。

>>302
Mercurialというソフトがあるのですね。
SCCSと同じような考え方なのですね。
分散型SCMという考え方のですか。

試してみます
0304名無しさん@お腹いっぱい。
垢版 |
2007/03/16(金) 22:29:12
間違って -kb として登録したファイルを cvs admin -kkv
で直したんですが、すでにクライアントの CVS/Entries に -kb
つきで書かれてしまっていて、
cvs up してもキーワード置換が行われません。
全ユーザの作業用コピーを一括で直す方法はないでしょうか。
それともそれぞれのクライアントで、cvs up -A
するしかないんでしょうか?
0306名無しさん@お腹いっぱい。
垢版 |
2007/03/21(水) 15:38:09
mercurial を windows で使うと、日本語のファイル名が化けちまう。
抽象レイヤもないみたいだし、どうすれば、、、。
0309名無しさん@お腹いっぱい。
垢版 |
2007/03/25(日) 20:31:45
>>306
だからといってファイル名までutf-8で保存するようになると
なんとなくsubversionと同じような(ftpサーバをやっている
linuxマシン上で、WindowsからアップロードしたSJISファイル名の
ファイルがワークディレクトリにあるとコケる)状態になりそうで嫌。
0312名無しさん@お腹いっぱい。
垢版 |
2007/04/18(水) 23:51:38
最近、$Id$とかのキーワード置換の中の日付形式が突如変わってしまって、
(2006/11/16 -> 2006-11-16)
cvs diffで$Id$行が変更されてると表示されたり、
cvs updateするとコンフリクトしたと見なされたりするようになってしまったんだけど、
この原因は何?

サーバの側のcvsの設定に関係?それとも、クライアント側?
0313名無しさん@お腹いっぱい。
垢版 |
2007/04/19(木) 23:17:46
ウインドウズで使うならビジュアルソースセイフがCVSなんかよりいいだろう?
0314名無しさん@お腹いっぱい。
垢版 |
2007/04/20(金) 01:38:14
>>312
確か結構まえに変更になった。
ソースをみると決めうちだったと思う。
ちなみにCVSではサーバ側が
ほとんどの処理をします。
レスを投稿する


ニューススポーツなんでも実況