CVS導入スレ〜 Rev.3

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2005/04/10(日) 22:58:38
バージョン管理システムCVSについてのスレッドです。

前スレ : 「CVS導入スレ〜 Rev.2」
http://pc8.2ch.net/test/read.cgi/tech/1065829553/

関連スレとリンクは>>2を参照
2006/08/25(金) 22:44:13
cvsのlogコマンドについて質問があるのですが、
コマンドラインにてlogコマンド実行時に出てくる
CVS側のコメントの内容が日本語だったり
英語だったりして困っているのですが↓
----
RCS ファイル : 'C:\rep/test.c,v'
作業ファイル : test.c
先頭リビジョン : 1.1
----
RCS file: 'C:\rep/test.c,v'
Working file: test.c
head: 1.1
-----
この出力結果をつかさどってるオプションって
存在するのでしょうか?WinCvs1.2ごった煮付属のcvs.exeです。
英語固定で出力させたいのですが何か方法ありますでしょうか。
2006/08/25(金) 22:59:09
ごった煮を使うのをやめる。
2006/08/26(土) 00:02:05
>>494 LANG じゃね?
497494
垢版 |
2006/08/26(土) 00:55:31
>>496
ビンゴでした。ありがとうございます。
cvs logする前にコマンドラインでset LANG= で初期化すると
英語に戻りました。<(_ _)>
2006/08/26(土) 11:28:10
>>495はアホ。
2006/08/29(火) 14:26:10
ファイルを削除することなく、CVS管理対象外にしたいとき
どうしたらいい?
2006/08/29(火) 14:38:38
.cvsignore
2006/08/29(火) 14:40:26
>>499
cvs remove 499
2006/08/29(火) 15:29:43
インポート時なら-Iオプションだね。
503499
垢版 |
2006/08/29(火) 17:24:33
>>501
それ実行しようとすると「まだ息がある。先にとどめを刺せ」と言われる。

結局うまい方法は無いようなので 一度逃がしてからremoveして
また呼び戻しました。
2006/08/29(火) 22:04:36
サーバ側で既存のモジュールを移動したいんだけど、CVSROOT 付きのディレクトリを丸ごと移動するだけで良いの?
2006/08/29(火) 22:31:25
>>504
それはリポジトリの移動に見える。モジュールの移動って言うと、その中の
ディレクトリを移動することじゃないか?
2006/08/29(火) 23:50:27
>>505
ハァ?
507505
垢版 |
2006/08/30(水) 00:24:29
なんか変なこと言ったかな?ごめん、スルーして。
2006/08/30(水) 00:38:27
すんません言葉足らずで。
既存のモジュールを別のリポジトリの別の名前のモジュールとしてアクセスするよう移動したかったんですが。
2006/08/30(水) 01:06:33
ディレクトリの移動だけでいいよ。
2006/09/02(土) 10:21:59
>>508
モジュール名を変えてしまっても特に問題なく使えた気がします
511デフォルトの名無しさん
垢版 |
2006/09/13(水) 17:05:51
WinCVSを使ってますが、
全ファイルの張り付き解除方法を
教えて下さい。
2006/09/13(水) 18:17:45
cvs update
2006/09/13(水) 23:36:09
「更新」ボタン→「更新」ダイアログ「更新」タブ「張り付き云々」チェックボックス。
2006/09/14(木) 01:48:21
まっこと無礼な発現だとは思うんだが、未だにWinCVSを使ってる人がいるのにマジで驚いた。
何故にTortoiseCVS、もっと言うとSVNを使わんのだ。
2006/09/14(木) 01:50:06
「張り付き」って何?
2006/09/14(木) 02:01:14
「貼り付き」だろう。
517511
垢版 |
2006/09/14(木) 08:52:00
>>512
サンクス。それで出来ました。

>>513
「作成−チェックアウト」ばかりやってて「更新」があるの忘れてた。

>>514
TortoiseのGUIも、SVNの考え方も先進杉て使えません。
2006/09/14(木) 09:10:53
>「作成−チェックアウト」ばかりやってて「更新」があるの忘れてた。
なんですと?
519デフォルトの名無しさん
垢版 |
2006/09/14(木) 11:41:31
コミット時に
cannot rename file CVS/Entries.Backup to CVS/Entries: Permission denied

なるメッセージが出てきて、以降その開発ディレクトリCVSができなくなって
しまったんだけど、直し方分かる神はいる?クライアントはWinCVS 1.3。

ちなみに、別の開発ディレクトリにチェックアウトして操作してみても上の
メッセージが出てきてダメだった。
2006/09/14(木) 14:15:07
>>519
エクスプローラでリネームできるかどうか試して、出来なきゃファイルのプロパティでごにょごにょしろ
2006/09/14(木) 17:17:08
>>514
プロジェクトマネージャ代わりに使ってるから
522519
垢版 |
2006/09/14(木) 19:08:25
>520
リネーム⇒できた。
もっかい別の修正してコミット⇒同じ現象発生orz

根本的に解決せなあかんようです……
2006/09/14(木) 21:12:21
CVSクライアントは、Eclipse最強
2006/09/15(金) 01:55:42
それはマジで同意。
WinCVSが駄目駄目すぎるのを差っ引いても、
CVSクライアントのためだけにeclipse使いたくなるくらい。
2006/09/15(金) 10:43:51
Eclipseのは、:extssh:という妙なスキームでチェックアウトするのをやめて
くれれば、コマンドラインcvsと作業コピーが共通化できるのになー。
getenvがdeprecatedな時期のJava実行環境で環境変数CVS_RSHを見るわけ
にはいかないからこうなっているんだろうか。
2006/09/21(木) 20:28:39
CVSに触ったことがありませんので、どなたかご教授願えないでしょうか。

現在、既にCVSNTは運用中なのでバックアップの為、一応日次でサービスをストップしています。
(以前にサービス開始状態でバックアップがこけたことがあったので)
CVSのサービス時間帯を延長したいのですが、バックアップ取得はできる限り万全の態勢で望みたいので、
サービスストップは必須という状態です。
バックアップはNTbackupを利用し、複数ドライブを1タスクで実行しています。
また、バックアップの開始はCVSリポジトリ用のドライブから開始されます。
NTbackup内部では対象を記述したテキストファイルを読み込んで、それからドライブ文字を昇順で実行しているようなので、
ドライブ文字を変更して一番最後にCVSリポジトリ用ドライブのバックアップを取得したいと考えました。

そこで、皆様にご教授していただきたいのは、ドライブ文字の変更によってCVSの使用に影響があるのか、
ということなのですが・・・、質問が漠然すぎて申し訳ありません。
例えば、ドライブ文字を変更すると、リポジトリのルートを設定しなおさなければならない、
といったようなことはあるのでしょうか?

くだらない質問かもしれませんが、なにぶん初心者で開発環境もない状態ですので、
宜しくお願いいたします。

【環境】
CVSサーバーOS:Windows Server 2003 SP1
クライアントOS:Windows XP Pro SP2
CVSNTバージョン:CVSNT 2.051d-9 SJIS
接続形式:pserver
2006/09/21(木) 22:35:58
>>526
チェックアウトのときにリポジトリの場所が記録されるので、ドライブレターを含む形でアクセスしているなら影響受ける。
ネットワークパスで書いているならクライアント側は何の手間も要らないんだけどね。
#そもそも、NTbackupをリポジトリのあるドライブだけと残りの対象の2回に分けて実行すればいい希ガス。
2006/09/22(金) 10:49:40
>>526
意味わからん。
バックアップの順番を後ろに回したからって何が解決するんだ?
2006/09/25(月) 13:44:59
バックアップの説明なんて要らないものでしたね・・・。
アクセスには仮想パスをしようしていましたので、一度試してみます。
後、既にある書き込みと同様の質問をしてしまったことをお詫びいたします。
答えてくださった方、ありがとうございました。
2006/10/01(日) 21:38:08
私は個人でプログラミングをしていて、今のところはディレクトリを丸々コピーしながら
バージョンを上げていく方法でやっているのですが、最近 cvs の導入を考えています。

Windows 上で VisualStudio を使っているので WinCVS か CVSNT のどちらかにしようと考えているのですが
SJIS 対応のものはバージョンが妙に古そうな気がして不安です。
あと、将来的に標準の(Linuxの?)CVSを触ることになったときに役に立つのか?という点も不安です。

Linux には興味があるしCUIも嫌いでないタイプなので
いっそこの機会にLinuxを勉強してCVSを入れてみようかとも思うのですが
そうなると今度は、SJISでデータ入れても大丈夫なのかという部分が気になります。

まとめると
1. CVSに入れるのは VS で書いたソース( ShiftJIS )
2. CVSの標準(?)に近しくて、方言っぽくない
3. コマンドラインでも可、WinでもLinuxでも可(ただしクライアントはWin)
4. できるだけ新しいバージョンがいい
5. 叶うなら日本語で…
という感じになります。

ごちゃごちゃした文章で申し訳ありませんが、どなたかアドバイスをお願いします
2006/10/01(日) 22:02:52
>>530
ファイルの中身については問題は無いはずだが、
ファイル名とログメッセージについて日本語の扱いに
問題がある。

今から新しく始まるならそこら辺にまったく問題の無い
Subversion をお勧めする。
2006/10/01(日) 22:42:44
レスありがとうございます
Subversion について少し調べてみましたが、割と自分の理想に近そうな感じなので
これを使ってみることにします
2006/10/01(日) 22:51:47
>530
もちろんSubversionがおすすめだが、万が一CVSを使うことになっても
ごった煮だけはやめておけ。
2006/10/01(日) 23:10:40
>>533
なんで?
2006/10/02(月) 06:32:53
これから始めるってんなら、Subversion + TortoiseSVN を薦めるがな
2006/10/02(月) 09:32:58
>>534
バグバグな上にメンテ放置されてるから…
あれ文字通りのごった煮で、本来もっと私的なパッケージだったはずなのにな。
2006/10/07(土) 15:53:12
>>530
>>535の言う通り、これから新規にリポジトリ作るならSubversion + TortoiseSVN でガチ。
あえてCVSを選択する必要はない。
Subversionは専用スレがあるのでそちらへどうぞ。
2006/10/16(月) 15:28:20
TortoiseCVS を入れてみたのだけど
ファイラ「まめファイル」では右クリックメニューが出てくれないです
2006/10/18(水) 12:42:05
新しくプロジェクトを追加したのでインポートしようとしたら
フルパス指定をミスしてしまって、ソリューションの階層に
そのプロジェクトのファイルをインポートしてしまいました。
チェックアウトすると、
ソリューションのフォルダに新プロジェクトのファイルがロードされてしまいます。
誰か修正方法を教えていただけませんか(泣。
2006/10/18(水) 12:50:59
>>539
ソリューション、プロジェクトって Visual Studio のアレ?
まぁ削除してやりなおせばいいんじゃないの?
2006/11/05(日) 18:29:20
WinCvs1.3ごった煮使ってるんですが、
リストビューのファイルをダブルクリックすると、「開く」ではなく「編集」
の動作をしているようです。Cなど、エディタに関連付けているはずですが、
なぜかメモ帳が開きます。
この辺の動作はどうやったら変更できるのでしょうか。
2006/12/06(水) 15:26:33
>>541
メニューの、管理-設定-WinCvs の設定はどう?
543541
垢版 |
2006/12/07(木) 15:11:22
>>542
うを〜っ、超亀レスありがとう。

最近ハードディスク交換してOS再インスコしたんだけど、そこでコマンドダイアログの
ファイルアクション(ファイルをダブルクリックしたときに出てくるダイアログ)で設定される
ことに気が付いた。ほとんどのコマンドダイアログはスキップするようにしていたから、
気づかなかった。

どうもシェル拡張型は好きになれず、こういう独立したアプリを使ってしまうねぇ〜。
WinSvnとか出ないかな。
2006/12/07(木) 16:35:32
>>543
Eclipse使えば?
2006/12/07(木) 18:09:58
Linux(Gnome)で初心者にお勧めのGUIある?
初心者にイメージを掴ませたいんだけど。
#なんせイメージを掴むのが苦手な子なんで、この前もmakeを使う理由を説明するのに小一時間……
2006/12/07(木) 18:51:08
> イメージを掴むのが苦手
抽象的なものを相手にするのは根本的に向いてないのでは……
2006/12/07(木) 20:01:27
紙に図を書いて説明するしかないな
548545
垢版 |
2006/12/08(金) 00:34:09
むぅ。取り敢えず本でも買ってこさせるか。
2006/12/08(金) 00:38:09
つーか、君はきちんと説明できるてるのか?
「俺は説明できるんだが相手の理解力が低くて困る」という文脈だよな
2006/12/15(金) 18:38:51
「あるツリー(例:foo)における、あるタグ以降(例:foo-20061210)から今までで」
「ユーザ(例:nanasi)が行った変更の、ファイル単位コミットログ」

を収集するいい手はないでしょうか。例えば以下のような物で、余程溢れない限り
その他の情報があっても構いません。

====================================

hogehoge.java
  12/13 nanasi 16:00 **を修正
  12/15 nanasi 15:00 **を修正

fugafuga.java
  12/14 nanasi 20:00 **を修正

...
=======================================
551293
垢版 |
2006/12/21(木) 21:51:15
>>550
cvs2cl.pl を改造するとか。
http://www.red-bean.com/cvs2cl/
2007/01/12(金) 11:44:55
Tortoiseの何が嫌って、いちいちメニューから操作する必要があること。
でもWinCvsより高機能だからなー。
2007/01/12(金) 12:03:31
tortoiseだけに、私たちに教えたのです。
2007/01/12(金) 13:02:46
ところでTortoiseCVSでrdiffとかはできないんでしょうか。
こういうのはコマンドプロンプトからやらないとダメかな?
2007/01/13(土) 08:08:14
>>553
taught us か。
556デフォルトの名無しさん
垢版 |
2007/01/27(土) 14:44:52
家と会社と両方でチェックアウトしてて
家でコミットしてから 出社して、会社で続きをやろうと思ったら
cvs diff コマンドで見たら差分が無いといわれた

なんで?
2007/01/27(土) 15:10:01
>>556
正しく同じリポジトリを参照していて、リビジョンを固定しないでcoしているなら、大丈夫なはずだが。
2007/01/27(土) 15:13:14
cvs diff はワーキングファイルのリビジョンと比較するから、cvs diff -r HEAD
(またはコミットしたリビジョン) するか、cvs update するかしないと。
2007/02/02(金) 06:26:04
先に言っておく、過去ログは読んでないし、読めない。

Visual Studio 2005用のCVSフロントエンドアドインってありますか?
2007/02/02(金) 07:59:54
先に言っておく、過去ログは読んでないし、読めない。
おまけに常に正しい保証もない。

ある。
2007/02/03(土) 15:26:42
>>559
>>412, VS2005 Standardで可 (Professionalじゃなくてもよい)
ttp://www.atmarkit.co.jp/fdotnet/special/vs2005compare/vs2005compare_02.html
2007/02/04(日) 18:42:38
貧弱なダイアルアップ回線から接続エラー/タイムアウト多発状態で使っていたら
1 ファイルだけ commit できなくなってしまった。

> cvs: hash.c:320: findnode: Assertion `key != ((void *)0)' failed
> cvs [commit aborted]: received abort signal

見ての通り悲観的なメッセージなんだけど。
SourceForge のリポジトリなんで直接手で触る事もできないんだけど、何か方法はないかなぁ。
2007/03/01(木) 03:33:13
VSS並に(配布元がまともという意味で)信頼性の高いSCMはないでしょうか?

CVSが一般的ですが亜種が乱立しすぎている。日本語環境で使用するのに
難があるなどの理由で避けています。
2007/03/01(木) 03:57:03
>>563 Subversion
2007/03/01(木) 05:05:26
>CVSが一般的ですが亜種が乱立しすぎている。日本語環境で使用するのに難がある
偏見じゃね? まぁ、Subversionでいいだろうけど。
2007/03/01(木) 11:24:49
>>562
サポートにお願いしないと無理ですな。
2007/03/03(土) 22:42:03
>>563
Subversion、あるいはPerforceでいいんじゃね?
2007/03/07(水) 21:00:45
CVSにexeって入れないものなんですかね?

HDDがもったいないからexeとか実行ファイルは入れるなといわれてしまいましたが。。

ビルド環境によって動作が変わったりする場合もあるのに。
2007/03/07(水) 21:39:28
>>568
リポジトリ内のファイルを元にして生成されるものは、普通入れないね。
ビルド環境で動作が変わるのなら、それは、
均一のビルド環境をメンバー全員に提供できていないという、別の問題じゃない?
むしろ、プロジェクトリーダーにそっちを報告した方がいい気がする。
2007/03/07(水) 21:42:27
うーん、なるほど。
そういう考えもあるんですね。
2007/03/07(水) 21:50:31
もうひとつ。普通、ビルドしてexe生成は誰もが何回もする作業だよね。
例えソースの修正をしなくてもだ。そういうファイルをリポジトリに入れると、
conflictが頻繁に起きて困ったことになる。

ではさっそくやってみよう。ソース修正…ビルド…exe生成…テスト…できた。
よし、コミットだ。その前に、リポジトリが修正されているか確認しよう。
cvs update…うむ、foo.cは競合してないぞ…げぇ!exeがconflictだとぅ!

ってね。そういうファイルは.cvsignoreに入れた方が、面倒が無くていい。
2007/03/07(水) 21:56:17
なるほど
分かりました。ありがとうございます
2007/03/15(木) 20:28:29
コミットするとファイルのオーナーが変わってしまい、他人の書き込み属性がなくなります。
コミットするたびにいちいちrootで入ってchownとchmodで元に戻していますが、原因はなんででしょうか?
2007/03/15(木) 23:03:58
>>573
group に write 権限与えとけばいいんじゃないの?
575デフォルトの名無しさん
垢版 |
2007/03/20(火) 02:47:16
だが、おれはあえてつっこんでいる。

提出したバイナリそのものが大事なことが
なんでか結構多いからだ!
2007/03/20(火) 09:45:45
>>575
スナップショット的にそういうのはありかもしれない。
2007/03/20(火) 10:50:50
提出物管理とソース管理を分けたくなるケースだな。
578デフォルトの名無しさん
垢版 |
2007/03/22(木) 05:06:05
>>577
だけど、分けたら分けたで 一本化したくもなるんだよ

なんて人間て罪深い生き物なんだろうな
2007/03/22(木) 16:26:27
この場合は罪深いというより単に悩み深いだけかと
580デフォルトの名無しさん
垢版 |
2007/03/29(木) 23:38:22
WinCVSのコミットログの改行コード、もしくは改行させる方法知ってる人いる?
コマンドでコミットしてるんだけどWinCVSからコミットログ見たとき一行表示になって見にくすぎるんだよね
因みに、\nや\rとかは駄目でした・・・
2007/03/29(木) 23:49:03
普通に改行されてるけどなぁ。改行文字の設定はどうなってる?
つーかぶっちゃけ、リポジトリを開いてみたら?
582デフォルトの名無しさん
垢版 |
2007/03/30(金) 01:05:14
すまん、書き方がわかりにくかったかもしれない
WinCVSのcvs.exeをシェルから直接たたいて

cvs commit -m "コメント\nです" file

みたいにしてるんだけど、\nや\rがただの文字として認識されるってこと
んで、WinCVSからコミットログを見たら

コメント\nです

って出てしまうのを、ちゃんと改行したいんだけど
シェルから直接コマンドをたたく場合の改行コードもしくは方法を知りたいわけ

リポジトリを直接操作するってのは危険なんであんまりやりたくないのが本音
2007/03/30(金) 03:01:33
いや流石にリポジトリを直接編集しろとは言わないが。
で、cygwinなら普通に
cvs commit -m "foo
bar"
って入力できるのだけど。
それができない環境ならcvs commitしてエディタで編集すればいいんでね?
#さもなきゃTortoiseCVSで後から編集するとか。
2007/03/31(土) 01:09:18
普通、コメントってコミットコマンドうってから編集しない?
Eclipseだと改行が楽にできるよ
文字のエンコーディングがおかしいけど
2007/03/31(土) 02:11:12
TortoiseCVSでコミットするとAuthorがWindowsのLogin名になってしまうので、
CygwinでcommitしてTortoiseCVSで編集するのが漏れの最近のパターン。
2007/03/31(土) 16:50:52
>>584
そんな普通きいたことねー
2007/03/31(土) 21:26:42
秋葉の方お疲れ様でした。

>>93 募集
588デフォルトの名無しさん
垢版 |
2007/04/04(水) 20:43:19
1つ教えて下さい。
CVSで自動ビルドしようと思っているのですが、上手くいきません。

自動ビルドは以下のように動くスクリプトを作りました。
 1.cvs checkout する
 2.ant でビルドする
 3.ビルドした実行ファイルを、ウェブ領域にコピーする(公開する)

コミットしたときにこのスクリプトを呼び出すように CVSROOT/loginfo などに設定したのですが、上手く動きません。

というのも(おそらく)コミットしている時に自動ビルドスクリプトが呼び出されてチェックアウトしようとするのですが、コミット中なのでロックがかかっていてチェックアウトが出来ないのです。結果いつまでもロックが解除されるのを待つだけになってしまいます。


みんなどうやって自動ビルドをやってるの????
毎晩4時に自動ビルドなの?
出来ればコミットごとにビルドしたいんだけどなぁ…。
2007/04/04(水) 21:14:42
コミットを検出してから適当な時間が経ってからビルドすればいいだけじゃないの?
2007/04/04(水) 22:08:02
>>588
うちは深夜に自動ビルドしてるよ。
コミットはいつでも自由に行って良いというポリシーな上に、
ビルドに加えて単体テストとカバレッジ測定、そのレポート生成までやってて
時間がかかる(30分程度)ので、
うちじゃコミットで自動ビルドは非現実的。

ところで、コミットで自動起動されたビルド中にコミットされたらどうするつもり?
2007/04/04(水) 22:34:57
>>588
うちはいまんとこ早朝と昼休みに自動ビルドしてる。

いまテキトーに考えると、最終コミットからn分経ったら自動ビルド
(や単体テスト・カバレッジ測定など)を起動するなら、
こんな手順でいいんじゃないかな。

1) loginfoでどっかにファイルを作る。例えば /var/ のどっかに。
2) cronで数分おきに1)で作ったファイルを調べて、
ファイルが存在していて、なおかつファイルの更新日時からn分経過していれば
2.1) 1)のファイルを消す。
2.2) CVSからexport・ビルドなどを実行する。
592デフォルトの名無しさん
垢版 |
2007/04/05(木) 00:04:22
>>588
サーバにチェックアウトしたものを置いといて
コミットのたびコミットされたファイルにアップデートかければいいんじゃないかな
毎回チェックアウトじゃ時間かかるでしょ

因みに、CVSはロックファイルを作りに行くからコミットされた時と同じプロセスでチェックアウトするとアウト
&とかつけて回避するしかないみたいよ
593588
垢版 |
2007/04/05(木) 03:00:43
いやいや、こんなに親切な回答が貰えるとは思ってませんでした。感謝感謝。

>>589
やっぱそれが一番なのかな…。

>>590
周りでもビルドはコストがかかるから、コミットごとのビルドはやめとけ
という意見が多かったですよ。でも私の場合は1人開発だし、コミット回
数も少ないから(まとめてコミットする癖がある)イケルかなぁと思った
んですが。

>ところで、コミットで自動起動されたビルド中にコミットされたらどうするつもり?

・・・どうしよう。(--;

>>591
ごっつあんです。まあそういうやり方になるんでしょうなあ。

>>592
いやまあチェックアウトかアップデートかと言われりゃその通りなんですが
質問の主旨はそこではないわけで。でも親切にご指摘ありがとやんす。

ロックされちゃう問題は、やっぱそういう回避方法しかないんですね。
それが分かっただけでも収穫です。


・・・・・・・・・まあ、cron で解決しますかね。
皆さん、ありがとうございましたー。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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